My former professor, Norm Matloff, wrote “The Art of R Programming” and NoStarch Press was kind enough to send me a review copy.
The Art of R Programming is a straight forward explanation of R for programmers who are reasonably familiar with programming in another language. Matloff makes no assumptions of expertise in C or algorithms and his explanations are succinct and easy to follow.
If you’re aren’t familiar with R, it is a statistical programming language, with some similarities to Matlab.
Rating 9/10
The big advantages of R are (1) it’s high level, (2) reasonably easy to read, (3) functional in nature, (4) simple syntax. If you’re familiar with Python, it has a similar feel. Compared to complex languages such as C++, Java, etc, R is a breadth of fresh air due to the lightness of its syntax. That said as a programming language Python is nicer. R has a few annoyances (for me at least) that make it less pleasant to write in than Python.
A couple of those are:
- Non-standard assignment operator e.g. to assign 5 to x in R we use “x <- 5" instead of the normal "x = 5" used in other languages. This is annoying because a significant amount of programming is doing assignments and a two character assignment operator is twice as much typing. Contrast this with Python which uses the plain "x = 5".
- Vector creation using “c(1,2,3,4)”. Vectors in R are similar to lists in Python, it would be more natural to add a little syntactic sugar and use “[1,2,3,4]” for vector creation i.e. the same syntax as Python and many other languages.
The real reason to use R are its statistical libraries, it’s very widely used for statistics and is the most pleasant environment to work in.
The areas Matloff covers are:
| 1 Why R? | 2 Getting Started | 3 Vectors |
| 4 Matrices | 5 Lists | 6 Data Frames |
| 7 Factors and Tables | 8 R Programming Structures | 9 R Functions |
| 10 Doing Math in R | 11 Input/Output | 12 Object-Oriented Programming |
| 13 Graphics | 14 Debugging | 15 Writing Fast R Code |
| 16 Interfacing R to Other Languages | 17 Parallel R | 18 String Manipulation |
| 19 Installation: R Base, New Packages | 20 User Interfaces | 21 To Learn More |
Much of the material is available online in tutorials such as John Cook’s, R Language For Programmers. The real gems are the chapters “Writing Fast R Code”, “Interfacing R to Other Languages”, and “Parallel R”. These chapters have great information that is not easily discoverable otherwise.
“The Art of R Programming” is a fun read, albeit somewhat specialized. If you need to do statistical work as a programmer I highly recommend buying it and spending an afternoon browsing it.
Pingback: The art of R programming | Research tips
Pingback: 1-555-CONFIDE - Matlab style matrix creation in R, kinda…