-
Notifications
You must be signed in to change notification settings - Fork 1
Home
(Making reproducible code)
Introduction (outline)
Vocabulary (draft)
In the following pages I try and explain how fundamental R components work, taking the R language definition and making it easier to understand with plenty of examples to illustrate each idea. These tools are important because they allow to identify and reduce duplication in a wider variety of settings.
- Scoping and environments (draft)
- Functions (outline)
- First class functions (draft)
- Controlling evaluation (complete)
- Computing on the language (draft)
- Exceptions and debugging (draft)
- The S3 object system (draft)
- The S4 object system (draft)
- Reference based classes (outline)
- Performance and profiling (outline)
- High performance functions with Rcpp (outline)
These sections are designed to be a primer for the more technical descriptions available in the R language definition and software for data analysis.
Packages are the fundamental unit of reproducible R code. They include reusable R functions, the documentation that describes how to use them, and sample data. In this section you'll learn how to turn your code into packages that others can easily download and use. Writing a package can seem overwhelming at first, but start with the basics and then improve it over time. It doesn't matter if your first version isn't perfect as long as the next version is better.
- Package basics (complete)
- Development (draft)
- Testing (draft)
- Documentation at both the function and package levels (outline)
- Good code style (complete)
- Namespaces, to minimise conflict with other packages (draft)
- Source code control: git + github (outline)
- Ready for release (complete)
The canonical reference for package development will always be writing R extensions - these pages attempt to expand on the more important points and discuss more of the why and what of best practices.
Making R packages, a presentation to HACASA and the Houston R users group: http://www.slideshare.net/hadley/r-packages
- How to make a reproducible example
- Mastering the command line