rmake creates and maintains a build process for complex analytic tasks in R. The package allows easy generation of a Makefile for the (GNU) 'make' tool, which drives the build process by executing build commands (in parallel) to update results according to given dependencies on changed data or updated source files.
Basic Usage
Suppose you have a file dataset.csv. You want to pre-process it and store the results in
dataset.rds using the preprocess.R R script. After that, dataset.rds is then
an input file for report.Rmd and details.Rmd, which are R-Markdown scripts that generate
report.pdf and details.pdf. The whole project can be initialized with rmake as follows:
Let us assume that you have the rmake package as well as the
maketool properly installed.Create a new directory (or an R studio project) and copy your
dataset.csvinto it.Load the rmake package and create skeleton files for it:
library(rmake)rmakeSkeleton('.')Makefile.RandMakefilewill be created in the current directory ('.').Create your files
preprocess.R,report.Rmd, anddetails.Rmd.Edit
Makefile.Ras follows:library(rmake)job <- list(rRule('dataset.rds', 'preprocess.R', 'dataset.csv'),markdownRule('report.pdf', 'report.Rmd', 'dataset.rds'),markdownRule('details.pdf', 'details.Rmd', 'dataset.rds'))makefile(job, "Makefile")
This will create three build rules: one for processingpreprocess.Rand two for executingreport.Rmdanddetails.Rmdto generate the resulting PDF files.Run
makeor build your project in R Studio (Build/Build all). This will automatically re-generate theMakefileand executepreprocess.Rand the generation ofreport.Rmdanddetails.Rmdaccording to the changes made to the source files.
Author
Maintainer: Michal Burda michal.burda@osu.cz (ORCID)