Sök…


Introduktion

Med "Reproducibility" menar vi att någon annan (kanske du i framtiden) kan upprepa stegen du utfört och få samma resultat. Se Reproducible Research Task View .

Anmärkningar

För att skapa reproducerbara resultat måste alla variationskällor fixas. Om till exempel en (pseudo) slumptalsgenerator används måste fröet fixas om du vill återskapa samma resultat. Ett annat sätt att minska variationen är att kombinera text och beräkning i samma dokument.

referenser

Dataproducerbarhet

dput() och dget()

Det enklaste sättet att dela en (föredragen liten) dataram är att använda en grundläggande funktionsdput dput() . Det exporterar ett R-objekt i en vanlig textform.

Obs! Innan du gör exempeldata nedan, se till att du är i en tom mapp du kan skriva till. Kör getwd() och läs ?setwd om du behöver byta mappar.

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

Sedan kan vem som helst ladda det exakta R-objektet till deras GlobalEn dget() funktionen dget() .

df <- dget('df.txt')

För större R-objekt finns det ett antal sätt att spara dem reproducerbart. Se ingång och utgång .

Förpacknings reproducerbarhet

Reproducerbarhet av paket är en mycket vanlig fråga när det gäller att reproducera viss R-kod. När olika paket uppdateras kan vissa sammankopplingar mellan dem bryta. Den perfekta lösningen för problemet är att reproducera bilden av R-kodförfattarens maskin på din dator vid det datum då koden skrevs. Och här kommer checkpoint paketet.

Från och med 2014-09-17 gör författarna till paketet dagliga kopior av hela CRAN-paketets arkiv till sitt eget spegelförråd - Microsoft R Archived Network. Så för att undvika paketets reproducerbarhetsproblem när du skapar ett reproducerbart R-projekt är allt du behöver att:

  1. Se till att alla dina paket (och R-versionen) är uppdaterade.
  2. Inkludera checkpoint::checkpoint('YYYY-MM-DD') i din kod.

checkpoint skapar en katalog .checkpoint i din R_home-katalog ( "~/" ). I den här tekniska katalogen kommer den att installera alla paket som används i ditt projekt. Det betyder att checkpoint tittar igenom alla .R filer i din projektkatalog för att plocka upp alla library() eller require() samtal och installera alla nödvändiga paket i den form de fanns på CRAN på det angivna datumet.

PRO Du är befriad från paketets reproducerbarhetsproblem.
CONTRA För varje specificerat datum måste du ladda ner och installera alla paket som används i ett visst projekt som du syftar till att reproducera. Det kan ta ganska länge.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow