Je viens de découvrir la comment
fonction dans R. Exemple:
x <- matrix(1:12, 3,4)
comment(x) <- c("This is my very important data from experiment #0234",
"Jun 5, 1998")
x
comment(x)
C'est la première fois que j'utilise cette fonction et je me demandais quelles en sont les utilisations courantes / utiles. Puisqu'il est assez difficile de rechercher "R comment" dans google et de trouver des résultats pertinents, j'espérais que quelqu'un ici pourrait partager son expérience.
Réponses:
Pour seconder @Gavin, Frank Harrell a mis au point des méthodes efficaces pour gérer data.frame annoté en R dans son package Hmisc . Par exemple, les fonctions
label()
etunits()
permettent d'ajouter des attributs dédiés aux objets R. Je les trouve très utiles pour produire un résumé de data.frame (avec, par exempledescribe()
).Un autre moyen utile d'utiliser un tel attribut supplémentaire consiste à appliquer un horodatage sur un jeu de données. J'ajoute également un attribut pour des éléments tels que la graine aléatoire, le numéro de pli (lorsque j'utilise la validation croisée k-kold ou LOO).
la source
Une chose que je me trouve souvent dans mes scripts R pour une tâche d'analyse de données particulière est d'inclure des commentaires dans le script concernant les unités de variables dans mes trames de données. Je travaille avec des données environnementales et les chimistes et les écologistes semblent aimer utiliser un large éventail d’unités différentes pour les mêmes choses (mg L vs mu eq L , etc.). Mes collègues stockent généralement ces informations dans la ligne située immédiatement en dessous des noms de colonnes dans les feuilles Excel.- 1 - 1
Je verrais
comment()
comme un bon moyen de joindre ces informations à un bloc de données pour référence future.la source
comment()
ne sont pas des commentaires dans le code. Il attache un attribut spécifique à l'objet qui peut être un vecteur, un élément par colonne du cadre de données contenant les informations sur les unités. Il est facile d'extraire cette information, donc je ne vois pas pourquoi mettre en œuvre quoi que ce soit serait difficile ou impossible?R
n’est certainement pas le bon endroit pour gérer des bases de données et exécuter des processus de ce type, même s’il est capable de le faire. Il est préférable de le compléter par un bon système de gestion de base de données pour ce type de travail.comment()
et autres sont pratiques pour les notes ad hoc et les informations, mais un système approprié est nécessaire pour le traitement des données à plus grande échelle. Il est intéressant de noter que nous devons maintenant régler ce problème au sein du groupe de recherche et du cabinet de conseil pour lesquels je travaille en ce qui concerne nos données sur la chimie et que nous devons les mettre dans une base de données appropriée.Des installations similaires existent dans d'autres packages, tels que la commande -notes- dans Stata . Nous l'utilisons pour documenter les détails complets d'une variable, par exemple les détails d'un test pour une mesure biochimique ou la formulation exacte de la question posée pour les données du questionnaire. C’est souvent trop d’informations pour le nom ou l’étiquette de la variable, l’une ou les deux étant affichées dans le résultat de chaque analyse impliquant la variable et il est donc préférable de la maintenir raisonnablement courte.
la source
L’une des choses que je me découvre souvent est le suivi des commandes utilisées pour générer des données et des objets, et j’ai trouvé que le commentaire était un outil utile à cet égard.
'Matched.call.data' et 'generate.command.string' font l'affaire. Pas parfait, mais utile et utile pour 'comment ()'. :)
la source
Permettez-moi de suggérer ma solution générale à la gestion des objets dans R: le
repo
package. En l'utilisant, vous pouvez affecter à chaque variable un nom long, une description, un ensemble de balises, une URL distante, des relations de dépendance et également attacher des figures ou des fichiers externes génériques. Par exemple, le code source peut être stocké en tant qu'élément de référentiel et attaché aux ressources qu'il produit. Recherchez la dernière version stable sur CRAN (install.packages("repo")
) ou les derniers développements sur github . Un aperçu rapide ici . J'espère que ça aide.la source