ABSTRACT

This chapter discusses a selection of the Reproducible research (RR) literature and practices of RR. Reproducible research (RR) is one possible by-product of dynamic documents, but dynamic documents do not absolutely guarantee RR. At the technical level, RR is often related to literate programming, a paradigm conceived by Donald Knuth to integrate computer code with software documentation in one document. However, early implementations like WEB and Noweb were not directly suitable for data analysis and report generation. There are other tools on this path of documentation generation, such as roxygen2, which is an R implementation of Doxygen. Gentleman is a practical example based on Gentleman and Temple Lang, using an R package GolubRR to distribute reproducible analysis. The key to keep in mind for RR is that other people should be able to reproduce our results, therefore we should try our best to make our computation portable.