Completi esempi sostanziali di ricerca riproducibile usando R


71

La domanda: ci sono buoni esempi di ricerca riproducibile usando R che sono liberamente disponibili online?

Esempio ideale: in particolare, esempi ideali fornirebbero:

  • I dati grezzi (e idealmente i metadati che spiegano i dati),
  • Tutto il codice R incluso l'importazione, l'elaborazione, l'analisi e la generazione dei dati,
  • Sweave o qualche altro approccio per collegare l'output finale al documento finale,
  • Tutto in un formato facilmente scaricabile e compilabile sul computer di un lettore.

Idealmente, l'esempio sarebbe un articolo di rivista o una tesi in cui l'enfasi è su un argomento applicato effettivo rispetto a un esempio di insegnamento statistico.

Motivi di interesse: sono particolarmente interessato agli argomenti applicati in articoli di riviste e tesi, poiché in queste situazioni sorgono diverse questioni aggiuntive:

  • Sorgono problemi relativi alla pulizia e al trattamento dei dati,
  • Sorgono problemi relativi alla gestione dei metadati,
  • Riviste e tesi hanno spesso aspettative di guida di stile per quanto riguarda l'aspetto e la formattazione di tabelle e figure,
  • Molte riviste e tesi hanno spesso una vasta gamma di analisi che sollevano problemi relativi al flusso di lavoro (ad esempio, come sequenziare le analisi) e ai tempi di elaborazione (ad esempio, problemi di analisi della cache, ecc.).

Vedere esempi di lavoro completi potrebbe fornire un buon materiale didattico per i ricercatori che iniziano con ricerche riproducibili.

Risposte:


14

Frank Harrell ha battuto il tamburo su ricerche e rapporti riproducibili per molti, molti anni. Potresti iniziare da questa pagina wiki che elenca molte altre risorse, inclusa la ricerca pubblicata e copre anche la pagina di Charles Geyer.


11

La rivista Biostatistics ha un editor associato per la riproducibilità e tutti i suoi articoli sono contrassegnati:

Ricerca riproducibile

La nostra politica di ricerca riproducibile prevede che gli articoli sulla rivista siano contrassegnati con l'aquilone D se i dati su cui si basano sono liberamente disponibili, C se il codice degli autori è liberamente disponibile e R se sono disponibili sia dati che codice e il nostro Associate Editor for Reproducibility è in grado di utilizzarli per riprodurre i risultati nel documento. I dati e il codice sono pubblicati elettronicamente sul sito Web della rivista come materiali supplementari.

http://biostatistics.oxfordjournals.org/

Quanto è buona l'idea?

http://biostatistics.oxfordjournals.org/content/12/1/18.abstract viene fornito con un pacchetto R negli integratori che esegue l'analisi - non l'ho ancora provato da solo. Inoltre, non è possibile scoprire dove viene specificato il grado di apertura. Sto inviando un'e-mail all'editore associato con alcune domande ...

[modificare]

Roger Peng, l'editore associato, mi dice che probabilmente non c'è modo di trovare i documenti riproducibili senza ottenere il PDF. Mi ha indicato questo che ha una bella "R" (che non significa R-rated come i film) per la riproducibilità:

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

Ovviamente il diario stesso non è gratuito ... #fail

Barry


1
è bello vedere un diario dare la priorità alla riproducibilità. Hai visto qualche buon esempio di articoli contrassegnati con R?
Jeromy Anglim,

1
Non danno la priorità alla pubblicazione, penso che vogliano solo evidenziarlo. Modificherò la mia risposta con un esempio.
Spacedman

10

Irreproducibilità dei predittori di chemioterapia NCI60

Questa è un'analisi riproducibile che mostra la mancanza di riproducibilità di un articolo che è stato nelle notizie. Uno studio clinico basato sulle false conclusioni del documento irreproducibile è stato sospeso, ripristinato, nuovamente sospeso, ... È un buon esempio di analisi riproducibile nelle notizie.


10

Ho alcuni esempi di questo tipo sulla mia pagina di articoli di ricerca . (Non sono autorizzato a pubblicare più di un collegamento ipertestuale come nuovo membro. Quindi descriverò solo i documenti su quel sito.)

(1) "Rendere manifesti gli effetti negli esperimenti randomizzati" usa il sistema di vignette di R.

(2) "Attribuzione degli effetti a una campagna di distribuzione casuale del cluster" era un documento più complesso che prevedeva alcune simulazioni che richiedevano tempo. Abbiamo utilizzato un sistema basato su Makefile e pubblicato su Dataverse

(3) "EDA for HLM" è stato il mio primo tentativo. Qui ho appena messo i dati e i file Sweave associati in un tarball.

Un problema che abbiamo scoperto durante la creazione del nostro archivio JASA è stato il cambiamento delle versioni e dei valori predefiniti dei pacchetti CRAN. Quindi, in quell'archivio, includiamo anche le versioni dei pacchetti che abbiamo usato. Il sistema basato sulla vignetta si romperà probabilmente man mano che le persone cambiano i loro pacchetti (non sono sicuro di come includere pacchetti extra nel pacchetto che è il Compendio).

Infine, mi chiedo cosa fare quando R stessa cambia. Esistono modi per produrre, per esempio, una macchina virtuale che riproduca l'intero ambiente di calcolo utilizzato per un documento in modo tale che la macchina virtuale non sia enorme?

Spero comunque che questi esempi siano di aiuto. Almeno mostrano alcuni dei miei esperimenti in quest'area.

(Ecco alcuni hyperlink in chiaro.)

  [2]: http://jakebowers.org/manifesteffects-compendium-howto.txt
  [3]: http://hdl.handle.net/1902.1/12174
  [4]: http://hdl.handle.net/1902.1/13376

Sollevi alcune domande interessanti. Ho pubblicato una domanda separata citandoti
Jeromy Anglim,

9

Koenker e Zeileis forniscono una pagina web con un esempio relativamente completo. Loro condividono:

  • Rnw (codice Sweave)
  • Codice di analisi R.
  • PDF finale
  • Discussione sui problemi di controllo della versione

8

Abbiamo scritto un documento che spiega come utilizzare R / Bioconductor durante l'analisi dei dati di microarray. Il documento è stato scritto in Sweave e tutto il codice utilizzato per generare i grafici è incluso come materiale supplementare.

Gillespie, CS, Lei, G., Boys, RJ, Greenall, AJ, Wilkinson, DJ, 2010. Analisi dei dati di microarray del corso del tempo di lievito utilizzando BioConductor: un caso di studio che utilizza lievito2 Affymetrix array Note di ricerca BMC, 3:81.


7

La pagina di Charles Geyer su Sweave ha un esempio da una tesi, che soddisfa alcuni dei tuoi requisiti (i dati grezzi provengono semplicemente da un pacchetto R, ma sono disponibili il codice R / sweave e il PDF finale):

Un articolo sulla teoria nella tesi di Yun Ju Sung, Monte Carlo Likelihood Inference for Missing Data Models (preprint) conteneva esempi di calcolo. Ogni numero nel documento e ogni trama sono stati presi (da tagliare e incollare, devo ammettere) da un documento "materiali supplementari" fatto in Sweave.

(Il file di origine è collegato nella sezione "Materiali supplementari per un documento").

So di essermi imbattuto in almeno un esempio R sfogliando la pagina del materiale di ReproducibleResearch.net prima, ma sfortunatamente non l'ho aggiunto ai segnalibri.


5

Simon Jackman ha un esempio particolarmente utile di analisi dei risultati di un sondaggio: "Americani e australiani 10 anni dopo l'11 settembre". Ha diversi esempi di integrazione di tabelle e figure.

Ha realizzato il documento Sweave e il rapporto PDF tramite questo post del blog .

Sebbene i dati grezzi non vengano forniti (per quanto ne so), quindi non è possibile eseguire gli esempi Sweave reali, penso che si possa imparare un bel po 'dallo studio del codice Sweave.


5

Neil Saunders ha analizzato le interazioni online associate a una conferenza. Diverse proprietà che lo rendono un utile esempio di Sweave includono:

  • Viene fornito il file Rnw
  • I grafici vengono generati utilizzando ggplot
  • Dominio di buone dimensioni e facilmente comprensibile

I materiali sono disponibili qui:


4

Guarda anche Journal of Statistical Software ; incoraggiano a fare documenti in Sweave.


No, non formalmente: l'invio di LaTeX è incoraggiante, ma se guardi la pagina delle istruzioni non contiene la parola Sweave. Gli autori lo usano e / o spediscono il codice R con la carta, ma per me questo echo il punto di Shane sulle vignette dei pacchetti.
Dirk Eddelbuettel,

Ok, ancora la maggior parte dei mittenti lo usano (anche lo stile journal include Swave.sty); il problema principale è che non ci sono Rnws pubblicati, tuttavia i documenti realizzati da Sweave arrivano con l'uscita Stangle.

4

Ne ho trovati di buoni in passato e pubblicherò una volta che li avrò trovati, ma alcuni rapidi suggerimenti generali:

  1. Potresti essere in grado di trovare alcuni esempi interessanti cercando google con parole chiave ed ext: rnw (che cercherà i file con l'estensione sweave). Ecco una ricerca di esempio . Questo è il terzo risultato della mia ricerca: http://www.ne.su.se/paper/araietal_source.Rnw . Ecco un altro esempio della mia ricerca: http://www.stat.umn.edu/geyer/gdor/ .
  2. Molti pacchetti R hanno vignette interessanti che essenzialmente equivalgono alla stessa cosa. Un esempio: https://r-forge.r-project.org/scm/viewvc.php/paper/maxLik.Rnw

4

Robert Gentleman ha scritto un articolo intitolato "Ricerca riproducibile: un caso di studio sulla bioinformatica"

Implementa un breve set di analisi come pacchetto R e utilizza Sweave. Discute anche l'uso di Sweave più in generale.

Vedere la sezione "File correlati" della pagina dell'articolo per un file di archivio di tutti i file e le cartelle utilizzati.

Riferimento:

  • Gentleman, Robert (2005) "Ricerca riproducibile: un caso di studio sulla bioinformatica", Applicazioni statistiche in genetica e biologia molecolare: vol. 4: Iss. 1, articolo 2.
  • DOI: 10.2202 / 1544-6115.1034
  • Disponibile su: http://www.bepress.com/sagmb/vol4/iss1/art2

4

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

Un bel documento, di un mio compagno di laboratorio. Il nostro PI è stato piuttosto contento quando è arrivato qualcosa di simile alla posta dei fan. Ora tutte le pubblicazioni del gruppo hanno i metodi supplementari indicati in LaTeX / Sweave. Anche alcuni dei documenti (non riesco a decidere se mantenere il mio in LyX / Sweave o piegare e fare solo i supplementi in Sweave).


3

Cercare esempi e pratiche è un buon modo per imparare, ma volevo solo ricordare che la riproducibilità ha non solo il lato tecnico / di replica degli script, ma anche lo stile del codice e l'aspetto della strutturazione, la minimizzazione degli effetti collaterali nelle funzioni principali ecc. Ho scoperto personalmente che Il libro Chambers per il software di analisi dei dati consente di comprendere più a fondo le tecniche che aiutano a evitare problemi di affidabilità e riproducibilità a livello di codice R.


2

se hai ancora bisogno di un ottimo esempio di analisi completamente RIPRODUCIBILE più una CARTA, usa questo repository .

@Jscamac ha fatto un ottimo lavoro rendendo rproducibile la sua analisi e l'ho convalidata personalmente.

Puoi appoggiarti su come utilizzare funzioni specifiche R come il pacchetto remakeper garantire la riproducibilità.

Attenzione / il completamento dei calcoli richiede circa un'ora.

È tutto sceneggiato e alla fine produce una carta LaTeX con figure.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.