8.2 Données
Nous avons à plusieurs reprises déjà abordé les points importants à prendre en compte pour représenter ses données sous un format informatique exploitable ensuite. Avant d’aller plus loin, relisez attentivement les sections suivantes :
Ajout de métadonnées avec utilisation d’un dictionnaire des données
Il est de plus très intéressant de pouvoir rendre les données de sa recherche accessible en respectant les normes et les règles de l’Open Data.
Comme vous le voyez, toutes les grandes règles ont déjà été abordées dans le cadre des cours de sciences de données. La documentation précise et riche des données est une étape longue et fastidieuse. En pratique, elle est très souvent bâclée… et c’est dommage car c’est leur réutilisabilité est est impactée au final.
En résumé, des données sans documentation sont des données inutilisables. Elles seront perdues avec le temps. Vous aurez donc perdu votre temps. Votre objectif sera de permettre à une personne externe de comprendre vos données, et si possible, de pouvoir les réutiliser dans son propre contexte (en respect des droits de la licence que vous leurs associerez, bien entendu).
Ne perdez jamais de vue l’importance de données qualitatives. Cette importance est à placer au même niveau qu’une bonne publication scientifique. Malheureusement, l’évaluation du curriculum d’un scientifique ne mets pas encore assez l’accent sur les données, et c’est dommage, car cela n’insite pas à les rendre réutilisables. Mais la mouvance de science ouverte, et dans son sillage, de données ouvertes (Open Data) est en train de recentrer l’intérêt sur les jeux de données qualitatifs. A noter d’ailleurs que la même remarque peut être faite pour les logiciels et codes informatiques qualitatifs qui mériteraient aussi d’être mieux valorisés dans une carrière scientifique.8.2.1 Données brutes
Lorsque qu’une expérience est réalisée, les données collectées sont les données brutes. Ces données vont devoir être retravaillées afin d’être exploitable dans les carnets de notes et les documents de synthèse par la suite. Voici une liste d’étapes à réaliser pour passer des données brutes aux données remaniées :
- Importation des données brutes
- Validation des données brutes
- vérification des types de variables (caractère, facteur, numérique, date, …)
- vérification des valeurs obtenues
- encodage des valeurs manquantes
- Calcul de nouvelles variables dérivées
- Élimination des variables et/ou individus inutiles pour le projet, le cas échéant
- Changement du noms des variables (si cela est nécessaire)
- Ajout des labels et unités à chaque variable du jeu de données
- Sauvegarde des données remaniées (voir section suivante)
Ce travail doit être réalisé de manière reproductible et doit être correctement documenté de manière concise (explication de la raison d’être de chaque étape). Deux possibilités s’offrent à vous :
Utiliser un script R. C’est l’approche conseillée car ce type de document se concentre sur le code et les commentaires sont plus accessoires, ce qui est le cas ici. De plus, dans RStudio, l’éditeur offre plus d’outils pour exécuter et déboger du code R dans un script que dans un document R Markdown.
Utiliser un notebook. Cette option est surtout intéressante si le remaniement des données n’est pas évident et nécessite de longues explications textuelles ou la présentations de graphiques qui montrent pourquoi les données sont remaniées de cette façon. Dans ce cas, la partie Markdown du document, et sa compilation en page HTML, fourniront une présentation plus adéquate.
8.2.2 Données retravaillées
Vous partirez systématiquement des données retravaillées pour tous vos carnets de notes et documents de synthèse. Ces données retravaillées seront stockées dans le sous-dossier data
de votre projet dans le format le plus pratique et compact possible. Si les analyses sont réalisées dans R uniquement, le format de données natif .rds
est idéal car il préserve tous les attributs des objets R et il permet aussi de stocker des objets spécifiques, comme des tables de contingence ou des séries spatio-temporelles par exemple. De plus, vous pouvez compresser les données afin qu’elles occupent le moins de place possible dans le fichier (rappelez-vous que Git et GitHub n’aiment pas les fichiers volumineux !) Enfin, la vitesse d’importation de ces données est relativement bonne, généralement.
Si les données doivent être exploitée à l’aide d’autres logiciels que R, choisissez alors un format plus universel. Le format CSV que vous avez déjà beaucoup utilisé est l’un des plus utilisés et il est reconnu par tous les logiciels. Le format Excel est fréquemment utilisé. C’est une option, mais préférez CSV. Des formats spécifiques, par exemple pour les données spatiales, existent et peuvent aussi être utilisés. Pour les données semi-structurées (donc, pas des tableaux rectangulaires), le XML et le format JSON sont aujourd’hui universellement compris. Enfin, des projets voient le jour pour proposer des formats de données réutilisables comme netCDF plus ancien, ou encore le nouveau format feather poussé par le projet Apache Arrow qui est très prometteur.
Si vous devez plus tard récupérer systématiquement des sous-ensembles de vos données, un format qui vous permet de récupérer ces sous-tableaux sans devoir passer par l’ouverture du tableau complet est appréciable. Dans ce cas, vous pourrez stocker vos données dans une base de données. En particulier, SQLite est un moteur de base de données permettant de faire des requêtes pour récupérer des sous-tableaux et qui encapsule toute la base de données dans un fichier unique. Cela peut être une solution intéressante.
Lors du choix du format de stockage de vos données retravaillées, vous devez sélectionner le format qui convient le mieux à vos données (taille du fichier de stockage, vitesse d’importation, interopérabilité et requêtes sous-tableaux possibles ou non). Préférez les formats les plus universels aux formats spécifiques. Gardez toujours à l’esprit que des logiciels de niche avec des formats propriétaires peuvent être problématiques dans quelques années s’ils ne fonctionnement plus sur des systèmes informatiques plus récents. Par contre, R, Python, ou Java, par exemple, sont des langages qui ont toutes les chances de perdurer et sont donc sains comme choix.
Pour les données brutes, la question d’interopérabilité est encore plus cruciale si vous voulez ouvrir vos données au maximum. Actuellement, le CSV est le format le plus universel, et donc, le plus sûr pour assurer une réutilisabilité maximale de vos données brutes.