STATISTICAL COMPUTING USING R/S John Fox McMaster University The S statistical programming language and computing environment has become the defacto standard among statisticians and has made substantial inroads in the social sciences. The S language has two 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 lecture series and associated workshops will use R. A statistical package, such as SPSS or SAS, 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 non-standard, or to add to the builtin 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 S. Statisticians and others have taken advantage of the extensibility of S to contribute more than 1400 freely available packages of R programs. As well, S is especially capable in the area of statistical graphics, reflecting its origin at Bell Labs, a centre of graphical innovation. The first two (lecture) sessions are meant to provide a basic overview of and introduction to R, including to statistical modeling in R in effect, using R as a statistical package. The following four to five workshop sessions pick up where the basic lectures leave off, and combine lecture material with hands-on experience. The workshop sessions are intended to provide the background required to use R seriously for data analysis and presentation, including an introduction to S programming and to the design of custom statistical graphs, unlocking the power in the R statistical programming environment. The topics for the workshops in session 3-7 are somewhat flexible, depending upon participants interests: the topics given here are suggestions. If the size of the group is sufficiently small, the workshops will be conducted in a computer lab. An outline of the classes follows (with chapter references to Fox, 2002): 1. Getting started with S (Ch. 1) 2. Statistical models in S (Ch. 4, 5, & appendices) 3. Data in S; using R packages (Ch. 2 & 3) 4-5. Programming in S (Ch. 8) 6. S graphics (Ch. 7) 7. (Interest permitting). Building R packages
Course Web Site Materials for the course will be deposited at <http://socserv.socsci.mcmaster.ca/jfox/courses/r-course/index.html>. BIBLIOGRAPHY This has been an explosion of sources on S (particularly on R, with many titles of the form X with R ). The following list is by no means complete. Moreover, many statistics books not specifically focused on R or S contain S code and examples. Principal Text The principal text for this short course is J. Fox, An R and S-PLUS Companion to Applied Regression, Sage, 2002. The book is now slightly dated, but still suitable as an introduction. Additional materials are available on the web site for the book, <http://socserv.mcmaster.ca/jfox/books/companion/index.html>, 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. Alternatively (or additionally), more advanced students may wish to use W. N. Venables and B. D. Ripley, Modern Applied Statistics with S as their principal source. Manuals S-PLUS is distributed with a set of manuals, as is R. S-PLUS manuals are also available on the Insightful Corporation web site, at <http://www.insightful.com/support/documentation.asp>. Likewise, R manuals are also available at the CRAN (Comprehensive R Archive Network) web site, <http://cran.r-project.org/manuals.html>. A manual for S-PLUS Trellis Graphics (also useful for the lattice package in R) is at <http://cm.bell-labs.com/cm/ms/departments/sia/doc/trellis.user.pdf>.
Programming in R/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. ) W. J. Braun and D. J. Murdoch, A First Course in Statistical Programming with R. Cambridge: Cambridge University Press, 2007. This book introduces both R and traditional topics in statistical computing, such as optimization and computational linear algebra, using R as a vehicle. The pace is relatively leisurely and the material relatively easy to digest. 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. ) J. M. Chambers, Software for Data Analysis: Programming with R. New York: Springer, 2008. Chambers s newest book has not yet been published (as I write this syllabus in May) but will be out before the start of the 2008 ICPSR Summer Program. Although (obviously) I haven t yet read it, it will almost surely be worth reading. J. M. Chambers and T.J. Hastie, eds., Statistical Models in S. Pacific Grove, CA: Wadsworth, 1992. An edited volume describing the statistical modeling language in S, Versions 3 and 4, and R, and the object-oriented programming system used in S Version 3 and R (and available, for backwards compatibility, in S Version 4). In addition, the text covers S software for particular kinds of statistical models, including linear models, nonlinear models, generalized linear models, local-polynomial regression models, and generalized additive models. (The White 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 quite out of date 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 of 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). F. E. Harrell, Jr., Regression Modeling Strategies, With Applications to Linear Models, Logistic Regression, and Survival Analysis. New York: Springer, 2001. Describes an interesting approach to statistical modeling, with frequent references to Harrell s Hmisc and Design packages for S-PLUS and R. 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 (located in the gam package for R), and of nonparametric regression analysis in general. [The gam function in the mgcv package in R takes a somewhat different approach; see Wood (2006), below.] R. Koenker, Quantile Regression. Cambridge: Cambridge University Press, 2005. Describes a variety of methods for quantile regression by the leading figure in the area. The methods are implemented in Koenker's quantreg package for R. 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. P. Murrell. R Graphics. New York: Chapman and Hall, 2006. A tour-de-force the definitive reference on traditional R graphics and on the grid graphics system on which lattice graphics (the R implementation of Cleveland s Trellis graphics) is built. The figures from the book and R code to produce them are on Murrell s web site at <http://www.stat.auckland.ac.nz/~paul/rgraphics/rgraphics.html>. 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. Unfortunately, Bates s newer and generally more powerful lme4 package isn t discussed. Sarkar, D., Lattice: Multivariate Data Visualization with R. New York: Springer, 2008. Deepayan Sarkar is the developer of the powerful lattice package in R, which
implements Trellis graphics. This book provides a fine introduction to and overview of lattice graphics. 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 library in S-PLUS version 6 (and in SAS). Schafer s norm, cat, and mix packages are available for earlier versions of S-PLUS and for R. P. Spector, Data Manipulation with R. New York: Springer, 2000. Data management is a dry subject, but the ability to carry it out is vital to the effective day-to-day use of R (or of any statistical software). Spector provides a reasonably broad and clear introduction to the subject. 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, Generalized Additive Models: An Introduction with R. New York: Chapman and Hall, 2006. This book describes methods implemented in Wood s 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. Other Sources (Some Free) See the R and S-PLUS web sites, at <http://www.r-project.org/doc/bib/rpublications.html> and <http://www.insightful.com/support/splusbooks.asp>, respectively. R News, the newsletter of the R Project for Statistical Computing, is available at <http://cran.r-project.org/doc/rnews/>.