Comparing Point-and-Click Front Ends for R
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Now that I’ve completed seven detailed reviews of Graphical User Interfaces (GUIs) for R, let’s compare them. It’s easy enough to count their features and plot them, so let’s start there. I’m basing the counts on the number of menu items in each category. That’s not too hard to get, but it’s far from perfect. Some software has fewer menu choices, depending instead on dialog box choices. Studying every menu and dialog box would be too time-consuming, so be aware of this limitation. I’m putting the details of each measure in the appendix so you can adjust the figures and create your own graphs. If you decide to make your own graphs, I’d love to hear from you in the comments below.
Figure 1 shows the number of analytic methods each software supports on the x-axis and the number of graphics methods on the y-axis. The analytic methods count combines statistical features, machine learning / artificial intelligence ones (ML/AI), and the ability to create R model objects. The graphics features count totals up the number of bar charts, scatterplots, etc. each package can create.
The ideal place to be in this graph is in the upper right corner. We see that BlueSky and R Commander offer quite a lot of both analytic and graphical features. Rattle stands out as having the second greatest number of graphics features. JASP is the lowest on graphics features and 3rd from the bottom on analytic ones.
Next, let’s swap out the y-axis for general usability features. These consist of a variety of features that make your work easier, including data management capabilities (see appendix for details).
Figure 2 shows that BlueSky and R Commander still in the top two positions overall, but now Deducer has nearly caught up with R Commander on the number of general features. That’s due to its reasonably strong set of data management tools, plus its output is in true word processing tables saving you the trouble of formatting it yourself. Rattle is much lower in this plot since, while its graphics capabilities are strong (at least in relation to ML/AI tasks), it has minimal data management capabilities.
These plots help show us three main overall feature sets, but each package offers things that the others don’t. Let’s look at a brief overview of each. Remember that each of these has a detailed review that follows my standard template. I’ll start with the two that have come out on top, then follow in alphabetical order.
The R Commander – This is the oldest GUI, having been around since at least 2005. There are an impressive 41 plug-ins developed for it. It is currently the only R GUI that saves R Markdown files, but it does not create word processing tables by default, as some of the others do. The R code it writes is classic, rarely using the newer tidyverse functions. It works as a partner to R; you install R separately, then use it to install and start R Commander. It makes it easy to blend menu-based analysis with coding. If your goal is to learn to code in classic R, this is an excellent choice.
BlueSky Statistics – This software was created by former SPSS employees and it shares many of SPSS’ features. BlueSky is only a few years old, and it converted from commercial to open source just a few months ago. Although BlueSky and R Commander offer many of the same features, they do them in different ways. When using BlueSky, it’s not initially apparent that R is involved at all. Unless you click the “Syntax” button that every dialog box has, you’ll never see the R code or the code editor. Its output is in publication-quality tables which follow the popular style of the American Psychological Association.
Deducer – This has a very nice-looking interface, and it’s probably the first to offer true word processing tables by default. Being able to just cut and paste a table into your word processor saves a lot of time and it’s a feature that has been copied by several others. Deducer was released in 2008, and when I first saw it, I thought it would quickly gain developers. It got a few, but development seems to have halted. Deducer’s installation is quite complex, and it depends on the troublesome Java software. It also used JGR, which never became as popular as the similar RStudio. The main developer, Ian Fellows, has moved on to another very interesting GUI project called Vivid.
jamovi – The developers who form the core of the jamovi project used to be part of the JASP team. Despite the fact that they started a couple of years later, they’re ahead of JASP in several ways at the moment. Its developers decided that the R code it used should be visible and any R code should be executable, something that differentiated it from JASP. jamovi has an extremely interactive interface that shows you the result of every selection in each dialog box. It also saves the settings in every dialog box, and lets you re-use every step on a new dataset by saving a “template.” That’s extremely useful since GUI users often don’t want to learn R code. jamovi’s biggest weakness its dearth of data management tasks, though there are plans to address that.
JASP – The biggest advantage JASP offers is its emphasis on Bayesian analysis. If that’s your preference, this might be the one for you. At the moment JASP is very different from all the other GUIs reviewed here because it won’t show you the R code it’s writing, and you can’t execute your own R code from within it. Plus the software has not been open to outside developers. The development team plans to address those issues, and their deep pockets should give them an edge.
Rattle – If your work involves ML/AI (a.k.a. data mining) instead of standard statistical methods, Rattle may be the best GUI for you. It’s focused on ML/AI, and its tabbed-based interface makes quick work of it. However, it’s the weakest of them all when it comes to statistical analysis. It also lacks many standard data management features. The only other GUI that offers many ML/AI features is BlueSky.
RKWard – This GUI blends a nice point-and-click interface with an integrated development environment that is the most advanced of all the other GUIs reviewed here. It’s easy to install and start, and it saves all your dialog box settings, allowing you to rerun them. However, that’s done step-by-step, not all at once as jamovi’s templates allow. The code RKWard creates is classic R, with no tidyverse at all.
Conclusion
I hope this brief comparison will help you choose the R GUI that is right for you. Each offers unique features that can make life easier for non-programmers. If one catches your eye, don’t forget to read the full review of it here.
Acknowledgements
Writing this set of reviews has been a monumental undertaking. It would not have been possible without the assistance of Bruno Boutin, Anil Dabral, Ian Fellows, John Fox, Thomas Friedrichsmeier, Rachel Ladd, Jonathan Love, Ruben Ortiz, Christina Peterson, Josh Price, Eric-Jan Wagenmakers, and Graham Williams.
Appendix: Guide to Scoring
In figures 1 and 2, Analytic Features adds up: statistics, machine learning / artificial intelligence, the ability to create R model objects, and the ability to validate models using techniques such as k-fold cross-validation. The Graphics Features is the sum of two rows, the number of graphs the software can create plus one point for small multiples, or facets, if it can do them. Usability is everything else, with each row worth 1 point, except where noted.
Feature | Definition |
Simple installation | Is it done in one step? |
Simple start-up | Does it start on its own without starting R, loading packages, etc.? |
Import Data Files | How many files types can it import? |
Import Database | How many databases can it read from? |
Export Data Files | How many file formats can it write to? |
Data Editor | Does it have a data editor? |
Can work on >1 file | Can it work on more than one file at a time? |
Variable View | Does it show metadata in a variable view, allowing for many fast edits to metadata? |
Data Management | How many data management tasks can it do? |
Transform Many | Can it transform many variables at once? |
Types | How many graph types does it have? |
Small Multiples | Can it show small multiples (facets)? |
Model Objects | Can it create R model objects? |
Statistics | How many statistical methods does it have? |
ML/AI | How many ML / AI methods does it have? |
Model Validation | Does it offer model validation (k-fold, etc.)? |
R Code IDE | Can you edit and execute R code? |
GUI Reuse | Does it let you re-use work without code? |
Code Reuse | Does it let you rerun all using code? |
Package Management | Does it manage packages for you? |
Table of Contents | Does output have a table of contents? |
Re-order | Can you re-order output? |
Publication Quality | Is output in publication quality by default? |
R Markdown | Can it create R Markdown? |
Add comments | Can you add comments to output? |
Group-by | Does it do group-by repetition of any other task? |
Output as Input | Does it save equivalent to broom’s tidy, glance, augment? (They earn 1 point for each) |
Developer tools | Does it offer developer tools? |
Scores
Feature | BlueSky | Deducer | JASP | jamovi | Rattle | Rcmdr | RKWard |
Simple installation | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
Simple start-up | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
Import Data Files | 7 | 13 | 4 | 5 | 9 | 7 | 5 |
Import Database | 5 | 0 | 0 | 0 | 1 | 0 | 0 |
Export Data Files | 5 | 7 | 1 | 4 | 1 | 3 | 3 |
Data Editor | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
Can work on >1 file | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
Variable View | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
Data Management | 30 | 9 | 2 | 3 | 9 | 25 | 4 |
Transform Many | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
Types | 25 | 16 | 9 | 12 | 24 | 21 | 14 |
Small Multiples | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
Model Objects | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
Statistics | 96 | 37 | 26 | 44 | 8 | 95 | 22 |
ML/AI | 9 | 0 | 0 | 0 | 12 | 0 | 0 |
Model Validation | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
R Code IDE | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
GUI Reuse | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
Code Reuse | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
Package Management | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
Output: Table of Contents | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Output: Re-order | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Output: Publication Quality | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
Output: R Markdown | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Output: Add comments | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
Group-by / Split File | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Output as Input | 3 | 1 | 0 | 0 | 0 | 1 | 0 |
Developer tools | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
Total | 196 | 94 | 48 | 77 | 67 | 160 | 56 |
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.