# Good GUI for R suitable for a beginner wanting to learn programming in R?

Is there any GUI for R that makes it easier for a beginner to start learning and programming in that language?

-
List available here. –  radek Dec 9 '10 at 14:04
I use Emacs + ESS so I guess I would not be of much help here. However, for your information, there will be a special issue on R GUIs (expected for mid 2011). –  chl Dec 9 '10 at 15:08
While a frequently asked question, note that the scripting is an essential part of R's "flavor". If you prefer GUIs, R is not the way to go. –  JohnRos Sep 4 '12 at 8:39
@JohnRos: I couldn't disagree more. I spend most of my working time in R, and I can't stand not having a GUI - just look at a feature list of any GUI to know what you are missing out on. –  Cookie Dec 4 '12 at 16:09

I would second @Shane's recommendation for Deducer, and would also recommend the R Commander by John Fox. The CRAN package is here. It's called the R "Commander" because it returns the R commands associated with the point-and-click menu selections, which can be saved and run later from the command prompt.

In this way, if you don't know how to do something then you can find it in the menus and get an immediate response for the proper way to do something with R code. It looks like Deducer operates similarly, though I haven't played with Deducer for a while.

The base R Commander is designed for beginner-minded tasks, but there are plugins available for some more sophisticated analyses (Deducer has plugins, too). Bear in mind, however, that no GUI can do everything, and at some point the user will need to wean him/herself from pointing-and-clicking. Some people (myself included) think that is a good thing.

-
+1 for Rcmdr. It's nice for when one is just learning R, and offers more of a gateway to a good statistics package than SPSS or Minitab, but the code it writes is needlessly verbose, often. A scatterplot produced in Rcmdr: scatterplot(tab~pct, reg.line=FALSE, smooth=FALSE, spread=FALSE, boxplots=FALSE, span=0.5, data=senate.race), when most of those parameters were defaults to begin with. It writes some very wordy code. –  Christopher Aden Dec 9 '10 at 23:00
@Christopher I agree with you; sometimes the code is wordy. It comes from Tcl/Tk and how Rcmdr is currently written: it would take a substantial rewrite to put in checks for whether the default is selected (and return an abbrev. version in that case). But, yes, it would be an improvement. A redeeming feature is that it's good code, in that it encourages good practice (FALSE instead of F, etc.). This is important for beginners. –  G. Jay Kerns Dec 9 '10 at 23:23
This is true. Another advantage to this is allowing beginners to see what parameters a function takes without using the ? command. Using FALSE instead of F is a great point. I once saw a program give an incorrect output because the programmer had earlier set the result of an ANOVA to a variable called "F". –  Christopher Aden Dec 10 '10 at 3:34
I don't know if something has changed, but last time I checked Rcmdr didn't run out of the box on the Mac (some limitation with installing the Tcl/Tk libraries). As such, though I like it, I've avoid suggesting it for new users. Did this change? –  rpierce Oct 15 '11 at 20:46
@drknexus As far as I know, you are exactly right: Rcmdr takes additional work for Mac (because of Tcl/Tk). The audience I serve almost entirely use Windows (sigh!), so I ask the one or two people per semester with Macs to see me if they have trouble which hasn't been much of a problem. But, yes, you are right. –  G. Jay Kerns Oct 18 '11 at 2:02

You can also try the brand-new RStudio. Reasonably full-featured IDE with easy set-up. I played with it yesterday and it seems nice.

Update

I now like RStudio even more. They actively implement feature requests, and it shows in the little things getting better and better. It also includes Git support (including remote syncing so Github integration is seamless).

A bunch of big names just joined so hopefully things will continue getting even better.

Update again

And indeed things have only gotten better, in rapid fashion. Package build-check cycles are now point-and-click, and the little stuff continues to improve as well. It now comes with an integrated debugging environment, too.

-
I've been playing with R-Studio today, as I had some data to analyze. It's very nice and easy to use. I only wish it had autocomplete for variable names. –  nico Mar 1 '11 at 19:24
After a couple of revs, it will be the best thing going. Its first beta release is already eminently usable and beats most other options IMO. –  JMS Mar 3 '11 at 4:53
I liked it too. It is for more advanced users that basically just need a better shell that RGui. Emacs+ESS yet has much more features but not everybody likes Emacs. RStudio seems to be simple but very effective at what it wants to do. I look forward to see how it evolves over time. –  AlefSin Mar 3 '11 at 16:58
I deeply love RStudio. It is very easy to set up and run and handles Sweave and Tex files. I will probably switch to Emacs one day but for a beginner who wants to write code RStudio is definitely the way to go. –  Chris Beeley Jun 13 '11 at 10:31
I recomend RStudio... Yes, it's not a GUI. Yes, it's more like an IDE... but after all, is a nice piece of software to use. Interactive console, script editor, plots, and all the features you need to work efficiently with R. Considering that R is just a CLI, RStudio is a nice way to simplify your work –  Barranka Oct 2 '12 at 21:11

This has been answered several times on StackOverflow. The top selections on there seem to consistently be Eclipse with StatET or Emacs with ESS.

I wouldn't say that there are any good gui's to make it easier to learn the language. The closest thing would be deducer from Ian Fellows. But there are plenty of other resources (books, papers, blogs, packages, etc.) available for learning.

-
Well done! The purpose of a GUI is not to learn the language, but to make learning the language unnecessary. (edit:) I didn't know that some GUI's had the features described by G. Kay Kerns. I suppose that would help you in the early stages of learning the language. –  Carlos Accioly Dec 10 '10 at 0:04

I think that the command line is the best interface, and especially for the beginners. The sooner you'll start with console, the sooner you'll find out that this is the fastest, the most comfortable and what's most important the only fully non-limiting way of using R.

-
Honestly, I don't agree. Scripting is much more powerful. –  RockScience Dec 10 '10 at 2:47
It is important to stress to new users that they should almost always use a script window and ctrl-R rather the direct command line, both for when things do not work and need to be changed, and for when they do work and are worth saving for later use. –  Henry Mar 1 '11 at 14:54
The main thing I find annoying about the standard Windows RGui is the lack of a feature to show matching brackets. I tend to waste a non-negligible amount of time trying to find missing or extra brackets, and this one thing has motivated me to start looking for another interface to use. –  mark999 Jun 11 '11 at 3:59
@drknexus People are afraid of command line almost only because they have been grown in sugar GUI world. If you take this prior out, I can bet that the command line is even easier to learn -- GUIs are just full of unclear options and steps, are usually buggy (testing such interface is a nightmare and is never done 100% well) and tend to introduce "magic" automation which is more an enemy than a friend. Go and ask any GUI user about her/his experience and you will hear a bible of a small cargo cult -- it is never the case when using a console app. –  mbq Oct 15 '11 at 21:58
@drknexus Forcing users to think about it too much, rather than just "run their test" might very well be considered a feature, not a bug. My experience suggests that a language that forces the user to explicitly lay out what they want to do tends to result in greater understanding. –  Fomite Oct 16 '11 at 4:48

At least on linux, RKWard offers the best functionality. The new RStudio appears quite promising as well.

-
Seconded. RKward is excellent, as it presents a reasonably clean, functional interface, with most of the basic functionality users will need (it's young, more will come later, I'm sure), with code. Everything that you request R to do through the UI is presented in code form just below, so you can actually see what's going on behind the scenes. It also has a command line console, which means you can jump straight in and tinker. The dataframe editing interface makes it nice and easy to do all those annoying manual manipulations of data that are a pain on the command line. –  naught101 Apr 20 '12 at 4:46

Personally ESS, but as stated above i have found Rcmdr very easy to use.

-

I used JGR for a short while, until it became apparent it would quickly consume all the memory on my system. I have not used it since, and recommend you do not use it.

-

I recommend Tinn-R (Which is the acronym for Tinn is not Notepad)

-
I tried TinnR and didn't like it much, it seemed unpolished and clumsy. –  John Salvatier Mar 1 '11 at 17:00
True, I actually changed to Eclipse with Statet. Much better. –  RockScience Mar 2 '11 at 8:03
Tinn-R has been buggy for a long time. I recommend against using it. –  rpierce Oct 15 '11 at 20:53

Despite all of the good recommendations, I've not found anything radically better than the default Mac GUI. R-Studio shows promise, but it's not currently that much more customizable or featureful than R and, say, BBEdit to edit.

-
+1. I usually bounce between the default R GUI and TextWrangler in OS X. –  Fomite Oct 16 '11 at 5:01

I used Rattle to both learn how to use R and for quick and dirty data mining tasks.

-

Recently there is also www.fittestmodel.com, where users can use R online without any installation, and can post their analysis to an included messageboard, which allows for instant replication and extension, in other words: collaboration.

There are YouTube demos on the website.

On Fittestmodel users can learn each other how to use applied research with R

This is not an add because fittestmodel will be and stay free for its users.

-
(+1) looks promising ... –  steffen Nov 4 '11 at 13:05
(-1) Actually this URL is not related at all with R. –  Fran Aug 10 at 9:59

## GUI != Programming

The power of R is that it's not GUI driven, it uses scripts which fundamentally allow for more more reproducible results.

## GUIs to demonstrate specific topics / Brief backpedaling

That having been said, I do think it's useful to use a GUI to demonstrate a single specific topic.

• The latticist package is awesome for creating lattice graphs and learning lattice syntax.
• The PBSmodelling package has some wonderful examples of GUIs that allow you to run specific models, such as MCMV models.
• The TeachingDemos package is also seems to have some good demos of specific topics.

The PBSmodelling package also has tools that allow you to make your own GUIs. This includes some amazing tools for project organization and documentation. Thank you Pacific Biological Station!

Also, by using Rook and Apache you can also make powerful web-based GUI applications.

Making your own GUI is not appropriate for beginners or the direct answer to your question. However, if you're an advanced user then you might want to consider making a GUI to demonstrate a particular topic.

## The installed "R" is a GUI (technically)

It's worth noting that the installed version of R is a shortcut to Rgui.exe.

I know that you're asking for a GUI that let's you access all of the base functionality of R by pointing and clicking, not a glorified wrapper for the command line.

However, it's important to realize that a GUI wrapper for the command line is a GUI, and it's a valid answer to your question. The command line is the only way that you can get access to the rapidly evolving functionality of the power of R and the freshly packages authored daily.

So...

## Again, the best GUI is R Studio

The best interface for R is definitely R Studio.

For some people the StatET / Eclipse interface is important for it's powerful features, but R Studio is rapidly overtaking those features and adding new ones.

Revolution R (the commercial version) also has a GUI, but it's not so great unless you are deeply passionate about the design of MS Visual Studio. However, you can access Revolution's build of R though R Studio or Eclipse, so that's a pretty neat trick too.

-

I would recommend having a look at AirXcell. It's an online (Web 2.0) calculation software based on R which provides a quite usable R GUI with a command line interface (The R console) a code editor, and various other things (data frame editor, etc.), all online from within the web browser.

-