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.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

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++.

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.