Je souligne toutes les réponses déjà données, mais appelons un chat un chat: dans de nombreux espaces de travail, il est presque impossible de convaincre la direction de la nécessité d'investir dans des outils logiciels "exotiques" (exotiques, c'est-à-dire), sans parler du fait que quelqu'un pourrait et le maintenir. J'ai déjà fait savoir à un certain nombre de clients que l'embauche d'un statisticien avec des connaissances approfondies en matière de logiciels et de bases de données leur serait très bénéfique, mais la réponse générale est "impossible."
Donc, tant que cela ne se produira pas, vous pouvez faire certaines choses simples avec Excel pour vous simplifier la vie. Et le premier de ceci est sans aucun doute le contrôle de version. Plus d'informations sur le contrôle de version avec Excel peuvent être trouvées ici .
Quelques aspects de l'utilisation d'Excel
Les personnes utilisant EXCEL aiment très souvent les fonctionnalités de la formule d’EXCEL. C’est pourtant la source la plus importante d’erreurs dans les feuilles EXCEL et de problèmes lorsqu’on essaie de lire des fichiers EXCEL dans la mesure de mon expérience. Je refuse de travailler avec des feuilles contenant des formules.
Je force également toutes les personnes avec qui je travaille à fournir les feuilles EXCEL dans un format simple, ce qui signifie que:
- La première ligne contient les noms des différentes variables
- La feuille de calcul commence dans la cellule A1
- Toutes les données sont placées dans des colonnes, sans interruption et sans formatage.
- Si possible, les données sont également enregistrées au format .csv. Il n'est pas difficile d'écrire un script VBA permettant d'extraire les données, de les reformater et de les placer dans un fichier .csv. Cela permet également un meilleur contrôle des versions, car vous pouvez effectuer un vidage .csv des données tous les jours.
Si les données ont toujours une structure générale, il peut être judicieux de développer un modèle avec des macros VB sous-jacentes pour ajouter des données et générer l'ensemble de données à analyser. En général, cela évitera à chaque employé de créer son propre système de stockage de données "génial", et cela vous permettra d'écrire votre code en fonction de cela.
Cela dit, si vous pouvez convaincre tout le monde d’utiliser SQL (et une interface pour la saisie de données), vous pouvez lier directement R à celui-là. Cela augmentera considérablement les performances.
Structure et gestion des données
En règle générale, les données stockées dans les bases de données (ou les feuilles EXCEL si elles le souhaitent) doivent constituer le minimum absolu, ce qui signifie que toute variable pouvant être calculée à partir de certaines autres variables ne doit pas être contenue dans la base de données. Cependant, il peut parfois être avantageux de stocker ces variables dérivées ou transformées également, si les calculs sont fastidieux et prennent beaucoup de temps. Mais ceux-ci doivent être stockés dans une base de données séparée, éventuellement liée à la base d'origine.
Il faut également réfléchir à ce qui est considéré comme un cas (et donc une rangée). Par exemple, les gens ont tendance à produire des séries chronologiques en créant une nouvelle variable pour chaque point temporel. Bien que cela ait du sens dans EXCEL, la lecture de ces données demande un certain retournement de la matrice de données. Idem pour les groupes de comparaison: il devrait y avoir un indicateur de groupe et une variable de réponse, et non une variable de réponse pour chaque groupe. De cette façon, les structures de données peuvent également être normalisées.
Une dernière chose que je rencontre fréquemment est l’utilisation de différentes mesures. Les longueurs sont données en mètres ou en centimètres, les températures en Celsius, en Kelvin ou en Farenheit, ... Vous devez indiquer dans toute extrémité avant ou dans tout modèle l’unité dans laquelle la variable est mesurée.
Et même après toutes ces choses, vous souhaitez toujours une étape de contrôle des données avant de commencer réellement l'analyse. Là encore, il peut s’agir de tout script exécuté quotidiennement (par exemple toute la nuit) sur de nouvelles entrées et signalant immédiatement les problèmes (hors de portée, de type incorrect, de champs manquants, ...) afin qu’ils puissent être corrigés le plus rapidement possible. Si vous devez revenir à une entrée qui a été faite il y a 2 mois pour découvrir ce qui ne va pas et pourquoi, vous feriez mieux de disposer de bonnes "compétences Sherlock" pour la corriger.
mes 2 cents