2010-04-19 6 views
4

J'aime l'idée de rendre la recherche disponible à plusieurs niveaux de détail, c'est-à-dire, abstrait pour les curieux, texte intégral pour plus intéressé, et enfin les données et le code pour ceux qui travaillent dans le même domaine/en essayant de reproduire vos résultats. Entre le texte actuel et le niveau de données/code, j'aimerais insérer une autre couche. A savoir, je voudrais créer une sorte d'annexe générée automatiquement qui contient la sortie de régression complète, les diagrammes de diagnostic, les profils de données de graphes exploratoires, etc., indépendamment de , que ces graphes/régressions etc. .Sweave/R - Génération automatique d'une annexe contenant tous les résumés/graphiques/profils de données d'une analyse

Une idée que j'avais été d'écrire un script qui examinerait le fichier .Rnw et automatiquement:

  • Profil tous les ensembles de données qui sont chargés (un peu comme le paquet Hmisc()?)
  • résumer toutes les régressions - c.-à-résumé exécuter (modèle) pour tous les modèles
  • présente toutes les parcelles (indépendamment du fait qu'ils ont fait dans la version finale)

l'idée est de faire ce genre d'un faible eff ort, sorte de bouton-poussoir de chose par opposition à un appendice formel écrit comme le reste d'un document. Ce que je cherche, c'est quelques idées sur la façon de le faire en R d'une manière relativement simple. Mon intuition est qu'il y a un moyen de passer en revue l'espace de noms, de trouver ce qu'il y a quelque chose et de le jeter dans un fichier PDF.

Pensées? Est-ce que quelque chose comme ça existe déjà?

Répondre

1

Nous avons fait une tentative à ce sujet avec notre récent article JASA: http://hdl.handle.net/1902.1/12174. Vous devriez être capable de "faire" le papier entier. Une chose à noter à propos de nos archives de reproduction: nous avons emballé des versions des paquets R que nous avons utilisés. Il s'est avéré que lorsque les gens améliorent leurs paquets, ils changent parfois de valeurs par défaut --- ce qui briserait notre build. Peut-être dans le futur on pourrait distribuer une machine virtuelle entière incluant le binaire R qui s'appellerait [rappeler comment round (x, digits =) a perdu ses arguments et est devenu positionnel de la version de R à la suivante - round (digits =, x) fournir des résultats absurdes sans avertissement?].

Quoi qu'il en soit, c'est notre première tentative pour un document aussi complexe. J'ai une version plus petite ici http://hdl.handle.net/1902.1/13376 qui n'utilise pas make.

1

John, cela semble intéressant, mais si vous fournissez les données et que l'article est formaté en sweave, ce long fichier journal ne serait-il pas redondant?

revenir à votre question, un paquet que vous voudrez peut-être examiner est zelig puisqu'il « automatise la création de fichiers de données de réplication afin que vous (ou, si vous le souhaitez, quelqu'un d'autre) peut reproduire les résultats de votre analyses (répondant ainsi à la norme de réplication) ". Ce n'est pas ce que vous cherchez, mais le concept de fichiers de données de réplication peut vous donner d'autres idées. Notez que plusieurs journaux utilisent maintenant des fichiers de données de réplication.

+0

Merci pour le pointeur sur Zelig - je ne l'avais pas vu auparavant. Je vais vous donner un exemple de ce que j'essaie de faire: Supposons que vous écrivez dans le texte quelque chose comme "une régression auxiliaire montre que l'absorption n'était pas corrélée avec le sexe" - supposons que ce soit tout ce qui compte et le coefficient n'est pas important - en fait, il peut s'agir d'une remarque entre parenthèses ou d'une note de bas de page.Mais j'ai effectivement exécuté m <-lm(I(y > 0) ~ genre, données = données) et je voudrais mettre cela dans le fichier web-appendix/type de journal pour les parties vraiment intéressées. Tu vois ce que je veux dire? –