UnlikeS-PLUS,R does not incorporate a statistical graphical user interface (GUI), but it does include tools for building GUIs. Based on thetcltk package (which furnishes an interface to theTcl/Tk GUI toolkit), theRcmdr package provides a basic-statistics graphical user interface toR called the \u201cR Commander.\u201d The design objectives of the
platform GUI, the statistical functionality required for a basic-statistics course (though its current functionality has grown to include support for linear and generalized-linear models, and other more advanced features); to make it relatively di\ufb03cult to do unrea- sonable things; and to render visible the relationship between choices made in the GUI and theR commands that they generate. TheR Commander uses a simple and familiar menu/dialog-box interface. Top-level menus includeFile,Edit,Data,Statistics,Graphs,
Each dialog box includes aHelp button, which leads to a relevant help page. Menu and dialog-box selections generateR commands, which are recorded in a script window and are echoed, along with output, to an output window. The script window also provides the ability to edit, enter, and re-execute commands. Error messages, warnings, and some other information appear in a separate messages window. Data sets in theR Commander are simplyR data frames, and can be read from attached packages or imported from \ufb01les. Although several data frames may reside in memory, only one is \u201cactive\u201d at any given time. There may also be an active statistical model (e.g., anRlm orglm object). The purpose of this paper is to introduce and describe the use of theR Commander GUI; to describe the design and development of theR Commander; and to explain how theR Commander GUI can be extended. The second part of the paper (following a brief introduction) can serve as an introductory guide for students who will use theR Commander
plementation of theS statistical computing language and programming environment.R is a command-driven system: One normally speci\ufb01es a statistical analysis inR by typing commands\u2014that is, statements in theS language that are executed by theR interpreter.
In my opinion, a GUI for statistical software is a mixed blessing: On the one hand, a GUI does not require that the user remember the names and arguments of commands, and decreases the chances of syntax and typing errors. These characteristics make GUIs particularly attractive for introductory, casual, or infrequent use of software.
On the other hand, having to drill one\u2019s way through successive layers of menus and dialog boxes can be tedious and can make it di\ufb03cult to reproduce a statistical analysis, perhaps with variations. Moreover, providing a GUI for a statistical systemthat includes hundreds (or even thousands) of commands, many incorporating extensive options, can produce a labyrinth. The
UnlikeS-PLUS,R does not include a statistical GUI, but it does furnish tools for build- ing GUIs.1 TheRcmdr package provides a basic-statistics GUI forR, which I call the \u201cR Commander.\u201d The design objectives of theR Commander were as follows:
the statistical functionality required for a basic-statistics course.2 The original target text was David Moore\u2019sThe Basic Practice of Statistics, Second Edition (Moore 2000). With the help of a research assistant (Tony Christensen), I have since examined several other texts, including the third edition ofMoore (2004), collected suggestions from a number of individuals, and slightly expanded the horizons of theR Commander\u2014for example, to include linear and generalized-linear models.
that they generate. Commands are both pasted into a script window in theR Com- mander and echoed to an output window (see below). The script window is editable, commands in the window can be executed or re-executed, and new commands can be entered by typing directly in the window. Scripts can also be saved to, and loaded from, \ufb01les.
the Windows version.R, however, is available on other computing platforms as well (Macintosh computers and Unix/Linux systems), and the use ofR and theR Commander on these other systems is very similar to their use under Windows. I focus here on the Windows version of the software because I believe that the large majority of students in basic-statistics classes are Windows users.
One purpose of this paper is to introduce and describe the basic use of theR Commander GUI. In particular, Section 2 of the paper can serve as an introductory guide for students who will use theR Commander. Section 3 describes the design and development of theR Commander; informally assesses the extent to which it has met its goals; and suggests future directions for the project. Section 4 explains how theR Commander can be extended. The \ufb01nal section provides some information for instructors. In addition, the help \ufb01les for the current version of theRcmdr package are available on the ComprehensiveR Archive Network (CRAN) website athttp://CRAN.R-project.org/doc/packages/Rcmdr.pdf.
process. In contrast, under the single-document interface (SDI), theR Console andGraphical Device windows are not contained within a master window. There are several ways to runR in SDI mode\u2014for example, by editing theRconsole \ufb01le inR\u2019setc subdirectory, or by adding--sdi to theTarget \ufb01eld in theShortcut tab of theR desktop icon\u2019sProperties. This limitation of theRcmdr package is inherited from thetcltk package, on whichRcmdr depends.
installing theRcmdr package on Linux systems is typically straightforward. The task can be more formidible under OS/X on Macintosh systems, since thetcltk package on which theRcmdr depends requires thatTcl/Tk be installed and thatR is running under X-Windows. Detailed installation instructions for Macintosh (and other) users are available athttp://socserv.socsci.mcmaster.ca/jfox/Misc/Rcmdr/installation-notes.html.