Ricerca…


introduzione

Con "Riproducibilità" intendiamo che qualcun altro (forse tu in futuro) può ripetere i passaggi che hai eseguito e ottenere lo stesso risultato. Vedi la vista dell'attività Reproducible Research .

Osservazioni

Per creare risultati riproducibili, è necessario correggere tutte le fonti di variazione. Ad esempio, se viene utilizzato un generatore di numeri casuali (pseudo), il seme deve essere corretto se si desidera ricreare gli stessi risultati. Un altro modo per ridurre la variazione consiste nel combinare il testo e il calcolo nello stesso documento.

Riferimenti

Riproducibilità dei dati

dput() e dget()

Il modo più semplice per condividere un frame di dati (preferibilmente di piccole dimensioni) è utilizzare una funzione di base dput() . Esporterà un oggetto R in un formato di testo normale.

Nota: prima di creare i dati di esempio qui sotto, assicurati di essere in una cartella vuota su cui scrivere. Esegui getwd() e leggi ?setwd se hai bisogno di cambiare cartella.

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

Quindi, chiunque può caricare l'oggetto R preciso sul proprio GlobalEnvironment utilizzando la funzione dget() .

df <- dget('df.txt')

Per oggetti R più grandi, esistono diversi modi per salvarli in modo riproducibile. Vedi Input e output .

Riproducibilità del pacchetto

La riproducibilità del pacchetto è un problema molto comune nella riproduzione di alcuni codici R. Quando vari pacchetti vengono aggiornati, alcune interconnessioni tra loro possono rompersi. La soluzione ideale per il problema è riprodurre l'immagine della macchina del writer del codice R sul tuo computer alla data in cui il codice è stato scritto. E qui arriva il pacchetto checkpoint .

A partire dal 2014-09-17, gli autori del pacchetto effettuano copie giornaliere dell'intero repository di pacchetti CRAN nel proprio repository mirror: Microsoft R Archived Network. Quindi, per evitare problemi di riproducibilità della confezione durante la creazione di un progetto R riproducibile, tutto ciò che serve è:

  1. Assicurati che tutti i tuoi pacchetti (e la versione R) siano aggiornati.
  2. Includi il checkpoint::checkpoint('YYYY-MM-DD') nel tuo codice.

checkpoint creerà una directory .checkpoint nella directory R_home ( "~/" ). A questa directory tecnica installerà tutti i pacchetti, che sono usati nel tuo progetto. Ciò significa che, il checkpoint tutti i file .R nella directory del progetto per raccogliere tutte le chiamate library() o require() e installa tutti i pacchetti richiesti nel modulo esistente al CRAN alla data specificata.

PRO Sei libero dal problema di riproducibilità del pacchetto.
CONTRA Per ciascuna data specificata devi scaricare e installare tutti i pacchetti che vengono utilizzati in un determinato progetto che desideri riprodurre. Potrebbe volerci un po 'di tempo.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow