Hoo-boy. Has anyone been converted one way or the other yet? Nevertheless, I can't resist chiming in.
If you want to learn how to use R well, I suggest you read _Practical Common Lisp_ by Peter Seibel. There's an html version available on the web for free.
I'm only half joking. The book doesn't mention R. However, R is inspired by and patterned after Lisp (Scheme, specifically), and is essentially a distant poor cousin in the Lisp family, lacking some Lisp features but being vectorized and having an awful lot of analytical tools. If you want to write code that's concise, manageable, and often works right on the first try, I recommend you leverage the Lisp elements of R, and to that it helps to see how Lisp programmers go about it. In fact, learning Lisp could change your perspective on programming forever, regardless of language.
Done well, I maintain that R is more productive at accomplishing complex tasks, while SAS is more productive at simpler tasks. For instance, if you're pulling data from a database, chances are you're only a few merges and subsets from an analysis-ready data set. SAS will get you there quickly. If you have farther to go and the route is circuitous, R's features as a full-featured programming language (similar to Lisp or Python) can make your problem manageable. This entails factoring the problem into a number of simpler problems, until you have a number of operators that each do one thing well. And are easy to test. Five layers of functions calling functions would not be unheard of. I think 5 layers of SAS macros calling macros would make me pull my hair out, but this approach is positively encouraged in R. So you can see it's a very different orientation.
Also, with 5 layers of functions, if I factor the problem appropriately I can test all the functions, and then have high confidence the result is right. Of course I can't give a 100% guarantee, and my own tests don't carry regulatory or QA clout, but they improve my own code. It means a lot to feel personally I can stand behind my work. If I had to solve a complex problem with SAS, I would lose confidence in the quality of the code, and would advise my boss or client that I couldn't offer the degree of confidence in the result that I would have with R.
In fact, R is much more similar to Matlab and Python than to SAS. As a programming language, you need to use it consistently to maintain your skill. If you don't see complex problems coming your way, and are not interested in this sort of programming, R may not be the best choice for you. On the other hand, no one can take R away from you, so any learning would not be totally wasted. (Whether your employer will allow you to use it when you want to is another story.)
Another selling point of R for me is reproducible (or dynamic) reporting, in which one mixes both narrative and statistical code in a source document. When the report is "compiled" the code executes and the results are embedded. No copying and pasting, no translation errors, and you always know what code generated what result. Pharma companies like mine (Novartis) have elaborate infrastructure to accomplish this, but reproducible reporting and version control gives you essentially the same traceability and archiving capability, for free on your laptop, and in fact it's easier to use (than the elaborate infrastructure). For R we have an embarrassment of riches: Sweave, odfweave, Emacs Org mode, and knitr. If you don't have any mechanism for archiving work and maintaining traceability of data and code to results, you should stop what you're doing and think about it now. There's nothing R-specific about these tools. I'm sure SAS, if they chose to, could implement something equivalent in a very short time. But they haven't. Or they have and it's so expensive I haven't heard of anyone using it. I know there was a "SASweave" project that started but died out. So for whatever reason, if you want reproducible reporting, R is the way to go for now.
-Jim Garrett
-------------------------------------------
James Garrett
Sr. Assoc. Dir. of Biostatistics
Novartis
-------------------------------------------