Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Considering I have no programming background, Is there a resource out there that's the de-facto standard for describing best practices, design methodologies, and other helpful information on R programming? What about that resource makes it special?

share|improve this question

closed as off-topic by MichaelT, Thomas Owens Mar 22 '14 at 10:57

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Community, Thomas Owens
If this question can be reworded to fit the rules in the help center, please edit the question.

The question was edited to keep it from being closed and make it more useful for anyone else that might come along, as for your inital question about how long... no one will be able to tell you that. It's going to depend on what background you DO have, how much time and effort you are going to put into learning, how fast you pick up on the concepts, and what you are hoping to accomplish with the knowledge. – DKnight Dec 20 '11 at 21:26
Why do people ask about canonical resources? – compman Dec 20 '11 at 22:03
@compman - because all other book questions are off topic for the site, on the grounds that there is no way they can be definitively answered. (There's been some discussion on meta and you can weigh in if you like). – psr Dec 20 '11 at 23:30
@psr: Hmm. That's kind of sketchy. – compman Dec 20 '11 at 23:55

I don't know if there is a book for a non-programmer in R or S but you can certainly start with the native R project site:

Starting with the Manuals section:

share|improve this answer
Frankly they're not really reader-friendly... – SRKX Dec 28 '11 at 16:06
@SRKX - No argument there. The R documentation is not for someone looking for an easy read. – Karlson Dec 28 '11 at 16:14

From a design perspective I would definitely recommend Programming with data by John Chambers. He is the designer of the S language, of which R is the open source implementation. Another more conceptual book seems to be The Art of R Programming: A Tour of Statistical Software Design. There are number of statistics books which use R (Modern Applied statistics with S (and R), Introductory statistics with R), but these are already more aimed at the statistics, while you are probably more looking for a programming and not a stats book.

share|improve this answer
To go along with Paul's answer, I'd second the mention of The Art of R Programming and I'd also refer you to a blog by someone who teaches a course in statistical computing: – Tangurena Dec 28 '11 at 17:27
I'll back the comment above and add Teetor, The R Cookbook. Kabacoff, Matloff, Teetor, plus Shalizi (and Nugent at the same university) will teach you a lot. – Fr. Sep 25 '12 at 2:48

First of all, it is important to understand that R can be used for different purposes, each of which would have a particular book dedicated to it with some specific examples and applications.

The one I would definitely recommend for somebody who wants to understand R as a programming language is Software for Data Analysis: Programming with R. This book explains how the languages works in details. However, you will have few "concrete examples" of application. However, it is this book that made me feel completely fluent in R.

Then, I would suggest reading Data Manipulation with R which will explain you the different data structures which are quite different from one another and can be a pain during development if you haven't understood properly how they work.

Then you can find the book you want for the concretes examples on your field.

share|improve this answer

I find Matloff's R for programmers a pretty good read (despite the title, it's perfectly suitable for non-programmers, such as myself and covers more or less everything, including the S4 class types), especially in conjunction with The R Inferno by Patrick Burns (teaches you about "gotcha's" in R). Both are freely available resources.

share|improve this answer

To directly answer your question: No, but see the main project website and official R manuals.

To indirectly answer your question: R is a pain in the butt to learn, because I've found that there are fifty ways to accomplish any single task, and that's pretty confusing for the new user. I'm going through this right now and I'm finding it as difficult as anyone.

The technique I found most useful was to learn the very basics of R by going through the first chapter or two of any R tutorial to get the language syntax, and then to go through homework problems from an R course. This way, instead of reading through the fifteen ways to sort a data frame, you can learn one way, try it out in the homework, and if it works, great, that's how you do it. If not, keep searching until you find a technique that does work.

share|improve this answer

I think the biggest challenge for me when I was learning R (and still learning) is the vast amount of information available for R (information overload really). I would suggest you purchase a book and use that as your defacto standard until you have a solid footing in R and handling data in R. There is literally a ton of information and help for using R. That is a huge benefit, but also can be a drawback. Especially if every example you come across by searching these forums or The Google uses different packages. The authors of most R books tend to be consistent and use the base R packages, or their favorite packages available form cran. The key to learning is consistency.

Although the references below are not specific to "programming" in R, and not "canonical" they are a great resource nonetheless and I will add them to supplement my answer.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.