This page is about R resources. I also have a list of resources about dialogues between science and religion.
One of my favorite aspects of R is the vibrant R community. A way to learn from the community – new tools, cool efficient tricks, something to note about data analysis – is reading blog posts. Actually, I learnt parallel programming in R entirely from blog posts. These are the R blogs I follow:
While my research made me a full time R user, actually I have never taken a class about R. Instead, I learnt R entirely on my own, thanks to the great resources from the R community available for free. These are some R books I find helpful freely available online:
- R for Data Science: The official books for learning Tidyverse and some basics of R.
- Efficient R Programming
- Advanced R (2nd edition): This is the book that will make quirks of R make sense. This book also has good introduction to functional programming, object oriented programming, metaprogramming, code optimization, and Rcpp. The first edition can be found here. Hadley Wickham is also working on a book called R Internals, which is about R’s interface to C; R itself is largely written in C.
- Rcpp for Everyone: A more comprehensive guide to Rcpp, R’s interface to C++. Rcpp allows us to source and call C++ functions directly from R, as if they were R functions. Since unvectorized R code is slow, when we really can’t vectorize loops away or when parallelizing in R is still not fast enough, Rcpp comes to the rescue to remove the bottleneck in our code.
- Text Mining with R: I don’t do text mining for my research; I read this book just for fun. Here I see the power and expressiveness of the Tidyverse framework.
caretis an R package providing a consistent interface to over 200 machine learning methods. This is the official book about
- What They Forgot to Teach You About R: This book is still work in progress, but the existing parts are already quite helpful for making our R life smoother.
- Happy Git and GitHub for the useR: Git is a version control system, and GitHub is a platform working with Git to share code online. BTW, one thing I really like about RStudio is the Git GUI.
- Creating Websites with R Markdown:
blogdownis used to build websites straight out of RStudio with R Markdown. This makes integrating code into blog posts so much easier.
- R Packages: Guide to the structure of R packages and writing documentations with
roxygen2, along with some tips for getting packages to CRAN. Bioconductor has stricter requirements; see the Bioconductor package guidelines.
You can find more free R books on the bookdown website (
bookdown is an R package that lets you to write ebooks with R Markdown). Not all R packages have corresponding books or Data Camp or in person courses. Then we need to learn to use them on the fly by reading vignettes and documentations.