In "Learning R",
data scientist and statistical consultant Richie Cotton provides an
introduction to the R system for
statistical computing organized around a typical workflow for data
analysis. I've used R casually for a few years, but as a self-taught
user I hoped that "Learning R" would fill in many of the gaps in my
knowledge. The book is written in an easy, conversational tone, and
Cotton conveys his deep knowledge of the material in a manner that is
supportive rather than condescending. The chapters are grouped into three
parts: the first is an introduction to the R language, the second focuses
on data summary and analysis, and the third part is an appendix that
provides a number of interesting supplemental materials. Part I provides
a broad overview of many topics, including data frames, functions,
classes, and packaging. I found Chapter 9, which focuses on the apply
functions and their variants (e.g., the plyr tools) to be particularly helpful.
Depending on your needs, Chapters 10 ("Packages") and 11 ("Dates and
Times") could be skipped until the reader has specific need for that
information. Part II focuses on actual data analysis, and there are many
valuable tips in these chapters. Chapters 14 ("Exploring and Visualizing")
and 15 ("Distributions and Modeling") will probably be of the greatest
interest to most readers, and in the latter Cotton does a great job of
directing readers to other good resources. Again, Chapter 17 ("Making
Packages") can be treated as optional by most users. I think that most
readers will skim or completely skip the appendices in Part III, but
Appendix B ("some other things that you can do in R") is worth the time.
The book includes lots of worked examples, and the end-of-chapter quizzes
and exercises (with answer keys in Appendices C and D) help the reader
build their skills. All in all, "Learning R" represents a good resource for
the beginning R programmer, or for the self-taught R programmer who may have
odd gaps in their knowledge, the author of this review included.
However, "Learning R" is not without its flaws. There were several places
where I felt that a more detailed explanation would benefit the reader. For
example, in the discussion of how to merge data frames Cotton does not discuss
how variables are named in the new data frame. The vigilant reader can intuit
a likely explanation for the naming scheme used by R, but those kinds of
details can really help a new user understand how the tools work. I also felt
that the chapter on graphics suffered from a lack of focus. While I applaud
Cotton's goal of thoroughly describing the available tools for plotting, I
think that R novices would benefit more from examples that use one of the
three major graphics tools, rather than examples that use all three. These,
however, are relatively minor complaints.
Disclaimer: I am a member of O'Reilly's Reader Review
Program, and the publisher provided a gratis copy of the e-book for review.