A list of links and literature giving more background on programming and package developement in R.

Official guides

The official R website (CRAN) provides a couple of manuals and especially Writing R Extensions is of importance when making a new package. Many of the standards defined there are already implemented in RStudio but you will most certainly encounter one or the other issue that requires you to study (a part of) this guide.

Bioconductor

In case you are working in the life-sciences (with genomic data) you may be interested to check out bioconductor. They define a range of standards that are important for software that deals with those topics.

Advanced programming skills

Advanced R by Hadley Wickham goes deep(er) into R programming, explaining topics that help mostly intermediate R programmers.

S4

A (Not So) Short Introduction to S4 is a lengthy document outlining the concept of "S4". Already the introduction gives some good insights into "why object oriented programming (in R)?" https://cran.r-project.org/doc/contrib/Genolini-S4tutorialV0-5en.pdf

R consortium

The R consortium is a relatively young organisation that promotes and supports the R project. In case you have a ground-breaking idea for an R package, you can apply for a grant.

R markdown

Most contents of this course have been created on the basis of R markdown. This is a great integration of markdown into R, which means that R-code can be run within a markdown document and it is fully supported by R-Studio. It enables a set of pretty cool applications, not only limited to running R-code, which make the work of each scientist a lot easier.

Extra documentation

Compile a website for your R package via the R package pkgdown.

Website

Build your personal or project website via the R package blogdown.

Articles/Books

Write your article via the R package rticle or a book via the R package bookdown.

Presentations

Also your presentations can be compiled with R-Studio (the presentations of this course have been made with revealjs).

PS: For the sake of workflow-interoperability, you can also compile the R markdown documents you will be writing from now on to *.docx, to send your manuscript for instance to your supervisor(s) or project partners.

More git

There is the book Happy Git and GitHub for the useR, which deals in depth with git, R and you!

More testing

To show to your users that your package works properly and is tested, you can use services from other websites that check your code. For instance, travis builds your package on a range of virtual machines and makes thereby sure that this is possible. codecov scrutinises the tests of your package and visualises a “code coverage”, that is, how well your code is covered by the tests you wrote. Those are explained in https://r-pkgs.org/ and they have easy to use devtools functions.