12 conseils pour organiser efficacement vos données dans un tableur
En tant qu’ ingénieur en biostatistique, mon métier consiste à analyser les données des autres. Ces autres, qui sont des collègues, me transmettent leurs données sous la forme d’un tableur (Excel dans 99% des cas).
Mais lorsque je les reçois, je m’arrache régulièrement les cheveux. Heureusement, la nature m’a pas bien fournie, sans ça je serai chauve depuis longtemps ! Car même si j’explique au préalable la forme que doivent prendre les données pour pouvoir être importées et analysées facilement avec le logiciel R, mes collègues trouvent la faille ! Ils sont super créatifs pour faire le truc que je n’ai pas pensé de leur préciser, parce que cela est évident pour moi, mais absolument pas pour eux, et qui rend l’importation ou l’analyse juste infernale. J’en suis presque à penser qu’il existe un petit être maléfique qui leur glisse à l’oreille quoi faire pour bien me compliquer la tâche !
Alors cette semaine, quand j’ai lu l’article publié par Karl Broman et Kara Woo, dans lequel les auteurs donnent des recommandations sur comment bien organiser des données dans un tableur, j’y ai vu mon salut ! Cet article est vraiment très intéressant, et je vous recommande très très vivement d’aller le lire, notamment pour prendre connaissance des exemples. En attendant, je vous en propose un résumé de leurs recommandations, agrémentées de mes propres conseils.
Premier conseil : Organisez vos données sous un format « tidy »
J’en ai déjà parlé dans plusieurs articles (ici et là) vos données doivent être organisées sous un format dit tidy.
Cela consiste à arranger vos données sous la forme d’un rectangle avec :
- les sujets ou unités expérimentales en ligne
- les variables en colonne
- les valeurs observées à l’intersection des lignes et des colonnes.
d’après (http://r4ds.had.co.nz/)
Vos données ne doivent être sous la forme que d’un seul rectangle. Si vous avez plusieurs temps d’observation par exemple, ne faites pas un tableau de données par temps. Ajoutez une variable « temps », et mettez vos lignes de données les une sous les autres.
Si vos données ne peuvent pas être contenues dans un seul rectangle, et bien faites plusieurs feuilles de calculs ou même plusieurs fichiers mais avec une seul tableau par feuille de calcul, ou par fichier Excel.
Ne mettez jamais deux tableaux de données sur une même feuille.
2ème conseil : Nommez correctement vos variables, feuilles de calcul et fichiers
Voici quelques règles à suivre :
- Utiliser des noms courts mais qui gardent du sens
- N’utilisez pas d’espace, si besoin utilisez un tiret (haut ou bas, mais toujours le même)
- N’employez pas de caractères spéciaux, et autres symboles ( $ , @, %,#, &, *, (, ), !, /, etc.)
- Gardez une cohérence à travers les variables, les feuilles et les fichiers. Par exemple si vos variables sont des biomarqueurs localisés dans la tête, et l’abdomen, vous pouvez utiliser : cat_tete, cat_abdomen, sod_tete, sod_abdomen etc… Si vous avez plusieurs fichiers, vous pouvez les nommer « tete_3j » « tete_5j », mais pas « tete_3j » et « tete_5jours ».
3ème conseil : Garder une cohérence dans les modalités des variables qualitatives
Ne codez pas les variables qualitatives avec des nombres, utilisez des caractères et utilisez toujours strictement le même code. Par exemple, pour coder les sexe utilisez « M », et pas une fois « M », une fois « Male », et une autre fois « male ».
4ème conseil : Ne laissez pas de cellules vides et codez les données manquantes de manière unique
Votre tableau de données ne doit pas comporter de cellules vides. Si une mesure n’a pas pu être réalisée, ou est manquante, il faut matérialiser cette absence par un code unique ; le meilleur choix est NA. Surtout n’utilisez pas un code numérique du genre « 999 ».
5ème conseil : Utilisez un format texte pour les dates et la forme YYYY-MM-DD
La gestion du format « date » sous Excel est problématique, vos données peuvent subir des modifications. Pour plus de détails, consultez l’article de Broman et Woo(http://www.tandfonline.com/doi/full/10.1080/00031305.2017.1375989).Pour éviter ce problème, l es dates doivent être entrées sous la forme YYYY-MM-DD (par exemple 2017-12-17), en format texte.
Pour forcer le format texte, il faut :
- sélectionner une colonne
- dans la barre de menu, sélectionnez Format, puis Cellule
- Choisir « Texte »
Vous pouvez aussi forcer Excel à utiliser un format texte en ajoutant une apostrophe, comme ça ‘ 2017-12-17.
L’apostrophe disparaîtra au moment du passage sous R.
Une autre alternative consiste à utilisez 3 colonnes : une pour l’année, l’autre pour le mois, et la troisième pour le jour.
6ème conseil : Ne donnez qu’une seule information par cellule
Par exemple, si vous avez mesuré des concentrations, n’entrez pas 45mol/l, mais uniquement 45.
L’unité peut être contenue dans une autre variable (donc une autre colonne), nommée « unité » par exemple.Ou encore être uniquement précisée dans le code book (voir la 8ème recommandation) .
De même, si vos données comportent des données inférieures au seuil de détection, indiquez le seuil de détection dans une cellule et créez une seconde variable « Statut » par exemple, avec les modalités « obs » (pour les données observées) et « inf_SD » (pour les données inférieures au seuil de détection).
7ème conseil : N’utilisez jamais deux lignes pour nommer vos variables
Une chose que je vois fréquemment c’est le nom de la variable dans une première ligne et son unité dans la seconde. Créez plutôt une variable unité, ou indiquez la dans le code book. Cela facilitera la gestion des données sous le logiciel R.
8ème conseil : Réalisez un code book
Il s’agit simplement d’un tableau dans lequel vous allez donner des informations sur vos variables.
Chaque ligne correspond à une colonne de votre jeu de données, autrement dit à une variable.
Et dans les colonnes du code book vous pouvez indiquer :
- le nom de la variable dans le jeu de données
- le nom de la variable dans les représentations graphiques
- l’unité
- une explication
- les valeurs min et max
Avec ces informations, vous allez faire gagner un temps précieux à la personne qui va analyser vos données, y compris vous même si c’est vous qui le faite.
Ces données ont été complètement inventées.
9ème conseil : Utilisez l’outil de validation Excel
L’outil de validation des données d’Excel permet de limiter le type de données ou les valeurs qui peuvent être entrés dans une cellule.
Je ne connaissais pas cet outil, je ne l’ai jamais utilisé (ce n’est quasiment jamais moi qui rentre les données dans un tableur), mais je trouve que c’est une très bonne idée. Il s’agit de spécifier à l’avance les modalités et / ou l’étendue des valeurs possibles. De cette façon, il n’est plus possible d’utiliser une fois « Male », et une autre fois « M » par exemple. Utiliser cet outil permet également de ne pas entrer une valeur totalement aberrante (en oubliant un 0, ou en mettant un 0 de trop par exemple).
Pour l’utiliser il faut :
- sélectionner une colonne,
- dans la barre de menu, choisir « Données », puis « Validation des données »
- choisir un critère d’évaluation approprié, par exemple :
– Nombre entier
– Décimal
– Liste etc…
L’outil est facile à utiliser.
10ème conseil : N’utilisez pas les options de surlignement ou de couleurs pour coder une variable
Par exemple, dans le cas d’un jeu de de données contenant des valeurs inférieures au seuil de détection, certains pourraient avoir l’idée de spécifier le statut de la données « < au seuil de détection » » en surlignant la cellule.
Esthétiquement c’est sûre c’est très chouette, mais cette information va se perdre au moment de l’importation dans le logiciel R. La solution est toujours la même, ajouter une variable « statut » qui peut prendre les modalités « obs » et « inf_SD » par exemple.
11ème conseil : Ne faites pas de calculs dans vos fichiers de données
Une fois les données mises en forme, je sais qu’il est tentant de faire des premiers calculs, comme des moyennes par exemple, pour voir s’il existe des tendances.
C’est une mauvaise idée de le faire car plus vous touchez à vos données plus vous augmentez le risque de faire une erreur et de les modifier par maladresse.
Une fois vos données entrées dans un tableur, la bonne démarche consiste à :
- les figer, c’est à dire protéger votre fichier contre une écriture accidentelle
- faire une ou plusieurs sauvegardes (sur des supports différents ), sans jamais utiliser le terme « final » dans le nom que vous donnerez au fichier
- faire une copie des données et réaliser les calculs et les graphs sur cette copie.
Pour figer les données sous windows, faites un click droit sur le fichier (dans une fenêtre Windows Explorer), puis sélectionnez « Propriétés », dans la section « Attributs »
12ème conseil : Sauvegardez vos données au format csv
En plus de la sauvegarde sous le format de votre tableur préféré (Excel, Google sheets, Open office, etc..), faites une sauvegarde dans un format csv. Il s’agit d’un format texte dans lequel chaque ligne correspond à une ligne du tableau, et dans lequel les valeurs sont séparées par un point virgule, une virgule ou une tabulation.
L’avantage de ce format est qu’il ne dépend pas d’un logiciel, il peut être lu par n’importe lequel. Lorsqu’on ouvre un fichier csv sous Excel, les variables sont contenues dans des colonnes différentes, il a le même aspect qu’un format xlsx ou xls, aux couleurs et bordures près.
Pour faire une sauvegarde en csv depuis Excel :
- Aller dans le menu « Fichier »
- Choisissez « Enregistrez sous”
- Choisissez l’emplacement
- Puis dans l’onglet « Type », choisissez CSV (spérateur: point virgule) (*csv)
Conclusion
J’espère que cet article vous aidera à bien organiser vos données dans un tableur, afin de faciliter leur importation et leur manipulation dans le logiciel R. De mon côté, je vais transmettre cette liste à mes collègues, et je pense que cela va améliorer ma santé capillaire!
Si vous avez d’autres astuces qui vous semble particulièrement judicieuses, n’hésitez pas à m’en faire part dans un commentaire.
Si cet article vous a plu, ou vous a été utile, et si vous le souhaitez, vous pouvez soutenir ce blog en faisant un don sur sa page Tipeee 🙏
👉 Cliquez ici pour soutenir le blog Statistiques et Logiciel R
Merci pour ce billet très intéressant! Je dois faire une présentation à des étudiants sur le sujet, et je cherchais des conseils pratiques, ça me sera bien utile 😉
Concernant le 11ème conseil (Ne faites pas de calculs dans vos fichiers de données), je pensais leur conseiller d’utiliser les fonctions de statistique descriptive d’Excel, dans un onglet à part, non pour faire une analyse statistique a proprement parler, mais juste pour avoir une idée générale des données, et pouvoir éventuellement repérer très vite une erreur de saisie. Vous pensez que c’est une mauvaise idée?
Bonjour Mathieu,
je pense que le mieux est de faire une copie des données dans un autre fichier Excel, et de faire les calculs et les graphs sur cette copie.
Bonjour Madame, je tiens à vous remecier pour tous ceux que vous faite pour la communauté data scientist dans sa recherche.
Vraiment merci beaucoup.
Cordialement.
Bonjour,
Merci pour ces conseils.
Comme vous l’indiquez, le mieux est construire son jeu de données avant qu’il soit rempli et transmit pour analyse…
Néanmoins, certaines situations peuvent imposer un jeu de données dejà construit: l’utilisation d’un logiciel permettant des mesures expérimentales dont celles ci seraient fournies via la transmissions de fichiers log.
Il est dans ce cas inintéressant voire indispensable de réorganiser le fichier…par exemple en cas de non suivi du 1er conseil!
Les manipulations dans excel ou autre tableur sont possibles mais le traçage de ces manip est difficile et il est parfois complexe de pouvoir justifier/vérifier les manipulations effectuées sous le tableur…
Avez vous des conseils / liens pour manipuler les données dans R? (Rstudio).?
Cordialement,
Bonjour Gaetan,
je n’ai pas d’article spécifique sur ces manipulations, les conseils sont dispersés un peu partout…
En tout cas, c’est un bon sujet pour un prochain billet. Merci pour la suggestion.
Bonjour
merci beaucoup pour vos conseils très didactiques
je recherche comment supprimer des colonnes qui n’auraient que des NA
je n’arrive pas à trouver la solution, pourriez vous m’aider?
merci d’avance!
Bonsoir Gaelle,
je ne sais pas si je réponds complètement à la question, mais vous pouvez supprimer une colonne comme cela :
mydata$var <- NULLBonne continuation.
Bonjour,
je vous remercie pour votre générosité concernant vos conseils fort utiles.
J’ai des colonnes comportant des données inférieures un seuil de détection. Seulement, ces données se trouvent sur plusieurs colonnes de variables différentes. Comment faire pour créer la seconde variable “Statut” , avec les modalités “obs” (pour les données observées) et “inf_SD” (pour les données inférieures au seuil de détection) quand la notion « inférieur au seuil » s’affichent sur plusieurs colonnes? Et comment ca va être géré, une fois importées sur R?
Un grand merci d’avance.
Bonjour,
Il faut créer une variable statut pour chaque variable qui contient des valeur < seuil de détection. Bonne continuation