maelstrom-research / madshapR

2 stars 0 forks source link

dataset_summarize : Weird error when trying to run a summary on a classic dataset #40

Closed SamEBT closed 11 months ago

SamEBT commented 11 months ago

J'ai load un dataset (xlsx avec une seule tab) en utilisant soit read_xlsx ou read_excel_all_sheets

Dans l'environnement, le dataset apparait bien sans soucis mais quand j'essaie de faire un dataset_summarize (soit avec madshapR ou Rmoniz) j'obtiens ca:

summary_prosp <- madshapR::dataset_summarize(data) Error: This object is not a data dictionary as defined by Maelstrom standards, which must be a list containing at least 'Variables' list of elements. Please refer to documentation.

Quand je regarde la class du dataset importe j'ai :

class(data) [1] "tbl_df" "tbl" "data.frame"

Il semble que ce soit ce format qui bloque car si je fait un data.frame(data) et que je run le dataset_summarize dessus ca fonctionne.

GuiFabre commented 11 months ago

Merci Sam pour ton message Les fonctions xxx_summarize() requierent implicitement que les input (dataset et/ou data_dict) doivent avoir des noms de variables opal-compatibles (pas d'espace, pas de chiffre en premier). Donc ton dataset contient des espaces dans les noms de colonnes ce qui rend la fonction pas utilisable. un tibble peut avoir des espaces dans les colonnes, mais quand tu le transformes en data frame, mes espaces sont remplacés par des points, ce qui le rend opal-compatible.

Bref, j'ai enlevé cette restriction (en rajoutant dans la fonction as_data_dict_mlstr un parametre "names_standards" - TRUE - par défaut) ce qui permet de le controler dans ce cas de figure.

Cela devrait fonctionner 👍

SamEBT commented 11 months ago

Tested and working well