Rev 2 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
THE BASIC R README(See "RESOURCES" for additional resources)1. INTRODUCTIONThis directory contains the Unix source code tree for R, which isa language which is not entirely unlike the S language developedat AT&T Bell Laboratories by Rick Becker, John Chambers and AllanWilks. Indeed in the (present) absence of an R manual, you can(mostly) get along by using the S manual.R is free software distributed under a GNU-style copyleft.Currently the software is in a beta test state and we are seekingcomments and bug reports. Please send comments and reports toR@stat.auckland.ac.nzIn the case of bugs it would be very helpful to have code whichreliably reproduces the problem. Some bugs can be very hard tofix without this.2. PRESENT STATUSWe have implemented most of the functionality in the first S book(the "Blue Book") and many of the applications. In addition, wehave implemented a certain amount of functionality from the secondS book (the "White Book"). In particular we have a functioningversions of "lm" and "glm" and their associated "summary" and"anova" methods (it would be nice to have "drop1", "add1" and"step", but there hasn't been time to complete these yet).What we have in the way of manual is in the directory in an"output independent" form which can be used to create versionsfor HTML, LaTeX, troff etc.3. GOALSOur aim at the start of this project was to demonstrate that it waspossible to produce an S-like environment which did not suffer fromthe memory-demands and performance problems which S has. It is onlyrecently that we have started trying to turn R into a "real" system.In the short term we hope to create a small portable free systemwhich will provide most of the functionality of S and perhaps someextensions.Our present plan of attack is as follows:1. Re-implement parts of the system to make things more modularso that data sets can be saved and restored on an individualbasis and so that we have a real library facility.(Mostly done).2. Move the user interface to an event driven basis. This willenable users to interact with the system in a much moregraphical way. It also raises the possibility that we canborrow the graphics technology in LispStat.(Design phase).3. Add functionality in the form of new functions.(Ongoing).4. The present documentation is written using our own format intofiles which can be processed by a combination of sed and m4 intoa variety of formats (nroff, latex, html). We should use a realSGML description of our format and develop techniques for moregenerally translating into other formats.Longer-term we are hoping to move to a compiled evironment whichwill give substantial performance gains. A separate compiler"skunk works" is engaged in this.4. DIFFERENCES BETWEEN R AND S1. In R, "factor" and "ordered factor" are primitive vector types.This means in particular that they can be shaped as arrays.2. In R a list is a Lisp-style list composed of dotted pairs, ratherthan a vector of generic elements as in S. This means that listsubscripting can be rather inefficient. However, lists are rarelylarge and so we have not (yet) bothered to implement a matching"generic vector" type, even though this could be quite useful.Robert Gentleman + Ross Ihaka