I’m in the process of moving from SPSS to R at the moment. It’s not been the easiest of rides, but then learning how to do a core part of your job never really should be. It’s been fun, though – don’t get me wrong – it’s definitely been an adventure!! Here I’m going to review my (limited) experience with some of the GUIs available for R. Don’t shout at me if I haven’t fully tested them – these are the views of a newbie (n00b). This is by no means intended to be a fully-detailed or fully-researched account of the programs here. I actually think they are all great and have been using them interchangeably during the learning process. Best of all, as they are all free, it has meant that changing between the three as I learn has cost me nothing, and I’ve picked up bits and pieces of new ideas from each of them. I’m writing this in the hope that others will give them all a go and learn something too.
One of the interesting parts of my time learning R has been the increasing realisation that it’s turning into something new. When I first tried it out several years back, the first load of the default R installation was, well, not pleasant, consisting of little more than the most basic of interfaces, coupled with a console that was basically worthless to a beginner. It was about as much fun as trying to install Linux about 10 years ago: inevitably, you wish you had stayed at home, so scurry off and hide.
And then came Revolution…
But things have changed since that time. R is turning into a new beast, full of potential and possibilities. Imagine my surprise – nay, joy – when I discovered Revolution Analytics. It’s a powerful beast built on the R code base. Users are presented with an IDE that actually makes life considerably easier. The IDE contains a console and a scripting window, which means you do get the best of all worlds – code, console, and pretty buttons which make life easier. Great. Some of the chief people behind Revolution Analytics were heavily involved in SPSS before moving to R – so they know what they are doing. I’ve seen users give the company some grief over the fact that it’s not open source. That’s not a debate I want to get into, though I am pleased that they have a free academic license, which is definitely a good thing. I think they charge business users for it, particularly for it’s optimisations for churning through large datasets.
<aside>Maybe big businesses like using it to predict how much money they are going to make, or what is going to happen in the future. I don’t know. All I remember from having normal jobs in the past is that making more money compared to previous time points is a Big Thing to management. I have memories of endless early-morning pep-talks about how much money the store was bringing in during the current week compared to (1) the previous week and (2) the same week the previous year. The management types would get upset if “we” (as though “we” had anything to do with it) brought in less money than the same week in the previous year. I’d then pipe up and start asking about the error / variance in their predictions, and they’d get confused. It was fun being a dick.</aside>
Anyway, I digress. Revolution Analytics is great. Download it and give it a go.
What the hell is a Deducer?
Deducer is a slightly different beast to Revolution Analytics. The point of Deducer, it seems, is to replace the functionality of full-GUI statistical packages (hello, SPSS… PASW… or whatever you are called now). This is a brilliant goal and Deducer is making masses of headway in terms of becoming an awesome package. It has built-in functionality and buttons for producing sexy graphs using ggplot2. Keep an eye on this one. It can also do some forms of analyses already, and I’d predict that it won’t be long before it can do pretty much anything.
Deducer is also great – download it and also give it a go. It has a Data View and Variable View (like in SPSS) which eliminates the usual annoyances of R assuming what is a factor and what is a number.
I guess I should have been calling it DeduceR. Should I? No ideaR. Oh my, this R stuff is getting out of contRol…
Back to the RStudio
The other GUI I’ve been using is RStudio. This is my personal favourite. It’s the fastest to install, and the fastest to load out of the three I’m reviewing. I know, I know, loading times don’t matter, right? If something takes 10 seconds to load, that just means you’ll spend ten less seconds on Facebook, surely? Well, maybe. Loading times are often a good sign of how much bloat there is in a program, as well as how much effort has been put into optimising the program to make it obscenely fast.
There are several reasons why RStudio is my current favourite. It has options for re-colouring the editor window to a dark colour scheme (plus points for me, I like dark schemes). As with Deducer, it is easy to import files into datasets. Packages are easy to manage, graphics are easier to take a look at and export, and datasets are easy to inspect (though you can’t edit variable types when viewing datasets, at least as far as I know). Together, these three points make it feel like a qualitative and quantitative shift towards something where you can still learn how to do the headache-inducing scripting stuff, but without the kind of headaches that drive you back to SPSS. Oh, and it can comment out multiple lines in a script with a single click of a button. How cool is that?
Go and give RStudio a go, now, now!
Summary
That’s my experience so far – I’m sure it will change as I learn more ! Beyond the differences between these various GUIs, there is a clear point that needs to be considered. The fact that many different people are now working to bring R to becoming something that can be used more widely can only be good thing (TM). These GUIs, and others like them, will encourage developers to work harder to produce even better alternatives to the R base installation, so I expect, even a year from now, the landscape will be entirely different.
UPDATE: Thanks to Tal Galili, it’s just been pointed out to me that Deducer and RStudio can be used together. It’s just a case of running library(Deducer) then JGR(), after which you call Deducer again from within the JGR console (this ensures everything is installed for Deducer and ready to go). I had assumed from the documentation for Deducer that it wasn’t possible to do this (no idea I didn’t try it, my bad). Great!
That’s an interesting article. I, too, have been fiddling with the various GUIs. I’ve used almost all of them at one time or another. I’m currently using RStudio for most of my programming & I hope they integrate Deducer as well as JGR or the standard R GUI have. JGR offers functionality that is very similar to RStudio, so running both of those at once could leave a beginner somewhat confused.
I work at the University of Tennessee & here, there are probably 99 people who want to point-and-click through analyses for every 1 who prefers the programming approach. So for R to step up to the next level of popularity, I think it needs something like Deducer or R Commander fully integrated into RStudio- or JGR-like IDE (as you mention, that’s the case now for JGR).
I agree that the SPSS GUI designers who are now at Revolution Analytics really know what they’re doing. They demonstrated some early point-and-click capabilities at last year’s UseR meeting. But if their GUI is not open source, I think it will split the community. Even within academia where Revolution’s GUI would be free, many would go with RStudio since it’s open source. They can’t give everything away and survive as a company, but if one GUI offered solid support for both programmers and point-and-clickers, it could greatly increase the popularity of R.
As new as RStudio is, it’s amazing the amount popularity it has achieved:
http://www.kdnuggets.com/polls/2011/r-gui-used.html
Cheers,
Bob
Yes, it would be great if they started making the GUIs the default – I think the 99:1 point and click: programmer ratio is quite commonplace, at least in my experience. I’m lucky in the sense that my department has just appointed someone to run a course on R, and it’s been really helpful. That being said, the numbers have dropped off as the course has progressed, and I’ve not seen anyone using R in their day-to-day work.
I don’t think it’s anyone’s fault, really, it’s just a simple fact that getting into R programming with zero programming background whatsoever is a pretty traumatic experience! So it does seem to me to be the case that, if people can get into using R via a GUI, and then slowly break themselves into the programming side of things, then that should make life easier. I think it’s just a matter of time now!
I have spent the last 18 months teaching myself R through necessity but found it suprisingly intuitive to learn and now I use R for everything. I tried Revolution and hated it. Then used Tinn-R for a while. But I might give RStudio a go, it looks good. That said, Deducer looks good and I think the ability to use a GUI to click through some menus and then compare that to the console code could make learning somewhat easier. For me, simply having something that can set the working directory without having to switch the slashes about is great…btw, anyone have a code for that? I tried and failed.
I imagine the lack of the use of R in the department is probably because something like SPSS does what most people need without them having to learn the scripting language. I bore people to tears about the wonders of R but it does have a steep learning curve. My argument is that if I can learn it then anyone can.
Pete: definitely give RStudio a go, it is highly awesome. I normally use my desktop as my working directory but it looks like you can do string replacements using this package: http://code.google.com/p/gsubfn/ . I’ve not used it, but it can accommodate regular expressions so may be what you are after!
Feel free to let me know what funky stuff you have found out that you can do 🙂 I’m actually finding my ability to get stuff done to be increasing the more I use R, and the less I use SPSS.
Just been giving RStudio a go and am super impressed. I think this might be my workhorse GUI from now on. I found the same, I can do a hell of a lot more with R, than I every could before, running simulations, manipulating data, modelling etc. I rarely open up SPSS anymore.
In terms of funky stuff, error bars can be a pain in R so I have a funky way of sorting out ploting them if your intereted, it combines one of my own functions and the errbar function in the Hmisc package.
Cheers Pete – glad you’re using RStudio! I’ve also given up on good old SPSS, at last!
For error bars, I use a method outlined here :http://www.imachordata.com/?p=199 and it’s pretty straightforward, but I’d be keen to see what method you use, it’s always good to approach these things from different routes!
I would chime in on the whole Revolution thing. I assume that the only reason they make their product free to academics is to get R users and teachers hooked on the service, which they can then charge for after the students graduate (and find it hard to work without the IDE and console).
Personally, I’ve been self teaching myself R for around a year now, and would never go back to SPSS (or indeed any other package). R just has everything i could possibly need. The integration with LaTeX for writing papers is also awesome.
I did learn R with no previous programming experience, no GUI (i couldnt get them to work) and now have graduated to Emacs. With easy Sweave integration (and appropriate syntax highlighting), along with all the goodies that come from over 30 years of development, its a no brainer. I would plead with any useR (especially lecturers) to avoid Revolution like the plague, as if they become the default, we will all lose (cos if its the default in colleges, it won’t be free).
You make a good point about Revolution – charging for software is not often popular in teaching/academic environments. I’ve turned to using RStudio now full-time, which again is good because it’s free to all, which is definitely something that should be encouraged!
I didn’t know that you could integrate R with LaTex – I have to admit I’ve only ever used Endnote for references, though I do see a surprising number of people who just copy and paste their references from a word document whenever they need them. That would drive me mad!
I think maybe there is a “medium is the message” thing here which gets a bit lost. Surely the point is not to make R more accessible by making decisions for people about what should happen behind a button when they push it. Surely the point is to capitalise on the rise of R to push true statistical literacy and fluency. Otherwise it’s just another problem. As they do with spss, give people a button, they will push it, then trawl through 40 pages of output highlighting p values less than .05