Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
01-functions.md
02-environments.md
03-s4-classes.md
04-package-structure.md
05-docs.md
06-source-code.md
07-unit-testing.md
08-parallel.md
09-git.md
10-github-travis.md
README.md

README.md

Welcome to the "Introduction to R Development" class!

Overview

The class is intended to be a first contact with the concepts that you need to extend the R language. The goal is not just to present the main features of R development but also to explore some tools that help produce reliable code. I would like to think of the class as an introduction to statistical programming in an open source environment. Because of that, the class puts a lot of emphasis on additional tools to simplify the control, testing, and integration of the R code base that are common in the open source community.

Prerequisites

Although it says "Introduction" in the title, it is introductory only for people with previous experience in R or in software development. However, it is essentially a practical class and therefore it will not involve advanced programming concepts that are also probably outside my background.

Structure

Day 1:

  • A review of functions in R.
  • Environments.
  • Object-oriented programming using the S4 classes.

Day 2:

  • The structure of R packages.
  • Including C++ code.
  • Documentation using roxygen2.
  • Unit testing using testhat

Day 3:

  • Version control using git.
  • GitHub and Continuous Integration in Travis.
  • A reproducible workflow with makefile.
  • Code coverage.

Readings

The class is very heavily based on