THE BASIC R README (See "FAQ" and "RESOURCES" for more detailed information) (See "INSTALL" for help on installation) 1. INTRODUCTION This directory contains the source code tree for R, which is a language which is not entirely unlike (version 3 of) the S language developed at AT&T Bell Laboratories by Rick Becker, John Chambers and Allan Wilks. R is free software distributed under a GNU-style copyleft. The core of R is an interpreted computer language with a syntax superficially similar to C, but which is actually a "functional programming language" with capabilities similar to Scheme. The language allows branching and looping as well as modular programming using functions. Most of the user-visible functions in R are written in R, calling upon a smaller set of internal primitives. It is possible for the user to interface to procedures written in C or Fortran languages for efficiency, and also to write additional primitives. The R distribution contains functionality for a large number of statistical procedures. Among these are: linear and generalized linear models, nonlinear regression models, time series analysis, classical parametric and nonparametric tests, clustering and smoothing. There is also a large set of functions which provide a flexible graphical environment for creating various kinds of data presentations. A package specification allows the production of loadable modules for specific purposes, and several contributed packages are made available through the CRAN sites (see RESOURCES). 2. HISTORY R was initially written by Robert Gentleman and Ross Ihaka of the Statistics Department of the University of Auckland. In addition, a large group of individuals has contributed to R by sending code and bug reports. Since mid-1997 there has been a core group who can modify the R source code CVS archive. The group currently consists of Douglas Bates, John Chambers, Peter Dalgaard, Robert Gentleman, Kurt Hornik, Ross Ihaka, Friedrich Leisch, Thomas Lumley, Martin Maechler, Guido Masarotto, Paul Murrell, Brian Ripley, Duncan Temple Lang and Luke Tierney. 3. PRESENT STATUS The present version implements most of the functionality in the 1988 book "The New S Language" (the "Blue Book") and many of the applications. In addition, we have implemented a large part of the functionality from the 1992 book "Statistical Models in S" (the "White Book"). All the R functions have been documented in the form of help pages in an "output independent" form which can be used to create versions for HTML, LaTeX, text etc. A 800+ page Reference Index (a collection of all the help pages) can be obtained in a variety of formats. The manual `An Introduction to R' provides a more user-friendly starting point, and there is an `R Language Definition' manual and more specialized manuals on data import/export and extending R. See INSTALL for instructions on how to generate these documents. 4. GOALS Our aim at the start of this project was to demonstrate that it was possible to produce an S-like environment which did not suffer from the memory-demands and performance problems which S has. Somewhat later, we started to turn R into a "real" system, but unfortunately we lost a large part of the efficiency advantage in the process, so have recently revised the memory management mechanism and are looking for other candidates for optimization. Longer-term goals include to explore new ideas: e.g. virtual objects and component-based programming, and expanding the scope of existing ones like formula-based interfaces. Further, we wish to get a handle on a general approach to graphical user interfaces (preferably with cross-platform portability), and to develop better 3-D and dynamic graphics. Sincerely, The R Core Team.