An R Package for Making a Project Computationally Reproducible Before Sharing it
Author: Jae Yeon Kim
File an issue if you have problems, questions or suggestions.
## Install the current development version from GitHub
devtools::install_github("jaeyk/makereproducible",
dependencies = TRUE)
library(makereproducible)
make_here
Creating self-contained projects is great to increase research reproducibility and make your life easier. To make a project self-contained, one of the things you need to do is STOP using setwd()
and START using alternatives like here()
. The problem is people, including, and especially me, are lazy. We know the best practice, but we don't follow it.
The make_here()
function nudges you to make your project self-contained before sharing it with other people. It does this by saving typing time to turn the relative or absolute path in your R code into the arguments in the here()
function.
To learn how to use it, see the examples below.
read_csv("/home/jae/validating-two-linked-fates/raw_data/sub-data.txt")
read_csv(make_here("/home/jae/validating-two-linked-fates/raw_data/sub-data.txt"))
Only two conditions are needed to make the make_here()
function work.
foo
) and divided different types of files into different subdirectories (data
, R
, etc.).here
package:.git
.).here
in the main project directory (minimal effort).here::dr_here()
helps to check whether these two conditions were met. If setup correclty, you should be able to see something like the following: here() starts at [your main project directory], because it [satisfies one of the conditions listed above].
If you would like to cite, please do something like the following:
Jae Yeon Kim. (2020). makereproducible. R package version 0.1.0. Retrieved from https://github.com/jaeyk/makereproducible
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.