R Graphical User Interface Comparison
This article is originally published at https://r4stats.com
I have recently updated my detailed reviews of Graphical User Interfaces (GUIs) for R, so it’s time for another comparison post. It’s not too difficult to rank them based on the number of features they offer, so let’s start there. I’m basing the counts on the number of dialog boxes in each category of four categories:
- Ease of Use
- General Usability
This is trickier data to collect than you might think. Some software has fewer menu choices, depending instead on more detailed dialog boxes. Studying every menu and dialog box is very time-consuming, but that is what I’ve tried to do. I’m putting the details of each measure in the appendix so you can adjust the figures and create your own categories. If you decide to make your own graphs, I’d love to hear from you in the comments below.
Figure 1 shows how the various GUIs compare on the average rank of the four categories. R Commander is abbreviated Rcmdr, and R AnalyticFlow is abbreviated RAF. We see that BlueSky and R-Instat are nearly tied for the lead. As my detailed reviews of those two point out, they are extremely different pieces of software! Rather than spend more time on this summary plot, let’s examine the four categories separately.
For the category of ease-of-use, I’ve defined it mostly by how well each GUI does what GUI users are looking for: avoiding code. They get one point each for being able to install, start, and use the GUI to its maximum effect, including publication-quality output without having to know anything about the R language itself. Figure two shows the result. JASP comes out on top here, with jamovi and BlueSky right behind.
Figure 3 shows the general usability features each GUI offers. This category is dominated by data-wrangling capabilities, where data scientists and statisticians spend the majority of their time. This category also includes various types of data input and output. R-Instat comes out on top not just due to its excellent selection of data wrangling features, but also due to its use of the rio package for importing and exporting files. The rio package combines the import/export capabilities of many other packages and it is easy to use. I expect the other GUIs will eventually adopt it, raising their scores by around 40 points. JASP shows up at the bottom on this plot due to its philosophy of encouraging users to prepare the data elsewhere before importing it into JASP.
Figure 4 shows the number of graphics features offered by each GUI. R-Instat has a solid lead in this category. In fact, this is actually an underestimate of R-Instat’s ability if you include its options to layer any “geom” on top of any graph. However, that requires knowing what the geoms are and how to use them. That’s knowledge of R code, of course.
When studying these graphs, it’s important to consider the difference between the relative and absolute performance. For example, relatively speaking, JASP and R Commander are not doing well here, but they do offer over 25 types of plots! That absolute figure might be fine for your needs.
Finally, we get to what is, for many people, the main reason for using this type of software: analytics. Figure 5 shows how the GUIs compare on the number of statistics, machine learning, and artificial intelligence methods. Here R Commander shows, well, a “commanding” lead! This GUI has been around the longest, and so has had more time for people to contribute to its capabilities. If you read an earlier version of this article, R Commander was not as dominant. That was due to the fact that I had not yet taken the time necessary to load and study every one of its 42 add-ons. That required a substantial amount of time, and these updated figures reflect a more complete view of its capabilities.
Again, it’s worth considering the absolute values on the x-axis. JASP and jamovi are in the middle of the pack, but they both have nearly 200 methods. If that is sufficient for your needs, you can then focus on the other categories.
Many important details are buried in these simple counts. For example, I enjoy using jamovi for statistical analyses, but it currently lacks machine learning and artificial intelligence. I like BlueSky too, but it doesn’t yet do any Bayesian statistics (jamovi and JASP do). Rattle comes out near the bottom due to its focus on machine learning, but it does an excellent job of introducing students to that area.
Overview of Each R GUI
The above plots help show us overall feature sets, but each package offers methods that the others lack. Let’s look at a brief overview of each. Remember that each of these has a detailed review that follows my standard template. I present them in alphabetical order.
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 mid-way through 2018. Its developers have been adding features at a rapid rate. When using BlueSky, it’s not initially apparent that R is involved at all. Unless you click the code button “</>” included in every dialog box, you’ll never see the R code. If you’re wanting to learn R code, seeing what BlueSky uses for each step can help. BlueSky saves the dialog settings for every step, providing GUI-based reproducibility. For R code, it uses the popular, but controversial, tidyverse style while most of the other GUIs use base R functions. BlueSky’s output is in publication-quality tables which follow the popular style of the American Psychological Association. It’s stronger than most of the others at AI/ML and psychometrics. It is now available for Windows and Mac (previous versions were Windows-only).
Deducer – This has a very nice-looking interface, and it’s probably the first R GUI to offer output in true APA-style word processing tables. 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 uses JGR, which never became as popular as the similar RStudio. The main developer, Ian Fellows, has moved on to another interesting GUI project called Vivid. I ran this most recently in February, 2022, and the output had many odd characters in it, perhaps due to a lack of support for Unicode.
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, features that differentiated it from JASP. jamovi has an extremely interactive interface that shows you the result of every selection in each dialog box (JASP does too). 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 prefer to avoid learning R code. jamovi’s biggest weakness is its dearth of data management featues, though there are plans to address that. The most recent version of jamovi borrowed the Bayesian analysis methods from JASP, making those two tied as the leaders in that approach. jamovi can help you learn R code by showing what it does at each step, though it uses its own functions from the jmv package. While those functions are not standard R, they do combine the capability of many R functions in each one.
JASP – The biggest advantage JASP offers is its emphasis on Bayesian analysis. If that’s your preference, this might be the one for you. Another strength is JASP’s Machine Learning module. At the moment JASP is very different from all the other GUIs reviewed here because it can’t show you the R code it’s writing. The development team plans to address that issue, but it has been planned for a couple of years now, so it must not be an easy thing to add.
R AnalyticFlow – This is unique among R GUIs as it is the only one that lets you organize your analyses using flowchart-like workflow diagrams. That approach makes it easy to visualize what a complex analysis is doing and to rerun it. It writes very clean base R code and provides easy access to the powerful lattice graphics package. It also supports the ggplot2 graphics package, but only through its more limited quickplot function. R AnalyticFlow also lets you extend its capability making it easier for R power users to interact with non-programmers. However, it has some serious limitations. Its set of analytic and graphical methods is quite sparse. It also lacks the important advantage that most workflow-based tools have: the ability to re-use the workflow on a new dataset by changing only the data input nodes. Since each node requires the name of the dataset used, you must change it in each location.
Rattle – If your work involves ML/AI (a.k.a. data mining) instead of standard statistical methods, Rattle may be the 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.
R Commander – This is the oldest GUI, having been around since at least 2005. There are an impressive 42 add-ons developed for it. It is currently one of only three R GUIs that saves R Markdown files (the others being BlueSky and RKWard), 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. R Commander makes it easy to blend menu-based analysis with coding. If your goal is to learn to code using base R, this is an excellent choice. The software’s main developer, John Fox, told me in January 2022 that he has no future development plans for R Commander. However, others can still extend its feature set by writing add-ons.
R-Instat – This offers one of the most extensive collections of data wrangling, graphics, and statistical analysis methods of any R GUI. At a basic level, its graphics dialogs are easy to use, and it offers powerful multi-layer support for people who are familiar with the ggplot2 package’s geom functions. To use its full modeling capabilities, you need to know what R’s packages (e.g. MASS) are and what each one’s functions (e.g. rlm) do. For an R programmer, recognizing a known package::function combination is much easier than recalling it without assistance. Such a user would find R-Instat’s GUI extremely helpful.
RKWard – This GUI blends a nice point-and-click interface with an integrated development environment (IDE) 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. RKWard is one of only three R GUIs that supports R Markdown.
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. Instructors of introductory classes in statistics or ML/AI should find these enable their students to focus on the material rather than on learning the R language. If one catches your eye, don’t forget to read the full review of it here.
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, Danny Parsons, Christina Peterson, Josh Price, David Stern, Roger Stern, and Eric-Jan Wagenmakers, and Graham Williams.
Appendix: Guide to Scoring
The four categories are defined by the following. The yes/no items get scored 1 for yes, and 0 for no. The “how many” items consist of simple unweighted counts of the number of features, e.g., the number of file types a package can import without relying on R code. I used to plot the total number of features, but that is now dominated by the large values for analytics features, making that total fairly redundant.
|Ease_of_Use||Installs without the use of R||1.00||0.00||1.00||1.00||0.00||0.00||0.00||1.00||1.00|
|Ease_of_Use||Starts without the use of R||1.00||1.00||1.00||1.00||1.00||0.00||0.00||1.00||1.00|
|Ease_of_Use||Remembers recent files||0.00||1.00||1.00||1.00||1.00||0.00||0.00||1.00||1.00|
|Ease_of_Use||Hides R code by default||1.00||1.00||1.00||1.00||0.00||0.00||0.00||0.00||1.00|
|Ease_of_Use||Use its full capability without using R||1.00||1.00||1.00||1.00||0.00||1.00||1.00||0.00||1.00|
|Ease_of_Use||Reuse the entire workflow without using R||1.00||0.00||1.00||1.00||0.00||0.00||0.00||0.00||1.00|
|Ease_of_Use||Pub-quality tables w/out R code steps||1.00||1.00||1.00||1.00||0.00||0.00||0.00||0.00||0.00|
|Ease_of_Use||Hides field-specific menus initially||0.00||1.00||1.00||1.00||0.00||0.00||1.00||0.00||0.00|
|Ease_of_Use||Table of Contents to ease navigation||0.00||0.00||1.00||0.00||0.00||0.00||0.00||0.00||1.00|
|Ease_of_Use||Easy to move blocks of output||1.00||0.00||1.00||0.00||0.00||0.00||0.00||0.00||0.00|
|Ease_of_Use||Easy to repeat any step by groups||1.00||0.00||0.00||0.00||0.00||0.00||0.00||0.00||0.00|
|General_Features||Operating Systems (how many)||2.00||3.00||4.00||4.00||3.00||3.00||3.00||1.00||3.00|
|General_Features||Import Data File Types (how many)||7.00||15.00||6.00||6.00||1.00||9.00||7.00||31.00||5.00|
|General_Features||Import Database (how many)||5.00||0.00||0.00||0.00||0.00||1.00||0.00||1.00||0.00|
|General_Features||Export Data File Types (how many)||5.00||7.00||1.00||5.00||1.00||1.00||3.00||20.00||3.00|
|General_Features||Multiple Data Files Open at Once||1.00||1.00||0.00||0.00||0.00||0.00||0.00||1.00||0.00|
|General_Features||Multiple Output Windows||1.00||0.00||0.00||0.00||0.00||0.00||0.00||0.00||0.00|
|General_Features||Multiple Code Windows||0.00||0.00||0.00||0.00||0.00||0.00||0.00||0.00||0.00|
|General_Features||Variable Metadata View||1.00||1.00||0.00||1.00||0.00||0.00||0.00||1.00||1.00|
|General_Features||Variable Search in Dialogs||0.00||1.00||0.00||1.00||0.00||0.00||0.00||0.00||0.00|
|General_Features||Variable Filtering (limit vars shown in data and dialogs)||0.00||0.00||0.00||0.00||0.00||0.00||0.00||1.00||0.00|
|General_Features||Model Builder adds N-way interactions||1.00||1.00||0.00||1.00||0.00||0.00||0.00||0.00||0.00|
|General_Features||Magnify GUI for teaching||1.00||0.00||1.00||1.00||0.00||0.00||1.00||0.00||0.00|
|General_Features||R Code Editor||1.00||1.00||0.00||1.00||1.00||0.00||1.00||1.00||1.00|
|General_Features||Reuse work via Code||1.00||1.00||0.00||1.00||0.00||1.00||1.00||1.00||1.00|
|General_Features||Output: Word Processing Features||1.00||0.00||1.00||1.00||0.00||0.00||1.00||0.00||1.00|
|General_Features||Output: R Markdown||1.00||0.00||0.00||0.00||0.00||0.00||1.00||0.00||1.00|
|General_Features||Data_Wrangling (how many)||68.00||8.00||2.00||3.00||12.00||26.00||29.00||75.00||4.00|
|General_Features||Transform Across Variables at Once||1.00||0.00||0.00||1.00||0.00||0.00||0.00||1.00||0.00|
|General_Features||Transform Down Many Variables at Once||1.00||1.00||0.00||1.00||1.00||1.00||1.00||0.00||0.00|
|General_Features||Label Across Many Variables at Once||0.00||0.00||0.00||1.00||0.00||0.00||0.00||0.00||0.00|
|Graphics||Types of Graphs (how many)||29.00||16.00||20.00||14.00||11.00||24.00||19.00||35.00||19.00|
|Graphics||Export Graphics Formats (how many)||2.00||6.00||6.00||4.00||5.00||7.00||7.00||8.00||3.00|
|Analytics||Statistics – Frequentist||159.00||35.00||71.00||168.00||17.00||8.00||591.00||209.00||55.00|
|Analytics||Statistics – Bayesian||0.00||0.00||43.00||12.00||0.00||0.00||0.00||0.00||0.00|
|Analytics||Statistics – Distributions||18.00||0.00||40.00||0.00||0.00||0.00||17.00||20.00||0.00|
|Analytics||Machine Learning / AI||35.00||0.00||16.00||0.00||4.00||27.00||1.00||0.00||0.00|
|Analytics||Model Validation Methods (how many)||4.00||0.00||4.00||0.00||1.00||1.00||0.00||0.00||0.00|
Please visit source website for post related comments.