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?
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!