AN INTRODUCTION TO
STATISTICAL COMPUTING IN R

John Fox

(Department of Sociology,
McMaster University)

California Center
for Population Research

UCLA

February 2005

The statistical programming language
and computing environment S has become the de-facto standard among statisticians.
The S language has two major implementations: the commercial product S-PLUS,
and the free, open-source R. Both are available for Windows and Unix/Linux systems;
R, in addition, runs on Macintoshes. This one-day workshop introduces R.

A statistical package, such as SPSS,
is primarily oriented toward combining instructions with rectangular case-by-variable
datasets to produce (often voluminous) printouts. Such packages make routine
data analysis relatively easy, but they make it relatively difficult to do things
that are innovative or nonstandard, or to add to the built-in capabilities of
the package. In contrast, a good statistical computing environment also makes
routine data analysis easy, but it additionally supports convenient programming;
this means that users can extend the already impressive facilities of R. Statisticians
have taken advantage of the extensibility of R to contribute literally hundreds
of freely available "packages" of R programs (called "library sections"
or just "libraries" in S-PLUS). As well, R is especially capable in
the area of statistical graphics, reflecting the origin of S at Bell Labs, a
centre of graphical innovation.

The purpose of this workshop is
to provide a quick introduction to R and to show you how to accomplish a variety
of tasks, including (time permitting) the tasks of writing basic programs and
constructing nonstandard graphs. The statistical content is largely assumed
known.

Note that this is a large file (about
270 MB), and that an alternative is to download
the much smaller R Windows installer directly; then double-click on the
installer to install R as you would any Windows software. You can subsequently
download and install only those packages that you want over the Internet from
CRAN, via the Packages Install
packages from CRAN menu in the RGui console. Likewise, the small
installer
for Tinn-R can also be downloaded directly.

SELECTED BIBLIOGRAPHY

Basic Text

There is, of course, no "text"
for the workshop, but the workshop content is largely drawn from J. Fox, An
R and S-PLUS Companion to Applied Regression, Sage, 2002. Additional materials
are available on the
web site for the book, including several appendices (on structural-equation
models, mixed models, survival analysis, etc.); scripts for the examples in
all of the chapters and appendices; information on acquiring and installing
R; and more. The book is associated with the car
package for R (and S-PLUS). Alternatively (or additionally), those with more
advanced backgrounds in statistics may wish to read W. N. Venables and B. D.
Ripley, Modern Applied Statistics with S as their principal source.

Manuals

R is distributed with a set of manuals,
which are also available at
the CRAN web site.

A manual for S-PLUS Trellis Graphics
(also useful for the lattice package in R) is at also available
on the web.

Programming in S

R. A. Becker, J. M. Chambers, and
A .R. Wilks, The New S Language: A Programming Environment for Data Analysis
and Statistics. Pacific Grove, CA: Wadsworth, 1988. Defines S Version 2,
which forms the basis of the currently used S Versions 3 and 4, as well as R.
(Sometimes called the "Blue Book.")

J. M. Chambers, Programming with
Data: A Guide to the S Language. New York: Springer, 1998. Describes the
new features in S Version 4, including the newer formal object-oriented programming
system (also incorporated in R), by the principal designer of the S language.
Not an easy read. (The "Green Book.")

R. Ihaka and R. Gentleman, R: A
language for data analysis and graphics. Journal of Computational and Graphical
Statistics, 5:299-314, 1996. The original published description of the R
project, now dated but still worth looking at.

W. N. Venables and B. D. Ripley,
S Programming. New York: Springer, 2000. The definitive treatment of
writing software in the various versions S-PLUS and R, now slightly dated, particularly
with respect to R.

Selected Statistical Methods Programmed in S

W. Bowman and A. Azzalini, Applied
Smoothing Techniques for Data Analysis: The Kernel Approach with S-Plus Illustrations.
Oxford: Oxford University Press, 1997. A good introduction to nonparametric
density estimation and nonparametric regression, associated with the sm
package (for both S-PLUS and R).

C. Davison and D. V. Hinkley, Bootstrap
Methods and their Application. Cambridge: Cambridge University Press, 1997.
A comprehensive introduction to bootstrap resampling, associated with the boot
package (for S-PLUS and R, written by A. J. Canty). Somewhat more difficult
than Efron and Tibshirani.

B. Efron and R. J. Tibshirani, An
Introduction to the Bootstrap. London: Chapman and Hall, 1993. Another extensive
treatment of bootstrapping by its originator (Efron), also accompanied by an
S package, bootstrap (for both
S-PLUS and R, but somewhat less usable than boot).

T. J. Hastie and R. J. Tibshirani,
Generalized Additive Models. London: Chapman and Hall, 1990. An accessible
treatment of generalized additive models, as implemented in the gam
function in S-PLUS and in the gam
package in R, and of nonparametric regression analysis in general. [The gam
function in the mgcv package
in R takes a somewhat different approach; see Wood (2000), below.]

C. Loader, Local Likelihood and
Regression. New York: Springer, 1999. Another text on nonparametric regression
and density estimation, using the locfit package (in S-PLUS and R). Although
the text is less readable than Bowman and Azzalini, the locfit
software in very capable.

J. C. Pinheiro and D. M. Bates,
Mixed-Effects Models in S and S-PLUS. New York: Springer, 2000. An extensive
treatment of linear and nonlinear mixed-effects models in S, focused on the
authors' nlme package, which
is available for both S-PLUS and R. Mixed models are appropriate for various
kinds of non-independent (clustered) data, including hierarchical and longitudinal
data.

J. L. Schafer, Analysis of Incomplete
Multivariate Data. London: Chapman and Hall, 1997. This text presents a
broadly applicable Bayesian treatment of missing-data problems, including methods
for multiple imputation. The most extensive implementation of the methods in
the book is in the missing package
in S-PLUS version 6. Schafer's norm,
cat, mix,
and pan packages are available
for earlier versions of S-PLUS and for R.

T. M. Therneau and P. M. Grambsch,
Modeling Survival Data: Extending the Cox Model. New York, Springer:
2000. An overview of both basic and advanced methods of survival analysis (event-history
analysis), with reference to S and SAS software. There are both S-PLUS and R
versions of Therneau's state-of-the-art survival
package.

W. N. Venables and B. D. Ripley.
Modern Applied Statistics with S, Fourth Edition. New York: Springer,
2002. An influential and wide-ranging treatment of data analysis using S. Many
of the facilities described in the book are programmed in the associated (and
indispensable) MASS, nnet,
and spatial packages, available
both for S-PLUS and R. This text is more advanced and has a broader focus than
my R and S-PLUS Companion.

S. N. Wood, Modelling and smoothing
parameter estimation with multiple quadratic penalties. Journal of the Royal
Statistical Society, Series B, 62: 413-428, 2000. Describes the mgcv
package in R, which contains a gam
function for fitting generalized additive models. The initials "mgcv" stand
for multiple generalized cross validation, the method by which Wood selects
GAM smoothing parameters. The description of the software in the paper is slightly
dated; consult the package documentation for up-to-date information, including
additional references.