{"id":1074,"date":"2011-03-27T20:32:50","date_gmt":"2011-03-27T18:32:50","guid":{"rendered":"http:\/\/www.theusrus.de\/blog\/?p=1074"},"modified":"2011-03-28T06:37:08","modified_gmt":"2011-03-28T04:37:08","slug":"r-guis-which-one-fits-you","status":"publish","type":"post","link":"https:\/\/www.theusrus.de\/blog\/r-guis-which-one-fits-you\/","title":{"rendered":"R GUIs: Which one fits you?"},"content":{"rendered":"<p>The gap of the new &#8220;digital divide&#8221; between those who only use computers when they are as easy to use as iPads and smartphones and those who like (or at least accept) to type commands to perform jobs, seems to get bigger and bigger.<\/p>\n<p>R &#8211; the lingua franca of statistical computing &#8211; is exactly such a command-line based language, reasonably well designed but still not GUI based at all. At this point GUIs are the only solution to make R accessible for &#8220;generation point-and-click&#8221; and bridge the divide.<\/p>\n<p>Personally, I am happy to use all well designed GUIs but as well see the power of language based command line interfaces &#8211; you need to work with both to be most effective.<br \/>\nBut let&#8217;s come to the comparison of the four different <a href=\"http:\/\/sciviews.org\/_rgui\/\" target=\"_blank\">frontends for R<\/a> (in lexicographic order) which try to do more than the built-in standard GUIs for the supported platforms:<\/p>\n<p style=\"text-align: center;\">(mouse-over the entries in the table to get more details)<\/p>\n<table class=\"main\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"575\">\n<tbody>\n<tr>\n<td width=\"50\"><\/td>\n<td>\n<h2 style=\"text-align: center;\"><a href=\"http:\/\/www.rforge.net\/JGR\/\" target=\"_blank\">JGR<\/a><\/h2>\n<\/td>\n<td>\n<h3 style=\"text-align: center;\"><a href=\"http:\/\/socserv.mcmaster.ca\/jfox\/Misc\/Rcmdr\/\" target=\"_blank\">RCommander<\/a><\/h3>\n<\/td>\n<td>\n<h2 style=\"text-align: center;\"><a href=\"http:\/\/sourceforge.net\/projects\/rkward\/\" target=\"_blank\">RKWard<\/a><\/h2>\n<\/td>\n<td>\n<h2 style=\"text-align: center;\"><a href=\"http:\/\/www.rstudio.org\" target=\"_blank\">R Studio<\/a><\/h2>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"which technology is used to achieve a platform independent application, and how big is its footprint\"><strong>Technology<\/strong><\/td>\n<td style=\"text-align: center;\" title=\"almost any computer has a decent JAVA installation, so there is nothing to install here\"><span style=\"color: #339966;\">JAVA<\/span><\/td>\n<td style=\"text-align: center;\">tcl\/tk<\/td>\n<td style=\"text-align: center;\" title=\"KDE is on its downswing on LINUX systems, who would ever consider to install it on a Windows machine?\"><span style=\"color: #ff0000;\">KDE<\/span><\/td>\n<td style=\"text-align: center;\">Qt<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"which platforms are supported - not only as a proof of concept\"><strong>Platform<\/strong><\/td>\n<td class=\"main\" style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"Linux\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Linux.png\" alt=\"\" width=\"25\" height=\"25\" \/><img loading=\"lazy\" decoding=\"async\" title=\"Windows\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Windows.png\" alt=\"\" width=\"25\" height=\"25\" \/><img loading=\"lazy\" decoding=\"async\" title=\"Mac\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Mac.png\" alt=\"\" width=\"25\" height=\"25\" \/><\/td>\n<td style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"Linux\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Linux.png\" alt=\"\" width=\"25\" height=\"25\" \/><img loading=\"lazy\" decoding=\"async\" title=\"Windows\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Windows.png\" alt=\"\" width=\"25\" height=\"25\" \/><\/td>\n<td style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"Linux\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Linux.png\" alt=\"\" width=\"25\" height=\"25\" \/><img loading=\"lazy\" decoding=\"async\" title=\"Windows\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Windows.png\" alt=\"\" width=\"25\" height=\"25\" \/><\/td>\n<td style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"Linux\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Linux.png\" alt=\"\" width=\"25\" height=\"25\" \/><img loading=\"lazy\" decoding=\"async\" title=\"Windows\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Windows.png\" alt=\"\" width=\"25\" height=\"25\" \/><img loading=\"lazy\" decoding=\"async\" title=\"Mac\" src=\"http:\/\/www.theusRus.de\/Blog-files\/Mac.png\" alt=\"\" width=\"25\" height=\"25\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"how painful is the installation process\"><strong>Installation<\/strong><\/td>\n<td style=\"text-align: center;\">simple<\/td>\n<td style=\"text-align: center;\">simple<\/td>\n<td style=\"text-align: center;\" title=\"you even need to specify KDE internals under installation\"><span style=\"color: #ff0000;\">painful<\/span><\/td>\n<td style=\"text-align: center;\" title=\"right out of the box ...\"><span style=\"color: #339966;\">easy<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"does the system support the general use of R (IDE) or does it trying to be a classical stats package\"><strong>Approach<\/strong><\/td>\n<td style=\"text-align: center;\">IDE<\/td>\n<td style=\"text-align: center;\">comprehensive<\/td>\n<td style=\"text-align: center;\">comprehensive<\/td>\n<td style=\"text-align: center;\">IDE<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"how does the tool organize its windows and workspaces\"><strong>Interface<\/strong><\/td>\n<td style=\"text-align: center;\" title=\"completely flexible window handling\"><span style=\"color: #339966;\">SDI<\/span><\/td>\n<td style=\"text-align: center;\">MDI (plus R)<\/td>\n<td style=\"text-align: center;\" title=\"windows are shuffled around in various tabs\"><span style=\"color: #ff0000;\">TDI<\/span><\/td>\n<td style=\"text-align: center;\">MDI<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"some applications never leave beta-state, but the version number might tell us a bit\"><strong>Maturity<\/strong><\/td>\n<td style=\"text-align: center;\">1.7-5<\/td>\n<td style=\"text-align: center;\">1.6-3<\/td>\n<td style=\"text-align: center;\">0.5.5<\/td>\n<td style=\"text-align: center;\">0.92.44<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"this is where you type your commands ;-)\"><strong>Console<\/strong><\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"this is where you write your R code - if you don't happen to have your favorite editor somewhere outside the R world\"><strong>CodeEditor<\/strong><\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\" title=\"didn't find one here\"><span style=\"color: #ff0000;\">no<\/span><\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"the best tool to keep your workspace under control\"><strong>Objbrowser<\/strong><\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\" title=\"can't find one here as well\"><span style=\"color: #ff0000;\">no<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #000000;\">yes<\/span><\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"probably the least clever idea to edit your data this way, but sometimes you need to ...\"><strong>DataEditor<\/strong><\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\">via fix()<\/td>\n<td style=\"text-align: center;\">yes<\/td>\n<td style=\"text-align: center;\" title=\"most likely to be fixed in future versions\"><span style=\"color: #ff0000;\">no<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"we are in a statistics package, so advanced tracking of the model objects is something nice to have\"><strong>ModelBrws<\/strong><\/td>\n<td style=\"text-align: center;\" title=\"could be better, but better than nothing\"><span style=\"color: #339966;\">yes<\/span><\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"sometimes you want to reflect on what you did, if it is really interactive work\"><strong>Logging<\/strong><\/td>\n<td style=\"text-align: center;\">console<\/td>\n<td style=\"text-align: center;\">console<\/td>\n<td style=\"text-align: center;\" title=\"it is nice if one does not need to read through tons of lines of code\"><span style=\"color: #339966;\">extended<\/span><\/td>\n<td style=\"text-align: center;\">console<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"bring your own function\"><strong>Plugins<\/strong><\/td>\n<td style=\"text-align: center;\" title=\"if you happen to be a good programmer ;-)\"><span style=\"color: #339966;\">via iWidgets<\/span><\/td>\n<td style=\"text-align: center;\"><span style=\"color: #339966;\">yes<\/span><\/td>\n<td style=\"text-align: center;\" title=\"if you happen to have the instructions at hand\"><span style=\"color: #339966;\">yes<\/span><\/td>\n<td style=\"text-align: center;\">no<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\" title=\"if you run a server you need a client\"><strong>Web-Client<\/strong><\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\">no<\/td>\n<td style=\"text-align: center;\" title=\"not really tested (by me), but can be pretty useful\"><span style=\"color: #339966;\">yes<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>There are certainly more frontends and features (especially on the technical side) to consider, and not everybody will share my verdict on every point (which I even probably didn&#8217;t get completely right), but that&#8217;s what comments are for \u00a0&#8230;<\/p>\n<p>My summary recommendations (regarding the four candidates) are:<\/p>\n<ul>\n<li>working styles are very different such that many of the above mentioned issues may be pointless<\/li>\n<li>for many of us the built-in GUIs are pretty good already, but differ from platform to platform (so you maybe want to avoid any further hassle)<\/li>\n<li>if you are on a Mac, half of the choices are gone already &#8230;<\/li>\n<li>those who really don&#8217;t like to &#8220;being helped&#8221; by your software, opt for the IDE approaches!<\/li>\n<li>those who really don&#8217;t want to learn any of the R-syntax and are purely on a user level, use one of the comprehensive approaches &#8211; you still might not be too happy though<\/li>\n<li>if you hate installation procedures, make sure to avoid RKWard (under Windows)<\/li>\n<li>the sleekest GUI is definitely R Studio<\/li>\n<li>if the webpage would be wider, I should have certainly mentioned <a href=\"http:\/\/www.deducer.org\/\" target=\"_blank\">Deducer<\/a>, which is a comprehensive offspring of JGR.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The gap of the new &#8220;digital divide&#8221; between those who only use computers when they are as easy to use as iPads and smartphones and those who like (or at least accept) to type commands to perform jobs, seems to get bigger and bigger. R &#8211; the lingua franca of statistical computing &#8211; is exactly [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,6,9],"tags":[],"class_list":["post-1074","post","type-post","status-publish","format-standard","hentry","category-r","category-tools","category-user-interface"],"_links":{"self":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts\/1074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/comments?post=1074"}],"version-history":[{"count":111,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts\/1074\/revisions"}],"predecessor-version":[{"id":1184,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts\/1074\/revisions\/1184"}],"wp:attachment":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/media?parent=1074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/categories?post=1074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/tags?post=1074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}