73

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

amoeba
  • 93,463
  • 28
  • 275
  • 317
mariana soffer
  • 1,091
  • 2
  • 15
  • 18
  • 17
    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](http://www.jstatsoft.org/misc/CFP-JSS_SV-GUIs_in_R.pdf) on R GUIs (expected for mid 2011). – chl Dec 09 '10 at 15:08
  • 5
    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 04 '12 at 08:39
  • 4
    @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 04 '12 at 16:09
  • 2
    List available [here](http://sciviews.org/_rgui/). – radek Dec 09 '10 at 14:04
  • 2
    Is there a semantic confusion happening here? I understood the OP to be asking for an Integrated Development Environment. – c.gutierrez Sep 15 '14 at 19:13
  • Using GUI to learn programming language is a contradiction because if you have GUI you do not need to know the language... (I am not talking about IDE) – Tim Sep 28 '15 at 08:36

15 Answers15

119

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.

landroni
  • 1,003
  • 15
  • 30
Ari B. Friedman
  • 3,421
  • 4
  • 33
  • 42
  • 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 01 '11 at 19:24
  • 6
    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 03 '11 at 04:53
  • 2
    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 03 '11 at 16:58
  • 1
    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
  • @nico: it has autocompletion and much more (autocompletion of function's arguments) – RockScience Jun 22 '11 at 04:28
  • @RockScience: I didn't even remember writing that comment! I don't know if I was using an old version or what... anyway I agree, it definitely has autocompletion and much more now. The only minor thing is that for the autocomplete to work you'll have to run the code at least once, which sometimes is a bit annoying. – nico Jun 22 '11 at 06:21
  • They added brace matching and some other things in the [new release](http://blog.rstudio.org/2011/06/14/rstudio-beta-3-v0-94/). Now it's pretty perfect. – Ari B. Friedman Jun 22 '11 at 08:13
  • I like RStudio but in using it I've found that the release quality is particularly uneven. I also miss the spell checking ability I had in my Eclipse IDE, so I went back to it. Moreover, it isn't particularly "beginner" friendly I wouldn't say. It definitely is an IDE, not a GUI like SPSS or Rcmdr has by any means. – russellpierce Oct 15 '11 at 20:49
  • RStudio to me exists in a weird place. It's not a GUI, so I can't turn my brain off and just point and click, but as an IDE it's...less than stellar. I head over to something like Komodo and wish I could use it for R. – Fomite Oct 16 '11 at 05:03
  • 1
    @EpiGrad One of the advantage of RStudio (from what I've seen as I am more versed into Emacs/ESS or the console) is that it doesn't break the interactive R workflow: R is a *statistical programming language*; no GUI will ever offer that flexibility. – chl Nov 03 '11 at 23:12
  • @chl Indeed. I confess I consider RStudio to be more of an IDE than a GUI, but yes, if one must use a GUI setup, it's probably the one I'd prefer to use to preserve R's benefits. IF I wanted point and click, I'd use JMP. – Fomite Nov 03 '11 at 23:25
  • 3
    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 02 '12 at 21:11
37

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.

  • 3
    +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 09 '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. –  Dec 09 '10 at 23:23
  • 1
    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 03:34
  • 1
    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? – russellpierce 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. –  Oct 18 '11 at 02:02
24

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.

Shane
  • 11,961
  • 17
  • 71
  • 89
  • 6
    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 00:04
13

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.

  • +1 I agree completely. Either command line or standard windows gui. Learn the language, and leave all the bells and whistles for later. – Shane Dec 09 '10 at 17:14
  • 6
    Honestly, I don't agree. Scripting is much more powerful. – RockScience Dec 10 '10 at 02:47
  • @fRed Scripting in included in my operational definition of command line interface (-; –  Dec 10 '10 at 07:09
  • 5
    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 01 '11 at 14:54
  • 3
    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 03:59
  • I think the main thing R-evangelists forget is that most people do not feel comfortable with the command line, nor are the likely to. They want to run a their test and they don't want to think about it too much. Those users do not have patience for a learning curve. Rcmdr (like SPSS's paste-syntax) is a reasonable sort of 'starting point' for many users. Hide the console until they seek it... then make it as easy to learn as possible. – russellpierce Oct 15 '11 at 20:53
  • 2
    @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. –  Oct 15 '11 at 21:58
  • 2
    @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 04:48
  • @Henry I'm not sure I agree. I tend to bounce frequently back and forth between the script window and the command line. I find the ability to tinker, test, and otherwise do some iterative experimentation, then incorporate what I like into a main script, to be just as productive a workflow. – Fomite Oct 16 '11 at 04:49
  • mbq and @EpiGrad: Let me first say that while I am disposed (at least in some ways) to agree with you it doesn't change the ground level reality of getting new users into R. GUIs exist and persist because they frequently provide the interface the user needs. Command lines continue to exist because any all inclusive GUI would be a nightmare to use. – russellpierce Oct 18 '11 at 01:41
  • Moreover, sadly, for many users of statistics... statistics are magic. Wishing that people wouldn't approach statistics that way isn't going to change things one iota. However, there is an argument to make about the advantages of teaching R and statistics (generally) using the console. Regardless, those looking for a GUI or something "easier" can not be easily mollified by pointing them back to a command line they find daunting. – russellpierce Oct 18 '11 at 01:47
  • Stepping back from the statement that GUIs provide "the interface the user needs", one can at least say that by and large they provide the interface the user thinks they need. I'd argue that this isn't a by-product of being raised in a sugar GUI world. I think the inverse argument is far more likely. Personal computing is a prevalent tool because users are shielded from the harsh console light. Ask yourself this... what is the earliest age at which someone might be able to use any GUI effectively? The earliest age at which some might be able to use a console with the same effectiveness? – russellpierce Oct 18 '11 at 01:50
  • 1
    When will R come with multi-touch capabilities? – naught101 Apr 20 '12 at 04:39
9

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

hlovdal
  • 101
  • 4
  • 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 04:46
4

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

idclark
  • 215
  • 1
  • 5
3

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

tom
  • 71
  • 1
  • 3
3

GUI != Programming

Asking which GUI will help you learn programming is like asking which grocery store will help you learn how to hunt for your own food. Using a GUI is not a way to learn 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.

Roll your own GUI

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.

geneorama
  • 228
  • 1
  • 6
2

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.

shabbychef
  • 10,388
  • 7
  • 50
  • 93
2

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

RockScience
  • 2,731
  • 4
  • 27
  • 46
2

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.

See Use AirXcell as an online R console.

2

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.

Wayne
  • 19,981
  • 4
  • 50
  • 99
1

Having worked with the

  1. (Base) R
  2. RStudio
  3. Revolution R Enterprise

in Windows environment, I strongly suggest "Revolution R Enterprise".

I accept that its installing takes little longer (it is 600-700MB) if compared with BaseR and RStudio, but anyway, the Object Browser of Revo R, the easiness of package installation procedure, management of variables, etc. etc. there are many things that - according to me - makes Revo R the best one (acc. to me).

That said, Revo R being purchased by Microsoft is - to me- one of its drawbacks since MS is eventually profit-oriented firm and may change its free nature sooner or later.

Erdogan CEVHER
  • 509
  • 4
  • 17
0

Quadstat is a free browser-based front-end to R and also an open-source statistical web application framework. After submitting a computing query, the user is presented with output from the request and also the R commands used. Prior to submission, the R help file is clearly displayed so that the user may understand some of the internals of R. I am the project maintainer and hope you find the software useful.

https://quadstat.com

https://www.drupal.org/project/quadstat

pmagunia
  • 131
  • 4
-2

If you don't want to code R, but want graphical user interface like SPSS, there is a new cloud based software, Number Analytics (). It is based on cloud so you don't need to install the program. It is freemium model starting free. It is for beginners who don't have much knowledge about statistics. The biggest selling point is that it does interpret the statistical results. Color table, and built-in graphs also helps.

Nam
  • 1
  • 3
    I believe you may be collecting downvotes because there is a strong suspicion you are connected with this company and have not disclosed that. Please see http://stats.stackexchange.com/help/promotion. People also are wondering exactly how this post responds to the question: is this software an `R` GUI? The hype on that web page doesn't look like that at all. – whuber Jan 20 '15 at 16:25