Vollständige inhaltliche Beispiele reproduzierbarer Forschung mit R

71

Die Frage: Gibt es gute Beispiele für reproduzierbare Forschung mit R, die online frei verfügbar sind?

Ideales Beispiel: Im Einzelnen würden ideale Beispiele Folgendes bereitstellen:

  • Die Rohdaten (und idealerweise Metadaten, die die Daten erklären),
  • Alle R-Codes, einschließlich Datenimport, -verarbeitung, -analysen und -ausgabe,
  • Sweave oder ein anderer Ansatz zum Verknüpfen der endgültigen Ausgabe mit dem endgültigen Dokument,
  • Alles in einem Format, das einfach heruntergeladen und auf dem Computer eines Lesers kompiliert werden kann.

Im Idealfall handelt es sich bei dem Beispiel um einen Zeitschriftenartikel oder eine Abschlussarbeit, bei der der Schwerpunkt auf einem tatsächlich angewandten Thema liegt und nicht auf einem statistischen Lehrbeispiel.

Gründe für das Interesse: Ich interessiere mich besonders für angewandte Themen in Zeitschriftenartikeln und Abschlussarbeiten, da in diesen Situationen mehrere zusätzliche Probleme auftreten:

  • Es treten Probleme im Zusammenhang mit der Datenbereinigung und -verarbeitung auf.
  • Es treten Probleme im Zusammenhang mit der Verwaltung von Metadaten auf.
  • Zeitschriften und Dissertationen haben oft Stilvorgaben in Bezug auf das Erscheinungsbild und die Formatierung von Tabellen und Abbildungen.
  • Viele Zeitschriften und Dissertationen enthalten häufig eine Vielzahl von Analysen, die Fragen zum Workflow (dh zur Reihenfolge der Analysen) und zur Verarbeitungszeit (z. B. Fragen zu Caching-Analysen usw.) aufwerfen.

Das Anschauen vollständiger Arbeitsbeispiele könnte für Forscher, die mit reproduzierbarer Forschung beginnen, ein gutes Lehrmaterial darstellen.

Jeromy Anglim
quelle

Antworten:

14

Frank Harrell hat seit vielen, vielen Jahren die Trommel für reproduzierbare Nachforschungen und Berichte geschlagen. Sie können auf dieser Wiki-Seite beginnen, die viele andere Ressourcen auflistet, einschließlich veröffentlichter Forschungsergebnisse und auch die Seite von Charles Geyer.

Dirk Eddelbüttel
quelle
11

Die Zeitschrift Biostatistics hat einen Associate Editor für Reproduzierbarkeit, und alle Artikel sind gekennzeichnet mit:

Reproduzierbare Forschung

Unsere reproduzierbare Forschungsrichtlinie sieht vor, dass Artikel in der Zeitschrift mit dem Drachen D gekennzeichnet werden, wenn die Daten, auf denen sie basieren, frei verfügbar sind, C, wenn der Autorencode frei verfügbar ist, und R, wenn sowohl Daten als auch Code verfügbar sind, und unsere Der Associate Editor for Reproducibility kann diese verwenden, um die Ergebnisse auf dem Papier zu reproduzieren. Daten und Code werden elektronisch auf der Website der Zeitschrift als ergänzendes Material veröffentlicht.

http://biostatistics.oxfordjournals.org/

Wie gut ist das für eine Idee?

http://biostatistics.oxfordjournals.org/content/12/1/18.abstract enthält ein R-Paket in den Ergänzungen, das die Analyse durchführt - habe es selbst noch nicht ausprobiert. Kann auch nicht herausfinden, wo die Offenheitsbewertung angegeben ist. Ich schicke eine E-Mail an den Associate Editor mit einigen Fragen ...

[bearbeiten]

Roger Peng, der Associate Editor, sagt mir, dass es wahrscheinlich keine Möglichkeit gibt, die reproduzierbaren Papiere zu finden, ohne das PDF zu erhalten. Er wies mich auf dieses mit einem schönen großen R (was nicht bedeutet, dass es wie Filme mit R bewertet ist) zur Reproduzierbarkeit hin:

http://biostatistics.oxfordjournals.org/content/10/3/409.abstract

Natürlich ist das Tagebuch selbst nicht kostenlos ... #fail

Barry

Raumfahrer
quelle
1
Es ist großartig zu sehen, dass in einem Journal die Reproduzierbarkeit Priorität hat. Haben Sie gute Beispiele für Artikel gesehen, die mit R gekennzeichnet sind?
Jeromy Anglim
1
Sie priorisieren es nicht für die Veröffentlichung, ich denke, sie wollen es nur hervorheben. Ich werde meine Antwort mit einem Beispiel bearbeiten.
Spacedman
10

Irreproduzierbarkeit von NCI60-Prädiktoren der Chemotherapie

Dies ist eine reproduzierbare Analyse, die die mangelnde Reproduzierbarkeit eines in den Nachrichten enthaltenen Papiers zeigt. Eine klinische Studie, die auf den falschen Schlussfolgerungen des irreproduzierbaren Papiers beruhte, wurde ausgesetzt, wieder eingesetzt, wieder ausgesetzt, ... Dies ist ein gutes Beispiel für reproduzierbare Analysen in den Nachrichten.

John D. Cook
quelle
10

Ich habe einige solcher Beispiele auf meiner Forschungspapierseite . (Ich darf nicht mehr als einen Hyperlink als neues Mitglied posten. Daher beschreibe ich nur die Artikel auf dieser Site.)

(1) "Manifestieren von Effekten in randomisierten Experimenten" verwendet das Vignettensystem von R.

(2) "Zuweisen von Effekten zu einer Cluster-Randomized-Get-Out-The-Vote-Kampagne" war ein komplexeres Papier, das einige zeitaufwendige Simulationen umfasste. Wir haben ein Makefile-basiertes System verwendet und es auf der Dataverse veröffentlicht

(3) "EDA for HLM" war mein frühester Versuch. Hier habe ich nur die Daten und die zugehörigen Sweave-Dateien in einen Tarball gestellt.

Ein Problem, das wir beim Erstellen unseres JASA-Archivs festgestellt haben, war, dass sich Versionen und Standardeinstellungen von CRAN-Paketen geändert haben. In diesem Archiv sind also auch die Versionen der von uns verwendeten Pakete enthalten. Das vignettenbasierte System wird wahrscheinlich kaputt gehen, wenn Leute ihre Pakete ändern (nicht sicher, wie sie zusätzliche Pakete in das Paket aufnehmen sollen, das das Kompendium ist).

Schließlich frage ich mich, was ich tun soll, wenn sich R selbst ändert. Gibt es Möglichkeiten, beispielsweise eine virtuelle Maschine zu erstellen, die die gesamte für ein Papier verwendete Computerumgebung so reproduziert, dass die virtuelle Maschine nicht sehr groß ist?

Wie auch immer, ich hoffe, dass diese Beispiele helfen. Zumindest zeigen sie einige meiner eigenen Experimente auf diesem Gebiet.

(Hier sind einige Hyperlinks im Klartext.)

  [2]: http://jakebowers.org/manifesteffects-compendium-howto.txt
  [3] http://hdl.handle.net/1902.1/12174
  [4] http://hdl.handle.net/1902.1/13376
Jake
quelle
Sie werfen einige interessante Fragen auf. Ich habe eine separate Frage gestellt, in der Sie genannt werden: stats.stackexchange.com/questions/4466/…
Jeromy Anglim
9

Koenker und Zeileis stellen eine Webseite mit einem relativ vollständigen Beispiel zur Verfügung. Sie teilen:

  • Rnw (Sweave-Code)
  • R Analysecode
  • Endgültiges PDF
  • Diskussion von Versionskontrollproblemen
Jeromy Anglim
quelle
8

Wir haben einen Artikel verfasst, in dem erklärt wird, wie R / Bioconductor bei der Analyse von Microarray-Daten verwendet wird. Das Papier wurde in Sweave geschrieben und der gesamte Code, der zur Erstellung der Grafiken verwendet wurde, ist als zusätzliches Material enthalten.

Gillespie, CS, Lei, G., Jungen, RJ, Greenall, AJ, Wilkinson, DJ 2010. Analyzing Hefe Zeitdaten Kurs Microarray mit BioConductor: eine Fallstudie mit yeast2 Affymetrix - Arrays BMC Research Notes, 3:81.

csgillespie
quelle
7

Charles Geyers Seite über Sweave enthält ein Beispiel aus einer Arbeit, die einige Ihrer Anforderungen erfüllt (die Rohdaten stammen einfach aus einem R-Paket, aber der R / sweave-Code und das endgültige PDF sind verfügbar):

Ein Artikel über die Theorie in Yun Ju Sungs These, Monte Carlo Likelihood Inference für fehlende Datenmodelle (Preprint), enthielt Rechenbeispiele. Jede Nummer auf dem Papier und jede Handlung wurde aus einem in Sweave erstellten "Zusatzmaterial" -Dokument entnommen (ich muss zugeben, durch Ausschneiden und Einfügen).

(Die Quelldatei ist im Abschnitt "Ergänzende Materialien für ein Papier" verlinkt.)

Ich weiß, dass ich auf mindestens ein R-Beispiel gestoßen bin, das die Seite mit dem ReproducibleResearch.net-Material durchsucht hat , habe es aber leider nicht mit einem Lesezeichen versehen.

ars
quelle
5

Simon Jackman hat ein besonders nützliches Beispiel für die Analyse der Ergebnisse einer Umfrage: "Amerikaner und Australier 10 Jahre nach dem 11. September". Es gibt mehrere Beispiele für die Integration von Tabellen und Abbildungen.

Er hat das Sweave-Dokument und den PDF-Bericht über diesen Blogbeitrag erstellt .

Die Rohdaten werden zwar nicht bereitgestellt (soweit ich das beurteilen kann), so dass es nicht möglich ist, die tatsächlichen Sweave-Beispiele auszuführen. Ich denke, man kann einiges aus dem Studium des Sweave-Codes lernen.

Jeromy Anglim
quelle
5

Neil Saunders analysierte Online-Interaktionen im Zusammenhang mit einer Konferenz. Einige Eigenschaften, die es zu einem nützlichen Sweave-Beispiel machen, sind:

  • Rnw-Datei wird bereitgestellt
  • Diagramme werden mit erzeugt ggplot
  • Gute Größe und leicht verständliche Domain

Die Materialien sind hier erhältlich:

Jeromy Anglim
quelle
4

Siehe auch Journal of Statistical Software ; Sie ermutigen dazu, in Sweave Papier zu machen.

user88
quelle
Nein, nicht offiziell - LaTeX-Einsendungen sind empfehlenswert, aber wenn Sie sich die Anweisungsseite ansehen , enthält sie nicht das Wort Sweave. Autoren verwenden es und / oder versenden den R-Code mit dem Papier, aber für mich spiegelt dies den Punkt von Shane über Paketvignetten wider.
Dirk Eddelbuettel
Ok, die meisten Einreicher verwenden es immer noch (auch der Journalstil enthält Swave.sty). Das Hauptproblem besteht darin, dass keine Rnws veröffentlicht wurden. Die von Sweave erstellten Artikel sind immer noch mit Stangle-Ausgabe versehen.
4

Ich habe in der Vergangenheit gute gefunden und werde sie veröffentlichen, sobald ich sie ausgegraben habe, aber ein paar schnelle allgemeine Vorschläge:

  1. Sie können einige interessante Beispiele finden, indem Sie Google mit Schlüsselwörtern und ext: rnw durchsuchen (das nach Dateien mit der sweave-Erweiterung sucht). Hier ist eine Beispielsuche . Dies ist das dritte Ergebnis meiner Suche: http://www.ne.su.se/paper/araietal_source.Rnw . Hier ist ein weiteres Beispiel aus meiner Suche: http://www.stat.umn.edu/geyer/gdor/ .
  2. Viele R-Pakete haben interessante Vignetten, die im Wesentlichen gleich sind. Ein Beispiel: https://r-forge.r-project.org/scm/viewvc.php/paper/maxLik.Rnw
Shane
quelle
4

Robert Gentleman schrieb einen Artikel mit dem Titel "Reproducible Research: A Bioinformatics Case Study"

Es implementiert eine kurze Reihe von Analysen als R-Paket und verwendet Sweave. Es wird auch die Verwendung von Sweave allgemeiner erörtert.

Siehe den „Related Files“ Abschnitt der Artikel Seite für eine Archivdatei aller Dateien und Verzeichnisse.

Referenz:

  • Gentleman, Robert (2005) "Reproducible Research: A Bioinformatics Case Study", Statistische Anwendungen in der Genetik und Molekularbiologie. 4: Iss. 1, Artikel 2.
  • DOI: 10.2202 / 1544-6115.1034
  • Verfügbar unter: http://www.bepress.com/sagmb/vol4/iss1/art2
Jeromy Anglim
quelle
4

http://genome.cshlp.org/content/early/2011/06/09/gr.117523.110/suppl/DC1

Ein schönes Papier von einem meiner Laborkollegen. Unser PI war ziemlich erfreut, als dafür eine Art Fanpost hereinkam. Jetzt haben alle Publikationen der Gruppe die in LaTeX / Sweave beschriebenen ergänzenden Methoden. Einige der Papiere auch (ich kann mich nicht entscheiden, ob ich meine in LyX / Sweave behalten oder falten soll und mache einfach die Ergänzungen in Sweave).

Tim
quelle
3

Das Suchen nach Beispielen und Vorgehensweisen ist ein guter Weg, um zu lernen, aber ich wollte nur erwähnen, dass die Reproduzierbarkeit nicht nur die Seite der erneuten Ausführung von Technik / Skripten, sondern auch den Codestil und den Strukturierungsaspekt, die Minimierung von Nebenwirkungen in Kernfunktionen usw. umfasst. Ich persönlich fand das Das Buch "Software for Data Analysis" von Chambers ermöglicht ein tiefergehendes Verständnis von Techniken, mit denen Zuverlässigkeits- und Reproduzierbarkeitsprobleme auf R-Code-Ebene vermieden werden können.

zzr
quelle
2

Wenn Sie immer noch ein hervorragendes Beispiel für eine vollständig REPRODUZIERBARE Analyse sowie ein PAPIER benötigen, verwenden Sie dieses Repo .

Der @jscamac hat großartige Arbeit geleistet, indem er seine Analyse reproduzierbar machte, und ich habe sie persönlich validiert.

Sie können lernen, wie Sie R-spezifische Funktionen wie das Paket verwenden remake, um die Reproduzierbarkeit zu gewährleisten.

Achtung, die Berechnungen dauern ungefähr eine Stunde.

Es ist alles skriptiert und produziert am Ende ein LaTeX-Papier mit Zahlen.

WojciechF
quelle