Software and datasets to support `Modern Applied Statistics with S',
fourth edition, by W. N. Venables and B. D. Ripley.
Springer, 2002, ISBN 0-387-95457-0.

=============================================================================

This file documents changes made since the release of version 6.0 in Jan 1999


Version 6.0 (Jan 1999) pre-release for the third edition, adds ppr and lqs, 
  addterm, dropterm, enhanced rlm and stepAIC. Support for S-PLUS 5.0.

Version 6.1 (Apr 1999) release for the third edition. Support for S-PLUS
  5.1 and 2000, added more na-handling.

Version 6.2 (Aug 2000) tidy up documentation.  Would be 6.1pl010, but that
  causes R problems.

Version 6.3 (Dec 2001) add material destined for fourth edition.

Version 7.0 (Jan 2002) pre-release for the fourth edition.  S-PLUS 6.x
  and R only.

The NA-handling methods of S-PLUS 2000 have been incorporated.  With
most fitting methods, if na.action=na.exclude then the fitted values,
residuals and predictions (without newdata) are filled with NAs.  For
ppr, multinom and nnet, predictions with newdata are also filled with
NAs.

In earlier versions of S-PLUS na.exclude is not available.  There is
one change: if library MASS is attached ahead of survival4/5 and
na.omit is used, residuals will no longer be filled with NAs (this is
the behaviour of S-PLUS 2000 / 6.0).

The improved prediction methods of S-PLUS 2000 (that we supplied) are
used (for that version and 6.0) so prediction involving factor
variables will be safer.

There is continual development between versions: minor changes are
indicated by altering the patchlevel in the file VERSION.


To avoid a problem with method dispatch, all print methods have first
argument `x', and all summary, predict, coef, ... methods have first
argument `object'. summary methods now all use print.summary.xxx.

The dynamic memory allocation functions used have been tidied up to
agree with the arguments given in the 4.0 Programmer's Guide, and more
effort has been made to release memory as soon as it is no longer
needed.

There are some name changes internal to the C code to avoid clashes
with S.h in versions of 5.x.

Support has been added for S-PLUS 6.0.  As from 6.2pl004 this makes
use of the preservation of xlevels for the old-style classes and for
multinom.

R versions now make use of Rprintf, so internal output from nnet and
isoMDS will appear on the GUI console.

From 6.2pl004 the R help pages make use of the \method{generic}{class} 
markup.


MASS
====

Correction to cov.rob to get a better guess at percentiles for final
estimation.

A C version of ppr.f, and workarounds for qsbart under S-PLUS 5.1 on
Linux (internal code can go into an infinite loop on that system).

Under rare circumstances the "S" method of lqs would fail to find a
solution: it will now always find one.  This would also affect the
"MM" method of rlm.

eqscplot ignores NAs in calculating limits, so will work with data
with NAs in.

eqscplot has additional `range' and `uin' parameters.

confint.nls will now work with one-parameter nls models where profile
works (only on S-PLUS 2000 / 6.0 to our knowledge).

summary.polr had two typos in handling correlation=T.

(print.)summary.negbin now works again under R.

qda(, method="mve") had three typos.

ppr returns nterms for print.ppr (if this is a variable not a constant).

Small correction to lqs(method="S") will give slightly different results.

addterm and dropterm add F tests for glm methods, bug fixes for dispersion!=1.

Help for deriv3 was not being installed.

polr did not handle null models.

mca was not working correctly for nf != 2.

plot.profile could fail on a profile which was very flat at the MLE.

confint.profile.glm does a better job when convergence has not been
achieved.

New method confint.lm.

addterm and dropterm do a better job if na.action = na.omit.

fractions package now has support for NAs.

sorted=T in addterm and dropterm did not sort test values (but it
was not intended to be used with tests).

stepAIC now works with loglm fits (whose formula lacks a response),
although the output will be in terms of the coded variables given by
denumerate(). [typo in S version fixed 2001-04-18]

Animals dataset was missing line 26, `rats'.

stepAIC now works with survReg fits.

confint.lm now handles rank-deficient models.

Under R, addterm/dropterm.glm work better.

update.loglm needed a different arg sequence for S-PLUS 5 and 6.

loglm now allows offsets in the formula.

predict.lda and predict.qda try harder to avoid exponential underflow.

ginv( matrix(c(-1,0,0,1),nrow=1) ) now works on all platforms.

add fitdistr() in 6.2pl009.

corrections to glm.nb for R in 6.2pl010.

glm.nb includes all the constants in the log-likelihood from 6.2pl010.

eqscplot ignores Infs in calculating limits, so will work with data
with Infs in (as well as NAs and NaNs).

corresp in R was not dispatching on matrices correctly before 6.2pl011.

R version has nclass.{scott.FD} moved to base R from R 1.4.0/6.2pl011.

isoMDS and sammon check for abuse of initial configuration, and 
put row names on the answer if available.

isoMDS has new argument `k', to match cmdscale and sammon.

make use of colMeans, colSums, rowSums in place of apply.

addterm.glm, dropterm.glm were not getting the weights from 
model.extract on S-PLUS.

rms.curv is now implemented for R.

glm.nb was restricted to link=log on R.

lda and qda required a `y' argument on S+6.

biplot.correspondence now shows the origin as a cross.

lda, qda, loglm are explicitly documented to return formal classes.

huber checks for MAD equal to zero.

glmmPQL handles list `random' arguments.

max.col does a better job with NAs in second or later columns.

print.summary.polr could lose dimnames for 1 coefficient.


nnet
====

A couple of typos in summary.multinom/vcov.multinom under S-PLUS 5.x.

Memory handling under R could crash, and this has been rewritten from
version 6.2pl001.

The S-PLUS 6 version of nnet.formula required data to be supplied.
Fixed in 6.2pl009.

add1/drop1.multinom now return a data frame and not a matrix, for
compatibility with add1.lm and R's step() function.

model.frame.multinom method added for R.

R version require()s MASS (for vcov, although that has since been
moved to base).

nnet, multinom are explicitly documented to return formal classes.


spatial
=======

2D sphercov was returning NA (not 0) for r > d on some systems.
