Zoeken…


Invoering

Met 'Reproduceerbaarheid' bedoelen we dat iemand anders (misschien u in de toekomst) de stappen die u heeft uitgevoerd kan herhalen en hetzelfde resultaat krijgt. Zie de weergave Reproduceerbare onderzoekstaken .

Opmerkingen

Om reproduceerbare resultaten te creëren, moeten alle bronnen van variatie worden vastgesteld. Als bijvoorbeeld een (pseudo) willekeurige getallengenerator wordt gebruikt, moet de seed worden vastgesteld als u dezelfde resultaten opnieuw wilt maken. Een andere manier om variatie te verminderen is om tekst en berekening in hetzelfde document te combineren.

Referenties

Reproduceerbaarheid van gegevens

dput() en dget()

De eenvoudigste manier om een (bij voorkeur klein) dataframe te delen, is door een basisfunctie dput() . Het exporteert een R-object in een platte tekstvorm.

Opmerking: zorg ervoor dat u zich in een lege map bevindt waarnaar u kunt schrijven voordat u de onderstaande voorbeeldgegevens maakt. Voer getwd() en lees ?setwd als u mappen moet wijzigen.

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

Vervolgens kan iedereen het precieze R-object in zijn GlobalEnvironment laden met de functie dget() .

df <- dget('df.txt')

Voor grotere R-objecten zijn er een aantal manieren om ze reproduceerbaar op te slaan. Zie Input en output .

Reproduceerbaarheid van het pakket

Reproduceerbaarheid van pakketten is een veel voorkomend probleem bij het reproduceren van sommige R-code. Wanneer verschillende pakketten worden bijgewerkt, kunnen sommige verbindingen tussen hen verbroken worden. De ideale oplossing voor het probleem is om de afbeelding van de machine van de R-codeschrijver op uw computer te reproduceren op de datum waarop de code werd geschreven. En hier komt het checkpoint pakket.

Vanaf 17-09-2014 maken de auteurs van het pakket dagelijks kopieën van de hele repository van het CRAN-pakket naar hun eigen mirror-repository - Microsoft R Archived Network. Om problemen met de reproduceerbaarheid van pakketten te voorkomen bij het maken van een reproduceerbaar R-project, hoeft u dus alleen het volgende te doen:

  1. Zorg ervoor dat al uw pakketten (en R-versie) up-to-date zijn.
  2. Neem checkpoint::checkpoint('YYYY-MM-DD') regel op in uw code.

checkpoint maakt een map .checkpoint in uw R_home-map ( "~/" ). In deze technische map worden alle pakketten geïnstalleerd die in uw project worden gebruikt. Dat betekent dat checkpoint alle .R bestanden in uw projectmap .R om alle aanroepen van library() of require() op te halen en alle vereiste pakketten te installeren in de vorm die ze op CRAN op de opgegeven datum bestonden.

PRO U bent bevrijd van de reproduceerbaarheid van het pakket.
CONTRA Voor elke opgegeven datum moet u alle pakketten downloaden en installeren die worden gebruikt in een bepaald project dat u wilt reproduceren. Dat kan een tijdje duren.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow