maelstrom-research / Rmonize

3 stars 0 forks source link

dataset_visualize : same as old error when running a grouped by visual report on a pooled harmonized dataset #20

Closed SamEBT closed 8 months ago

SamEBT commented 8 months ago

J'obtiens cette erreur :

image

Avant de pouvoir faire le group_by je suis oblige de convertir ma variable de grouping en factor sinon ca ne roule pas (no big deal)

Le traceback : image

image

GuiFabre commented 8 months ago

Merci @SamEBT pour ton message.

En effet, by design (surtout pour des problemes de gestion de la mémoire lors du lancement de la fonction, group_by inplique necessairement le fait que la variable est catégorielle (dans maelstrom) ou factor (dans R). Si on y pense, c'est cohérent : s'il la variable n'est pas catégorielle, alors pourquoi l'utiliser comme variable groupante. si elle est numérique, par exemple, alors on préfèrera un scatter plot plutot qu'un faceting.

image

En ce qui concerne message d'erreur, il a été corrigé dans la version du CRAN de madshapR. assure toi d'avoir les versions de nos packages à jour

DATE Package version
2023-10-17 fabR 2.0.0
2023-10-17 madshapR 1.0.2
2023-10-17 Rmonize 1.0.0

A date, la variable groupante ne peut pas contenir de NA, ce qui sera corrigé dans une version future

SamEBT commented 8 months ago

Oui oui ca fait du sens pour le category ou factor c'etait pour preciser au cas ou ce soit relevant.

Par contre pour l'erreur j'ai double check, j'ai la bonne version 1.0.2 downloaded du CRAN et aucun NA dans la variable du group_by.

Jerome obtiens la meme chose egalement avec la derniere version.

GuiFabre commented 8 months ago

Ok, viens de comprendre. La raison pour laquelle ca ne fonctionne pas n'est pas vraiment liée au package, meme s'il y a matiere à amélioration.

Quand tu crée ton dataschema, la variable adm_study_id n'est pas catégorielle Quand tu procedes à l'harmonisation, le harmonized data dictionary (issu du dataschema). adm_study_id n'est donc pas catégorielle Quand tu crée le pooled harmonized dataset, tu appliques le pooled harmonized data dictionary (qui est issu du dataschema). adm_study_id n'est donc pas catégorielle non plus.

quand tu fais "as.factor" de la variable adm_study_id, tu erase son data dctionary (qui sont des attributes dans R) pour lui mettre comme attributes "levels". Cela crée donc pour cette variable spécifiquement des attributes qui ne sont pas ceux du dicitionnaire de données (issu du dataschema) donc ca crée un bug.

pour résoudre le bug : Il suffit simplement de déclarer tout au début adm_study_id comme étant catégorielle. Plus de bug 👍

Une amélioration de la fonction pourra se faire dans le futur

GuiFabre commented 8 months ago

hello @SamEBT, la fonction a été corrigée, peux tu la tester ? Merci !

SamEBT commented 8 months ago

Tested and working well 👍