Tải bản đầy đủ - 0trang
Chapter 2. The R User Interface
By default, R is installed into %ProgramFiles%R (which is usually C:\Program Files
\R) and installed into the Start menu under the group R. When you launch R in
Windows, you’ll see something like the user interface shown in Figure 2-1.1 Inside
the R GUI window, there is a menu bar, a toolbar, and the R console.
Figure 2-1. R user interface on Windows XP
Mac OS X
The default R installer will add an application called R to your Applications folder
that you can run like any other application on your Mac. When you launch the R
application on Mac OS X systems, you’ll see something like the screen shown in
Figure 2-2. Like the Windows system, there is a menu bar, a toolbar with common
functions, and an R console window.
On a Mac OS system, you can also run R from the terminal without using the GUI.
To do this, first open a terminal window. (The terminal program is located in the
Utilities folder inside the Applications folder.) Then enter the command “R” on the
command line to start R.
1. Yes, these are old screen shots. R has not changed very much, so we kept these the same in
the second edition.
8 | Chapter 2: The R User Interface
R User Interface
Figure 2-2. R user interface on Mac OS X
Linux and Unix
On Linux systems, you can start R from the command line by typing:
Notice that it’s a capital “R”; filenames on Linux are case sensitive. (And don’t type
the “$” character; that’s just the Unix prompt.)
Unlike the default applications for Mac OS and Windows, this will start an interactive R session on the command line itself. If you prefer, you can launch R in an
application window similar to the user interface on other platforms. To do this, use
the following command:
$ R -g Tk &
This will launch R in the background running in its own window, as shown in
Figure 2-3. Like the other platforms, there is a menu bar with some common functions, but unlike the other platforms, there is no toolbar. The main window acts as
the R console.
The R Graphical User Interface | 9
Figure 2-3. The interface for R on Fedora
Additional R GUIs
If you’re a typical desktop computer user, you might find it surprising to discover
how little functionality is implemented in the standard R GUI. The standard R
GUI implements only very rudimentary functionality through menus: reading
help, managing multiple graphics windows, editing some source and data files,
and some other basic functionality. There are no menu items, buttons, or palettes
for loading data, transforming data, plotting data, building models, or doing any
interesting work with data. Commercial applications like SAS, SPSS, and S-PLUS
include UIs with much more functionality.
Several projects are aiming to build an easier-to-use GUI for R:
The Rcmdr project is an R package that provides an alternative GUI for R.
You can install it as an R package. It provides some buttons for loading data
and menu items for many common R functions.
Rkward is a slick GUI front end for R. It provides a palette and menu-driven
UI for analysis, data-editing tools, and an IDE for R code development. It’s
still a young project and currently works best on Linux platforms (though
Windows builds are available). It is available from http://sourceforge.net/apps/
10 | Chapter 2: The R User Interface
R Productivity Environment
Revolution Computing recently introduced a new IDE called the R Productivity Environment. This IDE provides many features for analyzing data: a
script editor, object browser, visual debugger, and more. The R Productivity
Environment is currently available only for Windows, as part of Revolution
You can find a list of additional projects at http://www.sciviews.org/_rgui/. This
book does not cover any of these projects in detail. However, you should still be
able to use this book as a reference for all of these packages because they all use
(and expose) R functions.
The R Console
The R console is the most important tool for using R. The R console is a tool that
allows you to type commands into R and see how the R system responds. The commands that you type into the console are called expressions. A part of the R system
called the interpreter will read the expressions and respond with a result or an error
message. Sometimes, you can also enter an expression into R through the menus.
If you’ve used a command line before (for example, the cmd.exe program on Windows) or a language with an interactive interpreter such as LISP, this should look
familiar.2 If not, don’t worry. Command-line interfaces aren’t as scary as they look.
R provides a few tools to save you extra typing, to help you find the tools you’re
looking for, and to spot common mistakes. Besides, you have a whole reference book
on R that will help you figure out how to do what you want.
Personally, I think a command-line interface is the best way to analyze data. After I
finish working on a problem, I want a record of every step that I took. (I want to
know how I loaded the data, if I took a random sample, how I took the sample,
whether I created any new variables, what parameters I used in my models, etc.) A
command-line interface makes it very easy to keep a record of everything I do and
then re-create it later if I need to.
When you launch R, you will see a window with the R console. Inside the console,
you will see a message like this:
R version 2.15.1 (2012-06-22) -- "Roasted Marshmallows"
Copyright (C) 2012 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
2. Incidentally, R has quite a bit in common with LISP: both languages allow you to compute
expressions on the language itself, both languages use similar internal structures to hold data,
and both languages use lots of parentheses.
The R Console | 11
R User Interface
RStudio is a popular, open source IDE for working with R. To learn more,
see “RStudio” on page 15.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
[R.app GUI 1.52 (6188) x86_64-apple-darwin9.8.0]
[History restored from /Users/jadler/.Rapp.history]
This window displays some basic information about R: the version of R you’re running, some license information, quick reminders about how to get help, and a command prompt.
By default, R will display a greater-than sign (“>”) in the console (at the beginning
of a line, when nothing else is shown) when R is waiting for you to enter a command
into the console. R is prompting you to type something, so this is called a prompt.
For example, suppose that you typed 17 + 3 on the console. You would see something similar to this:
> 17 + 3
• I entered “17 + 3” into the R command prompt.
• The computer responded by writing “ 20” (I’ll explain what that means in
If you would like to try this yourself, then type “17 + 3” at the command prompt
and press the Enter key. You should see a response like the one shown above. In this
book, I will show text that I have typed in boldface. So, when you see an entry like
this in the book:
> 17 + 3
that means that I typed “17 + 3” into the console but that all the other text was
generated by R. (Your terminal probably won’t display text you have entered in
Sometimes, an R command doesn’t fit on a single line. If you enter an incomplete
command on one line, the R prompt will change to a plus sign (“+”). Here’s a simple
> 1 * 2 * 3 * 4 * 5 *
+ 6 * 7 * 8 * 9 * 10
12 | Chapter 2: The R User Interface
This could cause confusion in some cases (such as in long expressions that contain
sums or inequalities). On most platforms, command prompts, user-entered text,
and R responses are displayed in different colors to help clarify the differences.
Table 2-1 presents a summary of the default colors.
Table 2-1. Text colors in R interactive mode
Mac OS X
R User Interface
On most platforms, R provides tools for looking through previous commands.3 You
will probably find the most important line edit commands are the up and down
arrow keys. By placing the cursor at the end of the line, you can scroll through
commands by pressing the up arrow or the down arrow. The up arrow lets you look
at earlier commands, and the down arrow lets you look at later commands. If you
would like to repeat a previous command with a minor change (such as a different
parameter), or if you need to correct a mistake (such as a missing parenthesis), you
can do this easily.
You can also type history() to get a list of previously typed commands.4
R also includes automatic completions for function names and filenames. Type the
Tab key to see a list of possible completions for a function or a filename.
R’s interactive mode is convenient for most ad hoc analyses, but typing in every
command can be inconvenient for some tasks. Suppose that you wanted to do the
same thing with R multiple times. (For example, you may want to load data from
an experiment, transform it, generate three plots as Portable Document Format
[PDF] files, and then quit.) R provides a way to run a large set of commands in
sequence and save the results to a file. This is called batch mode.
One way to run R in batch mode is from the system command line (not the R console). By running R from the system command line, it’s possible to run a set of
commands without starting R. This makes it easier to automate analyses, as you can
change a couple of variables and rerun an analysis. For example, to load a set of
commands from the file generate_graphs.R, you would use a command like this:
3. On Linux and Mac OS X systems, the command line uses the GNU readline library and
includes a large set of editing commands. On Windows platforms, a smaller number of editing
commands is available.
4. As of this writing, the history command does not work completely correctly on Mac OS X.
The history command will display the last saved history, not the history for the current session.
Batch Mode | 13
$ R CMD BATCH generate_graphs.R
R would run the commands in the input file generate_graphs.R, generating an output
file called generate_graphs.Rout with the results. You can also specify the name of
the output file. For example, to put the output in a file labeled with today’s date (on
a Mac or Unix system), you could use a command like this:
$ R CMD BATCH generate_graphs.R generate_graphs_`date "+%y%m%d"`.log
If you’re generating graphics in batch mode, remember to specify the output device
and filenames. For more information about running R from the command line, including a list of the available options, run R from the command line with the
$ R --help
One key disadvantage of running R using the command R CMD BATCH is that your
scripts cannot access the system’s standard input. Luckily, there is a second command for running R in batch mode: the RScript command. You can execute a script
with a command like this:
$ RScript generate_graphs.R
Additionally, you can write executable scripts using RScript. Here’s an example of
how to do this (on Linux, Mac OS, or other Unix-like systems). First, create a file
called hello_world.R with the following contents:
#! /usr/bin/env RScript
Next, type the following command to make the script executable:
$ chmod +x hello_world.R
Now you can execute this command like any other command:
 "Hello world!"
We will use this ability in “Hadoop Streaming” on page 568.
Finally, you can also run commands in batch mode from inside R. To do this, you
can use the source command; see the help file for source for more information.
Using R Inside Microsoft Excel
If you’re familiar with Microsoft Excel, or if you work with a lot of data files in Excel
format, you might want to run R directly from inside Excel. The RExcel software
lets you do just that (on Microsoft Windows systems). You can find information
about this software at http://rcom.univie.ac.at/. This site also includes a single installer that will install R plus all the other software you need to use RExcel.
If you already have R installed, you can install RExcel as a package from CRAN. The
following set of commands will download RExcel, configure the RCOM server, install RDCOM, and launch the RExcel installer:
14 | Chapter 2: The R User Interface
install.packages("RExcelInstaller", "rcom", "rsproxy")
# configure rcom
# execute the following command in R to start the installer for RDCOM
# execute the following command in R to start the installer for REXCEL
Follow the prompts within the installer to install RExcel.
After you have installed RExcel, you will be able to access RExcel from a menu item.
If you are using Excel 2007, you will need to select the “Add-Ins” ribbon to find this
menu, as shown in Figure 2-4. To use RExcel, first select the R Start menu item. As
a simple test, try doing the following:
1. Enter a set of numeric values into a column in Excel (for example, B1:B5).
2. Select the values you entered.
3. On the RExcel menu, go to the item Put R Var → Array.
4. A dialog box will open, asking you to name the object you are creating in Excel.
Enter v and press the Enter key. This will create an array (in this case, just a
vector) in R with the values that you entered with the name v.
5. Now, select a blank cell in Excel.
6. On the RExcel menu, go to the item Get R Value → Array.
7. A dialog box will open, prompting you to enter an R expression. As an example,
try entering (v - mean(v)) / sd(v). This will rescale the contents of v, changing
the mean to 0 and the standard deviation to 1.
8. Inspect the results that have been returned within Excel.
For some more interesting examples of how to use RExcel, take a look at the Demo
Worksheets under this menu. You can use Excel functions to evaluate R expressions,
use R expressions in macros, and even plot R graphics within Excel.
One of the most popular ways to run R has become RStudio. RStudio is a free, opensource integrated development environment (IDE) for R. A screen shot of R Studio
is shown in Figure 2-5.
Unlike the standard R GUI, RStudio tiles windows on the screen and puts different
windows in different tabs. Additionally, you can install RStudio on a Linux server
and access R from a web browser! To learn more about RStudio and download a
copy, see http://www.rstudio.org.
RStudio | 15
R User Interface
Figure 2-4. Accessing RExcel in Microsoft Excel 2007
Figure 2-5. R Studio
16 | Chapter 2: The R User Interface
Other Ways to Run R
There are several open-source projects that allow you to combine R with other
As a server
The Rserve software allows you to access R from within other applications. For
example, you can produce a Java program that uses R to perform some calculations. As the name implies, Rserve is implemented as a network server, so a
single Rserve instance can handle calculations from multiple users on different
machines. One way to use Rserve is to install it on a heavy-duty server with lots
of CPU power and memory, so that users can perform calculations that they
couldn’t easily perform on their own desktops. For more about this project, see
As we described above, you can also use R Studio to run R on a server and access
if from a web browser.
The ESS (Emacs Speaks Statistics) package is an add-on for Emacs that allows
you to run R directly within Emacs. For more on this project, see http://ess.r
Other Ways to Run R | 17
R User Interface
As a web application
The rApache software allows you to incorporate analyses from R into a web
application. (For example, you might want to build a server that shows sophisticated reports using R lattice graphics.) For information about this project, see