Je recherche des informations sur la façon dont les autres organisent leur code R et leur sortie.
Ma pratique actuelle consiste à écrire du code en blocs dans un fichier texte en tant que tel:
#=================================================
# 19 May 2011
date()
# Correlation analysis of variables in sed summary
load("/media/working/working_files/R_working/sed_OM_survey.RData")
# correlation between estimated surface and mean perc.OM in epi samples
cor.test(survey$mean.perc.OM[survey$Depth == "epi"],
survey$est.surf.OM[survey$Depth == "epi"]))
#==================================================
Je colle ensuite la sortie dans un autre fichier texte, généralement avec quelques annotations.
Les problèmes avec cette méthode sont:
- Le code et la sortie ne sont pas liés explicitement autrement que par date.
- Le code et la sortie sont organisés chronologiquement et peuvent donc être difficiles à rechercher.
J'ai envisagé de créer un document Sweave avec tout, car je pourrais alors faire une table des matières, mais cela semble être plus compliqué que les avantages qu'il offrirait.
Faites-moi savoir toutes les routines efficaces que vous avez pour organiser votre code R et votre sortie qui permettraient de rechercher et de modifier efficacement l'analyse.
r
project-management
DQdlM
la source
la source
sink()
oucapture.output()
peut-être vos amis. Les utilitaires de génération de rapports, comme Hmisc , Sweave ou brew, méritent d'être pris en compte (votre point 1). Les systèmes de versioning ( rcs , svn ou git ) pourraient aider avec le point 2.sink()
etcapture.output()
. C'est génial.Réponses:
Vous n'êtes pas la première personne à poser cette question.
la source
Pour ma part, j'organise tout en 4 fichiers pour chaque projet ou analyse. (1) «code» Où je stocke les fichiers texte des fonctions R. (2) 'sql' Où je conserve les requêtes utilisées pour collecter mes données. (3) 'dat' Où je conserve des copies (généralement csv) de mes données brutes et traitées. (4) 'rpt' Où je stocke les rapports que j'ai distribués.
TOUS mes fichiers sont nommés en utilisant des noms très verbeux tels que 'analysis_of_network_abc_for_research_on_modified_buffer_19May2011'
J'écris également une documentation détaillée à l'avance où j'organise l'hypothèse, les hypothèses, les critères d'inclusion et d'exclusion, et les étapes que j'ai l'intention de prendre pour atteindre mon livrable. Tout cela est inestimable pour une recherche répétable et facilite mon processus de définition d'objectifs annuels.
la source
Maintenant que je suis passé à Sweave, je ne veux plus y retourner. Surtout si vous avez des tracés en sortie, il est tellement plus facile de garder une trace du code utilisé pour créer chaque tracé. Cela rend également beaucoup plus facile de corriger une petite chose au début et de la faire onduler dans la sortie sans avoir à relancer quoi que ce soit manuellement.
la source
.RData
fichier, pour entrée par le document Sweave. Cependant, il existe également plusieurs excellentes options pour "mettre en cache" les résultats d'un bloc de code afin qu'il ne soit pas réexécuté.Pour structurer des fichiers de code .R uniques, vous pouvez également utiliser strcode , un complément RStudio que j'ai créé pour insérer des séparateurs de code (avec des titres facultatifs) et en fonction de ceux-ci - obtenir des résumés des fichiers de code. J'explique son utilisation plus en détail dans cet article de blog .
la source