Suche…


Einführung

Mit "Reproduzierbarkeit" meinen wir, dass jemand anderes (vielleicht Sie in der Zukunft) die von Ihnen durchgeführten Schritte wiederholen und dasselbe Ergebnis erzielen kann. Siehe die reproduzierbare Forschungsaufgabensicht .

Bemerkungen

Um reproduzierbare Ergebnisse zu erzielen, müssen alle Abweichungsquellen behoben werden. Wenn zum Beispiel ein (Pseudo) Zufallszahlengenerator verwendet wird, muss der Startwert korrigiert werden, wenn Sie dieselben Ergebnisse wiederherstellen möchten. Eine andere Möglichkeit, Abweichungen zu reduzieren, besteht darin, Text und Berechnung in demselben Dokument zu kombinieren.

Verweise

Reproduzierbarkeit der Daten

dput() und dget()

Die einfachste Möglichkeit, einen (möglichst kleinen) dput() zu nutzen, ist die Verwendung der Basisfunktion dput() . Es wird ein R-Objekt in einem Nur-Text-Formular exportiert.

Hinweis: Stellen Sie vor dem Erstellen der Beispieldaten sicher, dass Sie sich in einem leeren Ordner befinden, in den Sie schreiben können. Führen Sie getwd() und lesen Sie ?setwd wenn Sie Ordner wechseln müssen.

dput(mtcars, file = 'df.txt')

Dann kann jeder das präzise R-Objekt mit der Funktion dget() in seine GlobalEnvironment dget() .

df <- dget('df.txt')

Bei größeren R-Objekten gibt es mehrere Möglichkeiten, sie reproduzierbar zu speichern. Siehe Eingabe und Ausgabe .

Paket-Reproduzierbarkeit

Die Reproduzierbarkeit von Paketen ist ein sehr häufiges Problem bei der Reproduktion von R-Code. Wenn verschiedene Pakete aktualisiert werden, können einige Verbindungen zwischen ihnen unterbrochen werden. Die ideale Lösung für dieses Problem besteht darin, das Abbild des Computers des R-Code-Brenners auf dem Computer zu dem Datum wiederzugeben, an dem der Code geschrieben wurde. Und hier kommt das checkpoint Paket.

Ab dem 17.09.2014 erstellen die Autoren des Pakets tägliche Kopien des gesamten CRAN-Paket-Repositorys in ihr eigenes Spiegel-Repository - Microsoft R Archived Network. Um beim Erstellen eines reproduzierbaren R-Projekts Probleme mit der Reproduzierbarkeit von Paketen zu vermeiden, müssen Sie nur Folgendes tun:

  1. Stellen Sie sicher, dass alle Ihre Pakete (und die R-Version) auf dem neuesten Stand sind.
  2. Fügen Sie die checkpoint::checkpoint('YYYY-MM-DD') Zeile checkpoint::checkpoint('YYYY-MM-DD') in Ihren Code ein.

checkpoint erstellt ein Verzeichnis .checkpoint in Ihrem R_home-Verzeichnis ( "~/" ). In diesem technischen Verzeichnis werden alle Pakete installiert, die in Ihrem Projekt verwendet werden. Das heißt, checkpoint .R alle .R Dateien in Ihrem Projektverzeichnis, um alle library() oder require() Aufrufe .R und alle erforderlichen Pakete in der Form zu installieren, in der sie am angegebenen Datum bei CRAN vorhanden waren.

PRO Sie sind von der Frage der Reproduzierbarkeit des Pakets befreit.
CONTRA Für jedes angegebene Datum müssen Sie alle Pakete herunterladen und installieren, die in einem bestimmten Projekt verwendet werden, das Sie reproduzieren möchten. Das kann eine Weile dauern.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow