Is R an ‘epic fail’?
Something as popular and widespread as R can hardly be called a ‘failure’ in any meaningful sense, so of course the question is really in which aspects R is inferior to alternatives.
For most users who need a bit of data analysis, it is probably a poor first choice. R is a programming language with a lot of statistical and data visualisation support, but it is a programming language. If you don’t want to do any programming, don’t muck about with R! There are lots of visualisation tools and statistical tools that are much easier to use.
Of course, without a bit of programming, you are limited to what those tools can do, so if you need analysis that is not provided, you need to either find a programmer or learn how to program, and for the latter, R isn’t a bad choice.
You can get pretty far with very little effort in R, once you have learned how to program. Now learning how to program does require quite a bit of effort, but if you need to there really isn’t any way around it. Just like there isn’t any Royal Road to mathematics (as Euclid is supposed to have said).
Sure, as a programming language R has its idiosyncrasies, but which programming languages do not?
April 26th, 2010 at 8:53 am
I gave a small introductory seminar to R to some people on my lab, to explain them basic stuff like reading files, plotting, etc…
On the first slide, before starting to explain the language, I put this comic: http://abstrusegoose.com/249 to explain them that you need at least two years to start using a programming language effectively, and ten to become an expert.
However, they liked the talk, and they are going to give R a try, while complementing it with a spreadsheet or spss.
April 26th, 2010 at 12:48 pm
A solution that it worth exploring for those who aren’t a big fan of the R programming language but want access to the power behind R is to use a package like rsruby (probably there are versions for other scripting languages), which imbeds an R interpreter into a ruby script and allows variables to be passed back and forth between R and ruby. So you get the best of both worlds — all the algorithms that have been developed in R for the number crunching, but a nicer language for everything else.
April 26th, 2010 at 1:21 pm
I have used rpy myself quite a lot. That sounds like what you describe, Jonathan, except for Python.
If I work in Python now, though, I usually prefer scipy over rpy, but the kind of analysis I do in R and in Python doesn’t overlap so much, really. I use Python for a lot of preprocessing and extracting summaries from data, then I have some time critical algorithms implemented in C++ for the actual analysis, and then I use R to do post-analysis of the results.
Usually, I don’t need Python and R to interact with this kind of workflow, but when I do, rpy is quite easy to work with.