This post is part of a series of "learning everything with R: An R book list". You can clink on this link to see other relevant posts.

Despite R's popularity, it is still very daunting to learn R as R has no click-and-point feature like SPSS and learning R usually takes lots of time. No worries! As self-R learner like us, we constantly receive the requests about how to learn R. Besides hiring someone to teach you or paying tuition fees for online courses, our suggestion is that you can also pick up some books that fit your current R programming level. Therefore, in this post, we would like to share some good books that teach you how to learn programming in R based on three levels: elementary, intermediate, and advanced levels. Each level focuses on one task so you will know whether these books fit your needs. While the following books do not necessarily focus on the task we define, you should focus the task when you reading these books so you are not lost in contexts.

Elementary level: Books introducing R

At this level, I am expecting that you have very limited experience in using R or have forgotten how to use it. You should focus on familiarizing yourself with R instead of learning programming at this stage. From our teaching R experience, a great start is to learn R with something that you are familiar with. If you are not a statistics student or graduate, you probably learn statistics from using software like Excel, SPSS, STATA, SAS, Matlab...etc. The following books will help convert your knowledge to learning R.


R books for other statistical software users
Book Cover Extracted summary
Book Title: R for Excel Users:
An Introduction to R for Excel Analysts

Author: John Taveras
This book is for beginners, and the goal is to get you started.
R is known to have a steep learning curve, but I really think
it has three separate curves: (1) data management, (2)
statistics and (3) visualization.
Book Title: R for Microsoft® Excel Users:
Making the Transition for Statistical Analysis

Author: Conrad Carlberg
This book reviews how to perform key tasks in Excel, and then
guides you through reaching the same outcome in R—including
which packages to install and how to access them.
Book Title: R Through Excel:
A Spreadsheet Interface for Statistics, Data Analysis, and Graphics

Author: Heiberger, Richard M., Neuwirth, Erich
This book builds on RExcel, a free add-in for Excel that can
be downloaded from the R distribution network. RExcel seamlessly
integrates the entire set of R's statistical and graphical methods
into Excel
Book Title: SAS and R:
Data Management, Statistical Analysis, and Graphics

Author: Ken Kleinman and Nicholas J. Horton
This book explains how to easily perform an analytical task in
both SAS and R, without having to navigate through the extensive,
idiosyncratic, and sometimes unwieldy software documentation.
The book also covers many common tasks.
Book Title: R for SAS and SPSS Users
Author: Muenchen, Robert A
This book introduces R using SAS and SPSS terms with which you are
already familiar. It demonstrates which of the add-on packages are
most like SAS and SPSS and compares them to R's built-in functions.
Book Title: R for Stata Users
Author: Muenchen, Robert A., Hilbe, Joseph M.
This book introduces R using Stata terminology with which you are
already familiar. It steps through more than 30 programs written
in both languages, comparing and contrasting the two packages'
different approaches.
Book Title: R and MATLAB
Author: David E. Hiebeler
This book is designed for users who already know R or MATLAB and
now need to learn the other platform. The book makes the transition
from one platform to the other as quick and painless as possible.
Book Title: Python for R Users
Author: Ajay Ohri
This book is the first of its kind to provide a reference that enables
students and practitioners to easily learn to code in Python if they are
familiar with R and vice versa, even if they are beginners in the second
language. It also provides a detailed introduction and overview of each
language to the reader who might be unfamiliar with the other.


Another way to leverage your knowledge is by using your field knowledge like finance, economics, education...et al. You can find those books in my another post here.

Intermediate level: Books instructing you how to write functions



Books instructing you how to write functions
Book Cover Extracted summary
Book Title: Hands-On Programming with R:
Write Your Own Functions and Simulations

Author: Garrett Grolemund
This book teach you to learn how to load data, assemble
and disassemble data objects, navigate R’s environment
system, write your own functions, and use all of R’s
programming tools.
Book Title: The R Software:
Fundamentals of Programming and Statistical Analysis

Author: Pierre Lafaye de Micheaux, Rémy Drouilhet, Benoit Liquet
This book is presented so as to be both comprehensive
and easy for the reader to use. Besides its application
as a self-learning text, this book can support lectures
on R at any level from beginner to advanced
Book Title: Art of R Programming
Author: Norman Matloff
This book takes you on a guided tour of software
development with R, from basic types and data structures to
advanced topics. No statistical knowledge is required,
and your programming skills can range from hobbyist to pro.
Book Title: Software for Data Analysis
Programming with R

Author: Chambers, John
This book guides the reader through programming with R,
beginning with simple interactive use and progressing by
gradual stages, starting with simple functions.
Book Title: Introduction to Scientific Programming and
Simulation Using R

Author: Owen Jones et al.
This book introduces scientific programming and stochastic
modelling in a clear, practical, and thorough way. Readers
learn programming by experimenting with the provided R code
and data.


Advanced level: Books teaching you how to write packages and extend R

If you have read all the books above or written some R functions, why not starting to write your own packages? Making packages is a great way to share your code and most importantly you will learn how to document your code. If you would like to see a quick tutorial post on how to learn writing R packages, we also recommend Karl Broman's R package primer . The following book list starts with Hadley Wickham's R packages which provides detailed step-by-step procedures to build your very first own package. Once you finish reading Hadley's R packages, you can read Hadley's R packages and Richard's Testing R Code to test and improve your package.

If you want to extend R, other two books will equip you with great programmer tools and knowledge. The book,Advanced R Data Programming and the Cloud , will teach you how to connect R to databases such as SQLite, PostgeSQL, and MongoDB. John's Extending R will demonstrate how to incorporate a new structure for interfaces applicable to a variety of languages such as Python, Julia, and C++.


Books teaching you how to write packages
Book Cover Extracted summary
Book Title: R packages
Author: Hadley Wickham
This book shows you how to bundle reusable R functions, sample
data, and documentation together by applying author Hadley
Wickham’s package development philosophy.
Book Title: Advanced R
Author: Hadley Wickham
This book presents useful tools and techniques for attacking many
types of R programming problems, helping you avoid mistakes and
dead ends. With more than ten years of experience programming in R,
the author illustrates the elegance, beauty, and flexibility in R.
Book Title: Testing R Code
Author: Richard Cotton
Run-time testing with assertive
Development-time testing with testthat
Writing easily maintainable and testable code
Integrating testing into your packages
Book Title: Advanced R
Data Programming and the Cloud
Author: Matt Wiley and Joshua F. Wiley
This book will show you how to manipulate data in modern R
structures and includes connecting R to data bases such as
SQLite, PostgeSQL, and MongoDB. The book closes with a
hands-on section to get R running in the cloud.
Book Title: Extending R
Author: John M. Chambers
This book covers key concepts and techniques in R to support
analysis and research projects. It presents the core ideas of R,
provides programming guidance for projects of all scales, and
introduces new, valuable techniques that extend R.


Notice that the information above is directly collected from the publisher website and we just summarize it for you. Further details about these books can be assessed by clicking the book title links to the book publisher.

This book list will continuously be updated. If you read this post via R Blogger, remember to go to original post for updates.

Happy learning R and hope you enjoy the book list above!

Page last updated on 18 Dec. 2016.