Some quibbles about “The R Book” by Michael Crawley

December 13, 2010

A friend recently bought The R Book and I said I would tell him of problems that I’ve noticed with it.  You can eavesdrop.

Page 4

The word “library” is used instead of “package”.  This (common)  error substantially raises the blood pressure of some people — probably to an unwarranted extent.

An R package is a group of functions, data and their documentation.  These are the things that are in repositories like CRAN (where there are over two thousand packages).  A package is installed onto your machine into a library.

You are unlikely to call a book a library; don’t call a package a library.

Part of the problem is that packages are attached with the library function:

> library(fortunes)

That is why some instructions have you do the same thing via:

> require(fortunes)

Some of the people whose blood pressure is abnormally raised by seeing this mistake are very important to R, so please get this right.

Page 11

An example value is:

3.9+4.5i

that is, a complex number.  This is in the chapter called “Essentials of the R Language”.  I’ve been using R and a language not unlike R for a quarter century.  The only time I recall using complex numbers is when documenting them.  Complex numbers don’t match my definition of “essential”.

There is a certain amount of irony for a 600-word blog post to take n lines to complain about a 900-page book wasting one line.  However, the complex number is an extreme example of a common occurrence in the chapter.  There is a lot of the chapter that I don’t find particularly essential.

My take on “essential” is Some hints for the R beginner.

Page 16:

A<-1:10
B<-c(2,4,8)

These are two examples of a general feature: while the author’s keyboard seems to work perfectly fine for text, the space-bar is mysteriously broken for R code.

It is clearer to write these as:

> A <- 1:10
> B <- c(2, 4, 8)

The assignment arrow shows up as a separate entity.  Spacesaidunderstanding.

Page 21

The same thing, but this time it’s serious.

x<5

really, really should have spaces around the less-than operator.

There is no trouble with this particular example, but what if the example were with minus five?

x<-5

does not give you a logical vector with TRUE values when x is less than minus five.  It changes x to have the single value 5.

This and a whole bunch of other  R gotchas are in The R Inferno.

Page 107

The values in the body of a matrix can only be numbers.

That is a false statement.  In particular, if x is a numeric matrix, then the result of

x < -5

is a matrix of logical values (and is the same dimension as x).

Pages 323-324

This be praise, not quibble.

The book uses “explanatory variables” and “response” in the statistical regression context.  It doesn’t enter into the dependent-independent muddle.

Other views

Amazon has several reviews of The R Book. There is a range of opinions from very positive to quite negative.  A common complaint is that the material is disorganized.

Questions

The points I have raised are from a quick glance through the book.  Are there other things in the book that should be pointed out to help the unwary?

Epilogue

I don’t think there is such a thing as the best book on R.  There can be the best book on R for you as an individual.  Which one is the best will depend on where you are and where you want to go.  A partial list of your choices is Books related to R.

Subscribe to the Portfolio Probe blog by Email

Leave a Reply

  1. disgruntledphd 2010-12-13 at 12:02 - Reply

    I started with the R book by Crawley, and I would cautiously endorse some of your comments. I worked my way through it until around chapter 13, and i find that the structure mitigated against my understanding at first.

    As i improved with R though, i came to appreciate the way the book is put together much more. That being said, it took me around 100+ pages to get to possibly the most important task when learning R: reading in your own data from a spreadsheet. He was very helpful here.

    The best part of this book (IMO) is the material on statistical modelling, and the problems therein. That chapter (i think its 9) is wonderful, and i have returned again and again to it to check some subtleties.

    Almost all of the examples are biological, so if you arent in this area you may miss some of your fields favourite methods. That being said, I’m a psychologist and I found that the examples were useful as he’s good at explaining assumptions and issues with each of the procedures used.

    All in all, its probably not the best book for the beginner (his introductory statistics using R is much more user friendly), its a great reference book for those wishing to learn more.

  2. Pat 2010-12-13 at 12:23 - Reply

    Dear Disgruntled,

    Thanks for your comments — it’s good to hear from a perspective that I couldn’t possibly have.

  3. disgruntledphd 2010-12-13 at 12:25 - Reply

    No problem. Actually commenting on this post has made me want to review some of the many R books i’ve used throughout my learning experience.

Related posts