The R package drake (data frames in R for Make) is a workflow manager and build system. It reproducibly tracks your code, output, and dependencies so that when you make a change, only the necessary steps are re-executed to bring your results up to date. Multiple modes of parallel computing are supported: single-session parallelism with parallel::mclapply(), multi-session parallelism with Makefiles, and true distributed computing on clusters and supercomputers.

I owe a lot to the efforts of others. Most importantly, the remake package by Rich FitzJohn paved the way for an R-focused reproducible build system. In a sense, drake is just my way of digesting the original ideas that remake pioneered. In addition, Kirill Müller and Daniel Falster made pivotal contributions to parallelRemake and remakeGenerator, which I subsumed into drake.

You can install drake from CRAN or GitHub. The overview and quickstart vignettes are step-by-step guides to get you started. You can submit bug reports, questions, and feature requests to the issues page, and you can contribute to development through GitHub.

Be prepared to think differently about how you develop your analysis.