Rev 15329 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
Dear Emacs, please make this -*-Text-*- mode!*************************************************** ** 1.4 SERIES NEWS ** ***************************************************CHANGES IN R VERSION 1.4.0NEW FEATURESo arraySubscript and vectorSubscript are now available to packageusers. All "array-like" packages can use a standard method forcalculating subscripts.o new.env is now internal and allows you to set hashing. Also,parent.env and parent.env<- are included to provide direct accessto setting and retrieving environments.o Function identical(), a fast and reliable way to test for exactequality of two objects.o bxp() has a show.names argument allowing labels on a singleboxploto Function nsl() to look up IP addresses of hosts: intended asa way to test for internet connectivity.o R CMD Rd2dvi has more convenient defaults for its output file.o R CMD check now also fully checks the Depends field in thepackage DESCRIPTION file.o New function checkDocArgs() for checking whether all argumentsshown in \usage of Rd files are documented in the corresponding\arguments.o New function checkTnF() for finding expressions containing thesymbols `T' and `F'.o The startup processing now interprets escapes in the values ofenvironment variables set in R_HOME/etc/Renviron in a similarway to most shells.o scan() allows unlimited (by R) lengths of input lines, insteadof a limit of 8190 chars.o Ops, cbind, diff and na.omit methods for time series objectsmoved from package ts to package base.o Started work on new package management system:package.status() and friends.BUG FIXESo Fixed an inconsistency in the evaluation context for on.exitexpressions between explicit calls to `return' and falling offthe end returns.*************************************************** ** 1.3 SERIES NEWS ** ***************************************************CHANGES IN R VERSION 1.3.1NEW FEATURESo massage-examples is now a Perl script and about 50x faster.o On Unix(-alike) systems the default pager is now determinedduring configuration, and is `less' if available, otherwise`more' (and not `more -s' as previously).o configure now tests for strptime functions that fail on inputsbefore 1970 (found on Irix). It no longer checks for the SCSLand SGIMATH libraries on Irix.o New formula interface to cor.test() in package ctest.o "NA" is now a valid color name (as NA has been a valid integercolor).o pairs() function has a new `gap' argument for adjusting thespacing between panels.o R CMD check has a new test for unbalanced braces in Rd files.o readBin() has a new argument `signed' to simplify readingunsigned 8- and 16-bit integers.o New capabilities() option "cledit".BUG FIXESo Fixed placement of mtext() output (including tick labels)when text is perpendicular to axis AND axis is logged(PR#997 and PR#865).o rect() and arrows() now respond to setting of par(xpd)o abline() now responds to the setting of par(xpd), includingvia the "..." argument (PR#750).o Using cat() to a gzfile() connection no longer compresses poorly(at the expense of some latency).o The `exact' p-values for the two-sided two-sampleKolmogorov-Smirnov test in 1.3.0 were for the wrong tail.o In the HTML conversion of .Rd files, \link[foo]{bar} wasignoring [foo] outside \code{} statements.o lm.influence(), plot.lm(), influence.measures() and therelated diagnostic measures now handle lm() fits withna.action=na.exclude.o Eliminated segmentation fault in while loops without bracesin their bodies.o barplot did not accept NA heights unless ylim was specified.o predict.lm() failed with single-column model matrix (PR#1018).o legend() now also works with 100s of entries (thanks toM. Schlather).o A long-standing bug leading to inaccuracy in polyroot() has beenfixed (PR#751)o A very old bug with eval() not handling a numeric `envir' argumentaccording to specifications has been fixed. [This in particularbroke ported S-PLUS code that used eval(..., sys.parent())]. Also,eval() now checks that a numeric `envir' has length one to preventaccidental passing of matrices instead of data frames.o The C code underlying nlm(f, *) now also works correctly when f(x)returns +Inf {nlm() itself *did* work!}.o pdfcolor.tex is now included in doc/manual, as pdftex seems nolonger to include it.o Fixed protect bug in save() code that might have been responsiblefor occasionally saving corrupted workspaces.o capabilities("X11") now reports if X11 is available in thissession, thereby giving the correct answer if --gui=none wasspecified.o Rd files with ,, inside \code{} were treating this as aligature in LaTeX: now corrected in Rdconv.CHANGES IN R VERSION 1.3.0NEW FEATURESo Changes to connections:- New function url() to read from URLs. file() will alsoaccept URL specifications, as will all the functions whichuse it.- file connections can now be opened for both reading and writing.- Anonymous file connections (via file()) are now supported.- New function gzfile() to read from / write to compressed files.- New function fifo() for connections to / from fifos (on Unix).- Text input from file, pipe, fifo, gzfile and url connectionscan be read with a user-specified encoding.- New functions readChar() and writeChar() to read characterstrings with known lengths and no terminators, and to writeuser-specified lengths from strings.- sink() now has a stack of output connections, following S4.- sink() can also be applied to the message stream, to captureerror messages to a connection. Use carefully!- seek() has a new `origin' argument.- New function truncate() to truncate a connection open forwriting at the current position.- Socket connections via function socketConnection().- The `blocking' argument for file, fifo and socket connectionsis now operational.o Changes to date/time classes and functions:- Date/time objects now all inherit from class "POSIXt".- New function difftime() and corresponding class for date/timedifferences, and a round() method.- Subtraction and logical comparison of objects from differentdate/time classes is now supported. NB: the format for thedifference of two objects of the same date/time class haschanged, but only for objects generated by this version, notthose generated by earlier ones.- Methods for cut(), seq(), round() and trunc() for date/timeclasses.- Convenience generic functions weekdays(), months(), quarters()and julian() with methods for "POSIXt" objects.o Coercion from real to integer now gives NA for out-of-rangevalues, rather than the most extreme integer of the same sign.o The Ansari-Bradley, Bartlett, Fligner-Killeen, Friedman,Kruskal-Wallis, Mood, Quade, t, and Wilcoxon tests as well asvar.test() in package ctest now have formula interfaces.o Matrix multiplication functions %*% and crossprod() now use alevel-3 BLAS routine dgemm. When R is linked with the ATLASor other enhanced BLAS libraries this can be substantiallyfaster than the previous code.o New functions La.eigen() and La.svd() for eigenvector andsingular value decompositions, based on LAPACK. These arepreferred to eigen() and svd() for new projects and can makeuse of enhanced BLAS routines such as ATLAS. They areused in cancor(), cmdscale(), factanal() and princomp()and this may lead to sign reversals in some of the output ofthose functions.o Provided the Fortran compiler can handle COMPLEX*16, thefollowing routines now handle complex arguments, based onLAPACK code.qr, qr.coef, qr.solve, qr.qy, qr.qty, solve.default, svd, La.svd.o aperm() uses strides in the internal C code and so issubstantially faster (by Jonathan Rougier).o The four bessel[IJKY](x,nu) functions are now defined for nu < 0.o [dpqr]nbinom also accept an alternative parametrization via themean and the dispersion parameter (thanks to Ben Bolker).o Generalised "birthday paradox" functions [pq]birthday.o boxplot() and bxp() have a new argument `at'o New function capabilities() to report optional capabilitiessuch as jpeg, png, tcltk, gzfile and url support.o New function checkFF() for checking foreign function calls.o New function col2rgb() for color conversion of names, hex, orinteger.o coplot() has a new argument `bar.bg' (color of conditioning bars),gives nicer plots when the conditioners are factors, and allowsfactors for x and y (treated almost as if unclass()ed) using newargument `axlabels'. [original ideas by Thomas Baummann]o `hessian' argument added to deriv() and its methods. A new functionderiv3() provides identical capabilities to deriv() except that`hessian' is TRUE by default.deriv(*, *, func = TRUE) for convenience.o New dev.interactive() function, useful for setting defaults forpar(ask=*) in multifigure plots.o dist() in package mva can now handle missing values, andzeroes in the Canberra distance.o The default method for download.file() (and functions which useit such as update.packages()) is now "internal", and uses codecompiled into R.o eigen() tests for symmetry with a numerical tolerance.o New function formatDL() for formatting description lists.o New argument `nsmall' to format.default(), for S-PLUScompatibility (and used in various packages).o ?/help() now advertises help.search() if it fails to find a topic.o image() is now a generic function.o New function integrate() with S-compatible call.o New function is.unsorted() the C version of which also speeds up.Internal(sort()) for sorted input.o is.loaded() accepts an argument PACKAGE to search withina specific DLL/shared library.o Exact p-values are available for the two-sided two-sampleKolmogorov-Smirnov test.o lm() now passes `...' to the low level functions for regressionfitting.o Generic functions logLik() and AIC() moved from packages nlsand nlme to base, as well as their *.lm methods.o New components in .Machine give the sizes of long, long long andlong double C types (or 0 if they do not exist).o merge.data.frame() has new arguments, `all[.xy]' and `suffixes',for S compatibility.o model.frame() now calls na.action with the terms attribute seton the data frame (needed to distiguish the response, forexample).o New generic functions naresid(), napredict() and naprint()(formerly in packages survival5 and MASS, also used in rpart).Also na.exclude(), a variant on na.omit() that is handleddifferently by naresid() and napredict().The default, lm and glm methods for fitted, residuals, predictand weights make use of these.o New function oneway.test() in package ctest for testing forequal means in a one-way layout, assuming normality but notnecessarily equal variances.o options(error) accepts a function, as an alternative toan expression. (The Blue Book only allows a function; currentS-PLUS a function or an expression.)o outer() has a speed-up in the default case of a matrix outerproduct (by Jonathan Rougier).o package.skeleton() helps with creating new packages.o New pdf() graphics driver.o persp() is now a generic function.o plot.acf() makes better use of white space for `nser > 2', hasnew optional arguments and uses a much better layout when morethan one page of plots is produced.o plot.mts() has a new argument `panel' providing the samefunctionality as in coplot().o postscript() allows user-specified encoding, with encoding filessupplied for Windows, Mac, Unicode and various others, and withan appropriate platform-specific default.o print.htest() can now handle test names that are longer thanone line.o prompt() improved for data sets, particularly non-dataframes.o qqnorm() is now a generic function.o read.fwf() has a new argument `n' for specifying the number ofrecords (lines) read in.o read.table() now uses a single pass through the dataset.o rep() now handles lists (as generic vectors).o scan() has a new argument `multi.line' for S compatibility,but the default remains the opposite of S (records can crossline boundaries by default).o sort(x) now produces an error when x is not atomic instead ofjust returning x.o split() now allows splitting on a list of factors in which casetheir interaction defines the grouping.o stl() has more optional arguments for fine tuning, a summary()and an improved plot() method.o New function strwrap() for formatting character strings intoparagraphs.o New replacement functions substr<-() and substring<-().o Dataset swiss now has row names.o Arguments `pkg' and `lib' of system.file() have been renamed to`package' and `lib.loc', respectively, to be consistent withrelated functions. The old names are deprecated. Argument`package' must now specify a single package.o The Wilcoxon and Ansari-Bradley tests now return pointestimators of the location or scale parameter of interest alongwith confidence intervals for these.o New function write.dcf() for writing data in Debian Control Fileformat. parse.dcf() has been replaced by (much faster) internalread.dcf().o Contingency tables created by xtabs() or table() now have asummary() method.o Functions httpclient(), read.table.url(), scan.url() andsource.url() are now deprecated, and hence method="socket' indownload.file() is. Use url connections instead: inparticular URLs can be specified for read.table(), scan() andsource().o Formerly deprecated function getenv() is now defunct.o Support for package-specific demo scripts (R code). demo() nowhas new arguments to specify the location of demos and to allowfor running base demos as part of `make check'.o If not explicitly given a library tree to install to or removefrom, respectively, R CMD INSTALL and R CMD REMOVE now operateon the first directory given in `R_LIBS' if this is set andnon-null, and the default library otherwise.o R CMD INSTALL and package.description() fix some common problemsof DESCRIPTION files (blank lines, ...)o The INSTALL command for package installation allows a `--save'option. Using it causes a binary image of the package contentsto be created at install time and loaded when the package isattached. This saves time, but also uses a more standard wayof source-ing the package. Packages that do more than justassign object definitions may need to install with `--save'.Putting a file `INSTALL.R' in the package directory makes`--save' the default behavior. If that file is not empty, itscontents should be R commands executed at the end of creatingthe image.There is also a new command line option `--configure-vals' forpassing variables to the configure script of a package.o R CMD check now also checks the keyword entries against the listof standard keywords, for code/documentation mismatches (thiscan be turned off by the command line option `--no-codoc'), andfor sufficient file permissions (Unix only). There is a new checkfor the correct usage of library.dynam.It also has a new command line option `--use-gct' to use`gctorture(TRUE)' when running R code.o R CMD Rd2dvi has better support for producing reference manualsfor packages and package bundles.o configure now tests for the versions of jpeg (>= 6b), libpng (>=1.0.5) and zlib (>= 1.1.3). It no longer checks for theCXML/DXML BLAS libraries on Alphas.o Perl scripts now use Cwd::cwd() in place of Cwd::getcwd(), ascwd() can be much faster.o R::Dcf.pm can now also handle files with more than one recordand checks (a little bit) for continuation lines without leadingwhitespace.o New manual `R Installation and Administration' with fullerdetails on the installation process: file `INSTALL' is now abrief introduction referencing that manual.o New keyword `internal' which can be used to hide objects thatare not part of the API from indices like the alphabetical listsin the HTML help system.o Under Unix, shlib modules for add-on packages are now linkedagainst R as a shared library (`libR') if this exists. (Thisallows for improved embedding of R into other applications.)o New mechanism for explicitly registering native routines in aDLL/shared library accessible via .C(), .Call(), .Fortran() and.External(). This is potentially more robust than the existingdynamic lookup, since it checks the number of arguments, type ofthe routine.o New mechanism allowing registration of C routines for convertingR objects to C pointers in .C() calls. Useful for references todata in other languages and libraries (e.g. C and hdf5).o The internal ftp/http access code maintains the event loop, soyou can download whilst running tcltk or Rggobi, say. It canbe hooked into package XML too.BUG FIXESo boxplot.stats() now returns the correct `n' component in the case ofNAs. This also affects `conf', the notch length (PR#967).o the "coef = 0" fix (PR#917) to boxplot.stats() brokeboxplot.stats(do.out = FALSE).o curve(* , add = FALSE) now works correctly again if used whenpar("xlog") is true.o Printing a dataframe with a column called "row.names" or"check.names" omitted the column.o data.frame(a=1, b=2)[1, -(1:2)] now works, giving an emptydata frame. as.matrix(df), deparse(), dput() and str() now workfor empty data frames.o dbeta() could return zero erroneously on some platforms whereroundoff makes e.g. 1.3 - 1 > (1.3 + 1) - 2 (Solaris and HP-UXwere affected). (PR#970)o pointer protection in deriv() (PR#953)o expand.data.frame() didn't interpret its subset= argument inthe data frame. (PR#979 et al., fix from Greg Warnes)o format() on character arrays was losing the dimensions.o hist.default() was ignoring its `probability' argument forequi-spaced breaks.o Occasionally insane results of is.nan(NULL), is.na(NULL) (PR#952)o ks.test() in package ctest now had the one-sided alternatives inthe one-sample case reversed (PR#934).o ls.str() and lsf.str() now work better with pos > 1, and arecorrectly documented (PR#899).o plot(1:2, xaxs = "i") now gives both "1.0" and "2.0" x-axis labels.o promax() was not using its `m' argument (m=4 was always used).o qr.X() was ignoring pivoting (which happens only inrank-deficient cases).o sign of Pearson residuals was wrong for reciprocal link (PR#862)o The algorithm for determining starting estimates in the SSfplself-starting model in the nls package was changed following asuggestion by Phillipe Grosjean <phgrosje@ulb.ac.be>o svd(x)$v was not a matrix when x had only 1 row (PR#963).o symnum(x) behaves more reasonably for zero length or non-numeric x.o The implementation of sys.function() did not work when thecurrent function was already a function (e.g., a closure).o tapply() had "..." argument after simplify=, which made itincompatible with S when passing additional unnamed arguments to FUN.o use formula environments in xy.coords() (PR#932)o Unused entry points in `src/appl/fortran.c' and `Fortran.h'have been removed.o Unused directory `src/f2clib' and header `src/include/R_ext/f2c.h'have been removed.o The documentation and parts of the parse/deparse mechanismindicated that there was an operator `%'. Corrected (PR#925).o Fixed some cases where the deparser gave code that threw asyntax error when parsed.o Using a pushback with more than two lines at a time could crash.o Eliminate or warn on use of .Last.value in help examples, since.Last.value is only set from top-level expressions (and wasincorrectly documented).o asInteger was ignoring integer overflow (PR#929 and others).o approxfun(*, ties = <fun>) could return garbage when there were ties;ties = "ordered" was incorrect--also for approx()-- when there wasa tie at the very right.*************************************************** ** 1.2 SERIES NEWS ** ***************************************************CHANGES IN R VERSION 1.2.3NEW FEATURESo Support for configuration and building the Unix version of Runder Mac OS X. (The `classic' Macintosh port is `Carbonized'and also runs under that OS.)o dotchart() and stripchart() become the preferred names fordotplot() and stripplot(), respectively. The old names are nowdeprecated.o Functions in package ctest now consistently use +/-Inf ratherthan NA for one-sided confidence intervals.BUG FIXESo `Writing R Extensions' incorrectly described an entry point`fmod' which was not included in the R binary on most systems.The entry point has been removed, to avoid any confusion withthe standard C entry point of the same name.o Printing of kernels in package ts was unreliable: the internalrepresentation was correct.o A problem with "..." in substitutions has been fixed (PR#860).o Various strangeness with match.call() and "..." has been fixed(PR#813).o sys.function() could return an unevaluated promise, messing upformals() and match.arg() (PR#872)o Deparsing or dumping attributes with non-standard names wasnot quoting the name (PR#871).o We now use match.fun() in tapply() so that it won't get trappedby non-functions masking FUN.o The `nmax' argument in scan(what=list(...), nmax=300) wascounting blank lines, although they were said to be ignored.This affected using read.table on files with blank lines in1.2.2, and using `n' with `what' a list.o as.numeric(), as.integer(), as.complex() returned zero oncompletely blank strings. Now they return NA. (PR#870)o Overflow in deparse() in terms(formula) with very long left-handside fixed. (PR#873)o lowess(c(1:3, 7:5)) now should give the same on different platforms,since now in the C code (int)(f*n + 1e-7) is used.o curve(*, add = TRUE) now works properly with active log scales.o rt() could give different results on different platforms asthe order of evaluation of calls to random numbers was notfully defined. This affected the Mac port.o ppr() inside nested calls sometimes failed to find objectsdue to a typo in the eval call in ppr.formula.o qchisq(0.025, 31, ncp=1, lower.tail=FALSE) now works. (PR#875)o dchisq with integer x, df and ncp sometimes gave incorrectresults on i686 Linux.o Cancelling a quit caused quit() not to ask next time it was called.o Some complicated operations with "..." didn't work.o Missingness was not correctly propagated in some cases.o eigen() segfaulted on 0-dimensional matrices.o nls( ~ rhs, ..) now works (formula with empty left hand side).o The fuzz added in hist() for 1.2.2 broke the logic testing forequidistant breakpoints.o Calls to replacement functions ("f<-") lost argument names(PR#888).o is.na() and is.nan() gave random results on lists containingzero-length objects.o cor(), cov() and var() gave a result on a zero-length argument(now an error). cov(x, NULL) and cor(x, NULL) are now errorsif x is a vector. (PR#883).o ?smooth.spline now properly describes `spar' which is *not*lambda. smooth.spline(1:20, spar = 50) gives an error insteadof silent nonsense. print.smooth.spline() now makes use of adigits argument.o Confidence intervals for wilcox.test() had the samples reversedin the two-sided case (PR#895), and sometimes got continuitycorrection wrong (PR#896).o Using out-of-range font values in text() on a postscript()device on Windows could crash. .ps.prolog was incorrectlynamed in some of the documentation. (PR#914)o Warning messages of > 8191 chars could crash R (PR#902), ascould errors. Now they are truncated to 8191 chars onmachines which have vsnprintf (almost all).o range() now works properly for date-time objects.o contour() could loop infinitely (PR#897).o R-lang manual had precedence of %% wrong (PR#879).o try() constructs lost protection of R_alloc'ed memory (PR#877).o Documented that as.numeric() dispatches to as.double.foo methods(PR#918.1).o httpclient() (and the "socket" method of download.file) skipped ^Vrather than ^Z in input (if drop.ctrl.z = TRUE, the default).o boxplot(*, range = 0) and boxplot.stats(*, coef = 0) nowdon't return outliers anymore (PR#917).o segmentation fault with tmp[[1,]] (PR#904)o incorrect "..." handling in plot.factor (PR#830)CHANGES IN R VERSION 1.2.2NEW FEATURESo The Macintosh port becomes a full member of the R family and itssources are incorporated as from this release.See `src/macintosh/INSTALL' for how that port is built.o The API header files and export files `R.exp' are released underLGPL rather than GPL to allow dynamically loaded code to bedistributed under licences other than GPL.o postscript() and xfig() devices now make use of genuine Adobeafm files, and warn if characters are used in string width orheight calculations that are not in the afm files.o Configure now uses a much expanded search list for finding aFORTRAN 77 compiler, and no longer disallows wrapper scripts forthis compiler.o New Rd markup \method{GENERIC}{CLASS} for indicating the usageof methods.o print.ftable() and write.ftable() now have a `digits' argument.o undoc() has a new `lib.loc' argument, and its first argument isnow called `package'.BUG FIXESo The behaviour of polygon() with NA coordinate values is nowdocumented.o polygon() now correctly recycles the values of border and lty.Thanks to Denis White.o readBin() and writeBin() were not always making good use oflong types (such as long double) when available.o The C function fprec was not handling very small denormalizednumbers correctly. This affected the way they were printed onWindows, for example.o legend() now draws points after lines allowing "empty dots onlines" thanks to Ben Bolker.o Setting row/column names preserves the names of the dimnames(PR#809).o Using help() after help.start() on Unix was failing to findthe linked help files if more than one package was loaded (asnow happens by default).o scan now sets the maximal sizes internally when `what' is a listfrom `nmax' and failing that `nlines'. This uses memory muchmore efficiently if `nmax' is specified. read.table() makes useof this.o The FORTRAN code used is now much closer to ANSI compliance.o cov.rob() gives a useful error message on nearly-degeneratematrices.o summary() on a data frame was computing results to a precisionbased on options("digits") (default 4), not its `digits'argument. Now results are computed to full precision butformatted using `digits'.o summary(m, digits=*) also properly works for matrices.o When returning parameters from .C/.Fortran, the OBJECT field wasnot copied even though class attributes were (PR#834).o There was a spurious warning from the X11 driver on 100 dpidisplays (PR#840, fix from Tom Vogels).o scan() was reading all-blank numeric fields as zero.Should be read as NA, and are now.o dnbinom(*, size, *) now works again for size < 1 (PR#842).o dgeom(*, p = 0) and pgeom(*, p = 0) don't give NaN anymore.o smooth.spline() allows zero weights again.o aperm() fix for list arg; aperm(*, resize=FALSE) now works withdimnames (by dropping them).o The xfig() driver was not closing unclosed polygons as the Rdriver expected (but did not document).o spec.ar() now handles order 1 correctly.o Add fuzz to prevent anomalies with hist().o print.matrix() checks length of rowlab, collab (PR#850)o add1.glm() was using the wrong weights for binomial glms incbind(successes, failures) ~ lhs form, since 1.2.0.o Eliminate packing of the `structRstart' structure, which wasprobably non-ISO C and caused some compilers problems (PR#852).o all.vars() no longer returns empty `names' (PR#829).o dotplot() passes `cex' down to the mtext() calls used for thelabels (PR#816).o The pictex() driver was drawing polylines incorrectly (PR#845).o In the event of a fatal X11 error (this can be generated under FVWMby selecting Destroy), the input handler would loop, leaving the"please save work and shut down R" advice useless. There should nowbe an opportunity for a relatively graceful exit.o polyroot() misbehaved if all coefficients except that of the highestdegree term were zero (partial fix for PR#751)o spline(method="natural") was extrapolating incorrectly (bothto the left and to the right, for different reasons). (PR#653)o Line clipping was incorrect for log-plots. (PR#839)o Add explicit test for rank-deficient residuals to summary.manova().o The help search databases did not contain the data from theplatform-specific help files.o parse.dcf() and hence package.contents() now work with a warningfor empty contents' files.o which.min() and which.max() now properly work for 0-length andNA-only arguments.CHANGES IN R VERSION 1.2.1NEW FEATURESo New functions factanal(), varimax(), promax() and examples inpackage mva.o New functions readBin() and writeBin() to transfer binary datato and from connections.o merge() is partially moved to C to reduce its memory usage.o library(help = PKG) now displays the contents of the package'sDESCRIPTION file in addition to its INDEX.o Sd2Rd can handle S4-style documentation too: see `Writing RExtensions'.o prompt() now also works with a character argument (useful forproducing many *.Rd files in a loop).o The Unix front-end shell script now ignores a value for R_HOMEfound in the environment.o Connections functions such as file() now accept a description oflength > 1, with a warning.o All text-mode connections now accept input with LF, CR or CRLFline endings. This means that readLines() can be used on DOSfiles and source() on Mac files, for example.Also, CRLF-terminated files can be used as stdin on Unix, andfiles with last lines without an EOL mark can be used as stdinand source()-ed on Unix and Windows.o DESCRIPTION file has a new recommended `Maintainer:' field.o stars() now uses a larger "cex" for the labels, and cex and lwdare now arguments. Further, the argument names (xlim, ylim,axes) are now consistent with other plot functions. The key symbolis not clipped anymore into the plot region by default.o Date-time quantities are now printed with the timezone, if known.o R CMD build now ignores all files specified (via Perl regexps)in file `.Rbuildignore' in the top-level source directory of apackage.o Horizontal boxplots are possible with horizontal = TRUE.o all.equal() on lists now compares them as generic vectors, thatis they are equal if have identical names attributes andall components are equal.o Invalid lines in .Renviron now give warnings when R is started.o Argument `na.last' implemented for rank().BUG FIXESo There have been many small improvements/corrections in thedocumentation. In particular:The help pages for lm and glm now describe the fitted objects.is.vector() is now correctly documented: complex vectors andlists return TRUE.o The default sortedXyData constructor in the nls package nowhandles missing values in the response.o On startup, file .RData is now restored *after* the site anduser profiles are loaded (if at all). This is as previouslydocumented.o as.POSIXlt (and *ct) operating on a character stringonly extracted the date (and not the time) in some cases.o as.POSIXct() on character objects was ignoring `tz'.o codoc(ignore.generic.functions = TRUE) works again.o Explicitly close files opened by sink() for OSes (such asWindows) that benefit from it.o Prevent closing the sink connection (which would be a sillything to do).o showConnections(all = TRUE) was sometimes counting connectionsincorrectly, and so not showing some closed ones.o ts(1:10, start= c(1999,6), end = c(2000,3), frequency = 12)now prints both years (as it should).o Monthly multivariate time series now print proper month namesin all cases.o print.stl(), print.princomp() and print.prcomp() now pass on`digits =' etc.o prompt() now produces a \usage{} line for data frames andother datasets, as documented in `Writing R Extensions'.o glm() now returns correct linear predictor and fitted valuesfor zero-weight cases.o scan(strip.white=TRUE) and readline() could give incorrectanswers when an input field was empty or blank.o dchisq() now behaves better for large values of its ncp parameter.o besselJ(*, nu) is now ok for nu < 1; fix improves accuracy ofother values by a few bits as well.o The convergence criterion in the Fortran SVD code has beenchanged to circumvent spurious convergence errors whencomparing extended-precision quantities on ix86 Linux (andsome compilers and options).o Rdindex now handles multi-line \title{}'s correctly.o Add weights.glm() so that plot.lm() gets the correct weights fromglm objects (the ones that go with deviance residuals not theworking residuals).o Printing a language object (e.g. a formula) in a list wasclobbering the buffer holding the tag labels which then werelost in subsequent lines of printout (PR#746).o aic in family() objects is now computed more precisely usingdxxxx(log=TRUE). For binomial fits the value was wrong formodels specified via proportions and weights (PR#796).Avoid NaN values in aic where n = 0 occurs.o Using non-integer numbers of successes in a binomial glm (asformerly in demo(lm.glm)) now gives a warning, as the theory andin particular the AIC value is not applicable.o demo(is.things) works again {is.ALL() doesn't call methodsanymore}.o persp(*, nticks = nn) now works (better) for too small nn.persp(*, main = t1, sub= t2) now work (as always documented).o Printing of attributes of a list element no longer precedes`attr' by the tag (PR#715).o It is no longer possible to use df[foo] to select non-existentcolumns in df and so create an invalid object of class"data.frame" (PR#698).o edit.data.frame() was trying to set row.names on a list, whichis no longer allowed.o In the \link[pkg]{topic}, `pkg' was not being used if `topic'was found in a package in .lib.loc. Now `pkg' is always used.o plot() with small relative ranges gave an error, which e.g. brokelibrary(ts); plot(stl(ts(rep(1:7, 15), freq = 7), s.win = "per"))o Using scan() with a 0-length `what' argument now gives an errormessage rather than a segfault.o Loading .Random.seed could extremely rarely and with somegenerators reject a value as NA_INTEGER when it was valid.o save(..., ascii=TRUE) created broken files when saving stringscontaining special characters (ASCII code > 127).o mean(c(1,NA,NA,NA)[-1], trim = .1, na.rm = TRUE) doesn't give anerror anymore.o As the supplied afm files are not properly in the ISOLatin1encoding, the font metric for "-" was wrong since 0.63 on apostscript/xfig device, and randomly wrong in 1.2.0. It willnow be correct (but the files remain incorrect: C45 is "minus"not "hyphen" and there are missing slots).Metrics for the duplicated characters (acute, dieresis,macron, space) in ISOLatin1 encoding are now correct for bothoccurrences: previously only one was present.o The data-time functions try harder to guess the DST settingwhen the OS does not know, as some OSes were printing timesin DST if this was marked as unknown.o Setting par(pty=) after par(pin=) or par(plt=) was having noeffect until the margins were set.o Nested \describe sections in .Rd files have (again) nestedindentation when converted to text.o Concatenation of C strings by ## is no longer used, to avoidspurious warnings from some recent versions of gcc.o dev.copy2eps() allows a `paper' argument to be passed topostscript().o file.show() handles the case of zero files better.o formula.lm uses object$formula if it exists, in preferenceto object$terms.o strsplit() is corrected for an empty split pattern.o kronecker() now does a better job when creating dimnames.o Better handling of input dimnames in fourfoldplot().CHANGES IN R VERSION 1.2.0NEW FEATURESo There is a new memory management system using a generationalgarbage collector. This improves performance, sometimesmarginally but sometimes by double or more. The workspace isno longer statically sized and both the vector heap and thenumber of nodes can grow as needed. (They can shrink again,but never below the initially allocated sizes.) See ?Memoryfor a longer description, including the new command-lineoptions to manage the settings.o values of `--min-nsize' up to 50M (2Gb on 64-bit Solaris) areallowed.o A (preliminary) version of S4-like connections has been added,and most functions which take a "file" argument can now workwith a connection as well as a file name. For more details,see the chapter on Connections in the R Data Import/Exportmanual.o New command-line option `--no-restore-history' implied by`--vanilla'.o Command-line option `--no-restore' is now `--no-restore-data'and `--no-restore' implies `--no-restore-*' (currently `data'and `history').o The more recent GNU regex from grep-2.4.2 is used. This useslocale-based ordering for ranges on platforms with strcoll.o The print routines now escape " (as \") in a character stringonly when it is printed as a quoted string. This makesprint(, quote=FALSE) and cat() consistent.o The standard methods for add1() and drop1() now attempt to copewith missing values by using a subset of the data that is`cleaned' by na.action for the maximal model under consideration.o anova() for 3 or more lm objects now behaves compatibly with Sand anova.glmlist(). The old behaviour is still available bycalling anovalist.lm() directly.o anova() for multiple lm and glm objects no longer truncates theformula printed. There is much more extensive documentationfor anova() methods.o New method as.data.frame.table() for converting the array-basedrepresentation of a contingency table to a data frame containingthe classifying factors and the corresponding counts.o New function assocplot() for producing Cohen-Friendlyassociation plots.o autoload() accepts lib.loc and other arguments to library()o bxp() has new argument `frame.plot', as plot.default().o contour() now has `axes' and `frame.plot' args.o contrasts(, FALSE) now always returns an identity matrix,to make model.matrix compatible with S. This affects modelssuch as lm(y ~ o - 1) where o is an ordered factor.o `where' command added to debug().o demo(dynload) (which used the superseded call_R interface)has been removed.o Class "dendrogram" in package mva providing general supportfor tree-like structures (plotting, cutting, ...).o dev.copy2eps() and dev2bitmap() preserve the aspect ratio of thecopied device if just one of `width' and `height' is specified.o dump() has new argument append, argument `fileout' has beenrenamed to `file' (for consistency with all other functions).o edit.default() now checks for an unset `editor' argument, andterminates with an error if the editor cannot be run.o The `mode' argument of exists() and get() is interpretedas mode(x) rather than typeof(x), following S.o New functions file.access() and file.info() for information onfiles on the user's file systems.o New convenience function file.copy().o file.show() allows `pager' argument to be an R function, andconsequently, the `pager' option can be an R function.o Formatting (and printing) of data.frames with complex objects isimproved. toString was added as a new function.o format() has a new argument `justify' controlling thejustification of character strings (and factors).o Formula objects now have an environment and code manipulatingthem needs to take care to preserve it or set an appropriateenvironment.o New function fourfoldplot() for producing fourfold displays of2 by 2 by k contingency tables.o gc() now reports the space allocated, not the space free,since the total space is now variable.o New primitive gc.time() to report on time spent in garbagecollection.o hclust() takes new argument `members' allowing dissimilaritymatrices both for singletons (as until now) and clusters.o help() has an additional `pager' argument which may be passed tofile.show() {useful for ESS fans}.o There is now an R `Hershey' list object for Hershey vector fontcomputations and documentation.o hist() now returns a "histogram" object and calls the newfunction plot.histogram() for plotting.It now also allows character labels.o if(*) now gives a more intelligible error messagewhen "*" cannot be coerced to logical.o inherits() is now an internal function and compatible with S.o New function lag.plot() in package ts.o legend() has a new argument pt.bg.o The commands history can be loaded with loadhistory(), savedwith savehistory() and displayed with history(), under Windowsand under Unix using the readline or GNOME interfaces.o mad() has new (logical) arguments "low" and "high" (the firstgiving S compatibility).o New function manova() and summary method.o Function mantelhaen.test() in package ctest now can deal withgeneral I x J x K tables. In addition, in the 2 x 2 x K case,it can also perform an exact conditional test of independence,and gives confidence intervals for the common odds ratio.o model.frame() now uses the environment of its formula argument,rather than the parent environment, to evaluate variables notfound in the data argument. See help(formula).o mosaicplot() can now also create extended mosaic plots, whichvisualize the residuals from a log-linear model using color andoutline.o New utility function n2mfrow().o nlm(check.analyticals = TRUE) now warns if the suppliedgradient and/or hessian are of the wrong length.o New function object.size() to give approximate memory allocation.o optim() now checks the length of an analytical gradient ateach evaluation.o The L-BFGS-B method of optim() now support tracing, at severallevels of detail.o options(check.bounds = TRUE) makes each vector extensionby sub-assignment ("x[.] <- .") produce a warning.o options(width) now admits to a limit (previously 200, now10000) and gives a more informative message if out of range(as it does now for digits and expressions).o Function path.expand() to do tilde-expansion on file paths.This provides an interface to R_ExpandFileName, which is nowa documented entry point.o .Platform has new component "endian", useful for binary filemanipulations.o plot.function() and curve() now take xlim as default for (from,to)if the former is specified.o plot.hclust() allows arguments main, sub, etc, and has non-emptydefaults for these.o plot.ts(x,y) now allows to suppress labels and lines;it is better documented.o The postscript() driver now allows a user-specified family so,for example, one can use the same fonts in diagrams as inrunning text.o The postscript() driver allows its prolog to be changed (by anexpert) via object .ps.prolog.o prop.table() and margin.table() now work with an empty `margin'.o Formerly deprecated function provide() is now defunct.o New functions read.delim() and read.delim2() to make iteasier to read delimited files as Windows programs tend tocreate (usually TAB separated).o New readLines() function to read a file line-by-line.o New functions reshapeLong() and reshapeWide() emulating Stata'sreshape command. These are still labeled experimental andmight be improved (or removed) in later versions.o row.names() and row.names<-() are now generic functions whichcall rownames() as their default method and have methods forclass "data.frame".o New function Rprof() for profiling R expressions under Unix.Configure with `--enable-R-profiling' (on by default) to makethis operational.o save(, oldstyle=TRUE) has been withdrawn.o scan() and read.table() have a new argument `fill' which canbe set TRUE to allow reading files with unequal number offields per line. (Programs like Excel have a habit of creatingsuch files when exporting.)o scan() and read.table() have a new argument `blank.lines.skip'to allow blank lines to be read.o scan() now reads empty character fields as "" not "NA" unless"" is included in na.strings.o smooth() in package eda has a better default (3RS3R instead of3RSR) and more arguments, e.g. `twiceit' for some Scompatibility and `kind = "3R"' for running medians of 3.o strsplit() has a new argument `extended' controlling whether touse extended (the default) or basic regular expressions forsplitting.o Sys.getenv() becomes the preferred name for getenv(), which isnow deprecated.o New functions Sys.getlocale() and Sys.setlocale() to query andset aspects of the locale of the R process, andSys.localeconv() to find the default decimal point, etc.o New function Sys.info() for platform, host and user information.o New function Sys.putenv() to set environment variables.o New function Sys.sleep() to suspend execution for a while.o Date-time support functions with classes "POSIXct" and"POSIXlt" to represent dates/times (resolution 1 second) inthe POSIX formats. Functions include Sys.time(), as.POSIXct(),strftime(), strptime(), and methods for format, plot, c, ....There are conversion functions for objects from packages`date' and `chron'; unlike those packages these supportfunctions know about time zones (if the OS does).o tcltk package now has tkpager() which is designed to be usedby file.show() and shows help pages etc. in separate textwidgets.o tcltk is now more careful about removing the objectsrepresenting widgets in the R workspace when the windows aredestroyed (e.g. using window manager controls)o tcltk package has had several canvas functions implemented.o tcltk now wraps callbacks to R in a try() construct - thenonlocal return from R's error handling could bring the Tksystem into a strange state.o New demos for tcltk: tkfaq, tkfilefind, tkcanvas.o termplot() now has an `ask' argument.o terms() creates objects which now inherit from class "formula",so for example as.formula(terms.object) needs to be replaced byformula(terms.object).o traceback() is now printed un-quoted and labelled by theframe number.o New argument `recursive' to unlink(). The default behaviour onUnix is now that of rm -f, not rm -rf. unlink() is nowcompatible across platforms.o New functions write.ftable() and read.ftable() for writing outand reading in flat contingency tables.o write.table() now quotes factor columns if quote=TRUE, and hasa new argument `qmethod' to control the escaping ofembedded quotes in character or factor columns.o New function xtabs() providing a formula interface to crosstabulation.o The R Data Import/Export Manual (`R-data.texi') has been added.o The set of valid R names is now described (at last) in R-intro.o The R Language Manual (`R-lang.texi') is now included and builtin the same way as the other manuals.o The R manuals (R-intro, R-exts, ...) are converted to HTMLformat (if the necessary texinfo tools are available) andlinked into the top HTML help page.o The header file `R.h' and those included from it are now usablewith C++ code.o New header file `R_ext/Boolean.h': Rboolean type with TRUE andFALSE enum constants.o New header file `Rgraphics.h' to allow addons to use graphicsstructures.o Recommended include file `Rmath.h' replaces `R_ext/Mathlib.h'.o Bessel, beta and gamma functions are now documented as part ofthe API. Undocumented entry points are no longer in theheader files, and some are no longer visible.o Calloc & Realloc failures now give size information.o DESCRIPTION file in installed packages has a new `Built:' fieldgiving build information (R version, platform, date).o Much improved support for C++ code in add-on packages under Unix.New configure/build variables SHLIB_CXXLD and SHLIB_CXXLDFLAGSfor specifying the command and flags needed for building sharedlibraries containing objects from a C++ compiler.Configure tries to get these right in typical cases (GNU toolsand/or common platforms).C++ source suffixes `.cpp' and `.C' are now recognized inaddition to `.cc'.o Configure/build variables MAINLD and MAINLDFLAGS are renamed toMAIN_LD and MAIN_LDFLAGS for consistency with other MAIN_* vars,similarly for SHLIBLD and SHLIBLDFLAGS.o Configure/build variable FLIBS now only contains the Fortran 77intrinsic and run-time libraries needed for linking a Fortran 77program or shared library (as determined by configure). BLASlibrary detection was extended, with results saved to the Makevariable BLAS_LIBS which is also available to add-on packages.o R CMD build and check have been completely re-written in Perl.In addition to running examples, check now also checks thedirectory structure and control files, makes a temporaryinstallation and runs LaTeX on the help pages. Build has beenreduced to cleaning, rewriting indices and creating tar files.The same files of Perl code are now also used under Windows.o Add-ons for utilities like Perl or LaTeX have now a centralplace in $R_HOME/share. Migration of existing files might takea while, though.o Preliminary support for building R as a shared library (`libR')under Unix. Use configure with option `--enable-R-shlib' or do`make libR' in directory `src/main' to create the sharedlibrary.There is also a linker front-end `R CMD LINK' which is usefulfor creating executable programs linked against the R sharedlibrary.BUG FIXESo New "[.AsIs" function fixing PR#665.o Effectively zero-length arrows() are omitted (rather than gettinga system- and device-dependent arbitrary angle).o barplot() passes "..." down to plot.window as documented.o bxp(*) now obeys axes, xaxt, yaxt & ylim arguments (again?).o contour(.., labcex = 0.6, .. , vfont = c("sans serif", "plain"), ..)now behaves as it has been documented, PR#740.o D(.) is now more correctly documented, has second argument"name" instead of "namevec" (S compatibility), and gives a warningwhen name has not length 1.o dbinom() and dpois() now use a the accurate algorithm of C.Loader;e.g., 1 - 2*sum(dbinom(0:999, 1999, 1/2)) is now zero instead of 1e-12.o dbeta(), df(), dt(), dnbinom(), dgeom(), dgamma(),now all use the more accurate algorithms of dbinom() and dpois();More limits are computed correctly, e.g. dgeom(Inf,*), ordnbinom(*,*,p=0), and integer argument coercion is more consistent.o dbeta(x, a,b) was giving NaN and Inf for large a and b.o The math functions now (again!) return NaN (not NA)when the warning message says so (e.g. gamma(-1)).o Paper sizes for "a4" and "legal" were interchanged in dev.print().o Improved logic in the re-scaling of plots in dev.print().o dev.print() and dev.copy2eps() now evaluate arguments asneeded, so e.g. dev.print(file="junk.ps", horizontal=F) willwork (previously =FALSE was needed).o Now dweibull(0,1) == dexp(0) == 1 for consistency.o Changing column modes from factor/character to numeric inedit.data.frame() (and fix() on data frames) is now allowed.o gctorture() did return a value although documented not to, that ofgcinfo. It now returns the previous setting of gctorture.o glm() now follows lm() in dropping unused factor levels when fitting.o hist() now labels y-axis Density rather than Relative Frequencyif freq=FALSE. The `intensities' component of the result isnow deprecated and `density' should be used instead.o hsv() truncation bug fixed (hopefully correctly this time...)o library.dynam() no longer fails if the library appears more thanonce in lib.loc.o lm.fit & lm.wfit (and hence lm) now give understandable errormessages when there are 0 non-NA cases.o match() does not always use "as.character()" anymore, fixes PR#741.o Trimmed mean() and median() are no longer attempted for complexdata.o median() of empty vector is now NA.o model.matrix() can now handle NAs in factors.o model.matrix() now uses ":" not "." in labelling interactionterms, as terms() and the prototype do (PR#701).o old.packages() now sorts version strings correctly bysplitting at "." and "-".o optim() has several new precautions against bugs, one of which wasan infinite loop in the L-BFGS-B method if the derivativeswere inaccurate (or if numerical derivatives were used and theproblem was badly scaled).o pairs() now obeys an "cex = " argument, and so does panel.smooth().o pf() had a bug in the code handling large noncentralityparameters, going all the way back to the original Appl.Stat.algorithm (PR#752). This affected pbeta() as well.o phantom(expr) in plotmath was used to calculate the boundingboxes, but the space was not actually used in typesetting theexpression (PR#622).o Problem with subsetting and "..." arguments in plot.formula()(PR#757)o plot.lm() has a better default for its `ask' argument.o plot.new() does *NOT* allow an argument (`ask') anymore.This has not been working (since ~ R 0.49), is low-level andhence should not break anything.o plot.stl() now uses correct time labels for tickmarks of x-axes.o pnorm() is somewhat more accurate (SIXTEN=16; PR#699) and`infinitesimally faster' in some cases, thanks to James M. Rath.o Failure to open a postscript() device now gives diagnostic warnings.o Zero the widths of undefined chars in postscript().o Make font metrics local to the device in postscript(), sothat simultaneous instances of postscript/xfig/bitmap can usedifferent values for `family'.o postscript() no longer uses the initclip operator, whichwas against the EPSF specifications and broke inclusion ofgraphics in some documents.o In postscript(), cleaned up the internals to fix somecases where it was unclear whether a variable was meant to setor track device status.o In some cases, emitted postscript violated the PS DocumentStructuring Conventions since some settings were carried over fromone page to the next. (Caused breakage when turningantialiasing on/off in "gv" for instance.)o The DocumentMedia comment in postscript() output was wrong,and the font DSC comments have been changed to the preferredstyle for DSC 3.0.o pretty(x <- c(2.8,3))[1] - x[1] is now 0; in general,p <- pretty(x) now again fulfills p[1] <= x[] <= p[length(p)].o print.dist() {mva} now passes "..." to print.default.o print.noquote("ABC") now works.o prompt(fn) uses fn's "source" attribute if it has one.o In prop.test(), the conf.int. now contains the estimate,even when that is 0 or 1 (PR#714).o qnorm(0) and qnorm(1) now give -/+ Inf (again!).o qt(*, log = TRUE) has a somewhat extended working range.o Specifying col.names in read.table() now overrides any headerline in the data file.o Bug caused rpois() to generate biased variables in some cases.o scale(scale=TRUE) gave all NAs in any columns containing NAs.o eda's smooth() now computes Tukey's endrule properly.o smooth.spline()'s GCV method now uses a more accurate formulawhen there are repeated x points.o stars() fix (for 0/NA columns) PR#739.o data(state)'s state.abb has been corrected to use official2-letter abbrevations.o strsplit() had two memory leaks.o tcltk interface now has better string quoting and no longer breaks onstrings with unbalanced braceso tcltk callbacks used to include a "%..." argument on the call if thecallback function had a "..." argument. This is no longer the case.o t.test() allows an input vector of length 2.o Method dispatch in primitive functions such as `c' onlyoccurred if they were called by that name, and in particularnot if used in lapply or called as .Primitive("c"). It nowalways occurs.o Method dispatching now forces evaluation of promises, soautoloading works with methods.o c(0.099999994, 0.2) prints as 0.1 0.2 not 0.10 0.20 aftercorrecting the precision calculations.o Internal function fprec was overflowing for numbers around1e-305.o [internal] .C("strsignif",*) doesn't use fixed size strings anymore(possible overflow).o ff[i] <- r now works for formula (and potentially othernon-standard) objects ff.o Errors in argument matching could cause crashes if errorhandler was used.o NULL == ... now gives logical(0) instead of an error.This fixes a bug with e.g. apply(X,2,median, na.rm = TRUE) andall(NULL == NULL) is now TRUE.o polylines with more than 64K pieces will now work on more Xservers with the x11 device.o R CMD Rd2dvi now again works with file names containing "_" or "$".o R CMD Rdconv now handles .rd as input file extension correctlyin all cases.o make install could fail if there were no shared libraries toinstall (e.g. on vanilla Solaris).o Rd's \describe{} constructs are converted better to textoutput, and \items of >=22 chars now work.o Help aliases "(" and "{" now work, apart from as PDF hyperlinks.o NA || x , NA && y (etc) do not give errors anymore, but work asthe "|" and "&" operators and as documented (PR#749).o Coercing lists to functions failed if argument list was empty.(PR#743). Also coercing functions to lists was wrong when thebody was a single constant.*************************************************** ** 1.1 SERIES NEWS ** ***************************************************CHANGES IN R VERSION 1.1.1NEW FEATURESo data(), example() and help() now search the loaded packages, thenin their .lib.loc argument, the latter as pre-0.99.0. Seetheir help pages for the precise details.o help() has a new argument `try.all.packages' set by the option"help.try.all.packages". If help is not found in the normalpath and this is TRUE then a search is made of all packagesfor possible matches.o Improved detection of Tcl/Tk at configure time. One can eitherset configure variables TCLTK_CPPFLAGS and TCLTK_LIBS, or givethe locations of the tclConfig.sh and tkConfig.sh scripts viathe `--with-tcl-config' and `--with-tk-config' arguments.o prop.trend.test() - test for trend in proportions.o write.table() has new argument `dec' for setting the decimalseparator (SPSS/Windows and probably others want commas incontinental European locales).o Advance warning: save(, oldstyle=TRUE) will no longer beavailable after this release.o Symbols can now be coerced to expressions, makingas.expression(quote(a)) workBUG FIXESo data() now works correctly with data-only packages.o Standalone Mathlib can now be made if builddir = srcdir(working around an undocumented autoconf `feature').o Check for pre-1.1.0 saved object .Postscript.options in postscript().o More stringent checks on the arguments to dataentry().o Specifying xlab as an expression now works again.o dev2bitmap() works again.o Numerous uses of `F' and `T' replaced by `FALSE' and `TRUE'.o bxp() now extends `ylim' properly when notch=TRUE (and anotch is more extreme than other stats).Also, varwidth is okay again, see example(split).o Making manuals without making R first now works.o princomp() now works when some eigenvalues are tiny negativevalues (which are treated as zero).o SearchEngine.html was not installed when builddir != srcdir.o lm.{w}fit(x,y,..) now work when x has no column names.These functions no longer add and subtract n zeros when there's nooffset. They are now documented somewhat.o Some HTML files used src="R.css" instead of href="R.css" causingsome browsers to ignore the style sheet. `R.css' now passes thew3c CSS validator and gives the intended results with InternetExplorer. `R.css' is copied to all library directories.o The data editor no longer crashes when entries contain more than45 characters, and works correctly if the field width islarger than the window width.o Recording plots used to ignore graphics events before the lastreplay.o plot(), points(), etc now give warnings and error for invalid`type' arguments.o matplot() now allows the same `type's as plot().o dev.print() and dev.copy2eps() now work when called from afunction, such as dev2bitmap().o anova.glmlist works correctly with decreasing models andtest="F" now gets the correct residual df.o Functions created (not just edited) with fix() now getenvironment .GlobalEnv not the body of fix.o Rdconv was ignoring OS-specific parts of the files with somePerl versions. (This did not affect installing packages.)o R CMD check did not run more than one specific test.o keyword2html omitted items when changing up a level, sothe HTML search engine keyword list was missing `data' and`utilities', for example.o aov() with multiple strata was setting some spurious options.o Under UNIX, help(, htmlhelp=TRUE) uses the linked copy of theHTML file in ~/.R if help.start() has been run recently in thesession, so the style sheet and hyperlinks should now be found.o dotplot's arguments `color' and `lcolor' are now interpretedcorrectly if they are vectors of length > 1. (It is not clearfrom the help that this was ever intended.)o Error messages of e.g. do.call() are now spaced properly.o summary(.matrix | .data.frame) now respects a `digits' argument.o scan() recognises quoted strings by default again. The defaultfor the quote= argument got set wrongly when it wasintroduced. They are, however, turned off when using sep="\n",since you probably want unprocessed lines of text in thatcase.o fixed buglet where scan() would double a character following aterminating quote symbol.o kmeans was failing on vector inputs (although not documentedto accept such).o fixes in predict.lm (John Maindonald)o NCOL got confused by 1D arrays, which it now reports have 1column rather than NA.o rep(1:2,c(1,-1)) segfaulted (PR 619)o x[["a"]] <- y rejected some object types for y (e.g.expressions) which were accepted in x$a <- y (PRo data editor froze on empty data frame, and more generally onzero-length cols.o data editor did not handle factors properly in numeric-editmode.o table() misbehaved on empty (or all-NA) datao data editor now handles empty data frames, allowing data entryto begin with dd<-edit(data.frame()) ordd<-data.frame() ; fix(dd)o plotting math expressions when specified as a LANGSXP orSYMSXP didn't work in several cases: plot(1,main=quote(a))would segfault and there were problems with title(), text(),and mtext() as well.o optim(): no more segfault for REPORT=0; corrected error msg; ..maxit default is now okay also when "L-*-B" is chosen automatically.Using (abs|rel)tol with that method now gives a warning.o text() did not respect its `xpd' argument, the default of whichis still to use par("xpd"); gave a wrong error message in one case.o polygon() had an incorrect documentation and silently disregarded"..." arguments.o predict.loess was giving incorrect results (those for thenon-robust fit) in the case of a fit with family = "symmetric"and surface = "direct" and prediction with se = FALSE. Thefitted values were missing for such fits.o Better rendering of ^ and ~ in latex in \code{} (and they shouldnot appear outside code and verbatim sections).o Fixed unterminated string problem with lty (PR 584)o Fixed scoping problem with quasi() family (PR 614)CHANGES IN R VERSION 1.1.0NEW FEATURESo There are several changes to the compile and link flags, andan attempt is made to use /usr/local/include and/usr/local/lib on all platforms. Please read config.site andINSTALL if you have set flags for previous versions.o New package tcltk, providing interface and language bindings forthe Tcl/Tk graphical interface toolkit. This makes it possibleto do some rather nifty things with buttons and entry fieldsand so forth in very few lines of code. It is still somewhatexperimental so don't go churning out thousands of lines ofGUI code and then blame us for changing the API later on. It doesnot currently work with GNOME because of event loop differences.See demo(tkttest) and demo(tkdensity).o Internally using global R_Expressions [getOption("expressions")]dramatically speeds up eval.c.o The X11 support code is now in a separate shared library, andoption `--gui=none' will run R without X11 support (and so x11()and data.entry() will not be available). R BATCH sets --gui=none.o Configuring without X (e.g., `--without-x') does work (at last).configure will report if X11 support has been included.If R has been built without X11 the default GUI is "none".o GNOME support files have moved from src/gnome to src/unix/gnomeand the code is now in a separate shared library. Both`--gui=GNOME' and `--gui=gnome' are allowed.The main graphics device for use with GNOME is now calledgtk(); the x11() device from the X11 support can also be used.(The gnome() device remains unreliable, and is by defaultunavailable.)All GNOME support now installs in R_HOME/gnome to make iteasier to package separately.o Command line option `-g' can now be used as short version of`--gui'.o The "keep.source" option now defaults to interactive()instead of TRUE.o Many interface enhancements to the data editor, which now uses(by default) variable-width columns and much less redrawing.See ?dataentry for a description of the current user interface.o R under Unix can be sent SIGUSR1 to quit and save or SIGUSR2to quit and save without running .Last and on.exitexpressions.o Added ability to use the graphics device driver to performhorizontal justification of strings. This is used in thex11(), windows(), postscript() and xfig() drivers and willlead to more accurate placing of centred or right-justifiedstrings.o Formulas created with the tilde operator now contain theenvironment in which they were created. The environment of aformula can be accessed with the environment() function. Thisfacility is still experimental; it is intended to helpsimplify writing modeling functions.o $ and $<- are now generic functions.o add1.glm() and drop1.glm() now allow test="F", which isappropriate for models with estimated dispersion.o approx() and approxfun() have an extra argument ties= to controlhandling of tied x valueso New function as.symbol(), identical to as.name().is.symbol and is.name() are now identical by definition;before, they were equivalent by implementation.o attach() now works for R data files.o axis() now has additional arguments. The argument "tick" turnstick drawing on and off (on by default). Additional argumentsline, pos, and outer; allow more flexible placement of axes.o New device bitmap(), like dev2bitmap() but a stand-alone device.o boxplot() returns (and bxp() accepts) a list containing the summarystatistics for the boxes (changed from a list of elements one foreach box).o file="|cmd" is allowed (to pipe output to `cmd'), under cat()and postscript() and functions that use them (for example, write()).o New functions chartr() for general-purpose character translationin character vectors, and tolower() and toupper() for convertingalphabetic characters to lower-case and upper-case, respectively.o coplot() has new option subscripts=TRUE to pass the indicesto the panel function.o cor.test(method="spearman") might give slightly better P values,since it now relies on pnorm() (with proper tail) instead of alnorm.o dbinom() works for size=0 (where appropriate).o New trivial function det() for determinant computation(the example in ?qr did not seem to be sufficient).o If present in the package, a function .Last.lib will be calledwhen a package is detached.o New function dev.copy2eps() copies the current device to an epsfile, taking the size from that of the device.o dev.print() now prints if possible, and takes the size fromthe device being copied.o edit() or fix() applied to a numeric or character matrix nowuses the data editor, if available.o edit.data.frame() edits factors in character mode by default,and will allow the row names to be edited, by default if theyare not 1:nrow(name).o expand.model.frame() for adding variables to a model frame.o The handling of estimating the dispersion in glm() fits has beenchanged for consistency across methods. For `binomial' and`poisson' families the dispersion is always taken as one.For `quasibinomial' and `quasipoisson' families it is alwaysestimated (by residual chisq/residual df).o Using "~" when specifying lib.loc (for example to help() orlibrary()) is now supported.o image() has a new argument "breaks" and divides the zlim rangeinto equal-length intervals.o install.packages() and update.packages() have a new `destdir'argument for the directory to which to download the packages.o New function interaction.plot().o Internal cleanup of lapply()'s C code.o library(), require(), and sys.source() have a new argument` keep.source = getOption("keep.source.pkgs") '.This defaults to false, but can be set (also for base) to trueby setting the environment variable R_KEEP_PKG_SOURCE to "yes"o Par `lty' in lines() now defaults to par("lty") not "solid",for consistency with plot().o list.files() [aka dir()]: path argument has now default = "."o locator() allows inline graphics parameters (for the plottingit does with type !="n").o New function max.col() from MASS, thanks to V&R.o nlm() can now take additional arguments in ... to be passed to f.o par() returns elements in alphabetical order, and "ann" as alogical (not integer).o .Platform has a new component GUI specifying the GUI in use(which might be "unknown").o plot.formula() searches for a plot method for the left-side of theformula before searching for a plot method for the right-side ofthe formula.o New bitmap devices png() and jpeg() on Unix/X11. (They werealready available on Windows.)o postscript(print.it=TRUE) now does print the plot file.postscript(onefile=FALSE) now produces multiple separate files.o provide() is now deprecated.o New function quade.test() in package ctest for the Quade testfor unreplicated blocked data.o quantile(x, probs) now propagates NA/NaN in probs.o Option for user-supplied normal random generator in RNGkind().o read.fwf() is no longer dependent on Perl.o New arguments check.names and strip.white to read.table() andfriends.o Functions recordPlot() and replayPlot() save a plot to an Rvariable and replay it.o residuals.lm() also allows types "partial" and "response"as residuals.glm().o Added col option to rug().o scale() is now generic with scale.default method.o New "call. = TRUE" argument for stop(), andnew function stopifnot(.) -- to be used in "make check".o str(.) has a new optional argument "nchar.max = 128" and truncatesstrings longer than that. Also eliminated a few minor glitches.o The symbols() function is now implemented.o New function termplot() with similar functionality toplot.gam() in S.o The parameters to title() which specify the labels may nowbe specified as a list containing the parameter togetherwith additional modifying par values (cex, col, font) whichaffect just that label.title() also has new line and outer arguments which providefunctionality which matches that in axis().o New functions which.min() amd which.max().o The Wilcoxon and Ansari-Bradley tests now optionally returnconfidence intervals for the location or scale parameter ofinterest.o New argument `extend' to window() (and updated documentation).o write.table() can now write CSV files in the format Excel expects.o New device xfig() to produce XFig files.o New xyz.coords() utility function to be used for 3D highlevel plots.o R CMD build now also works for package bundles.o Rdconv allows an output file to be specified.o Initial support for C++ source code in add-on packages under Unix.o Mathlib can be built as a standalone library: see directorysrc/nmath/standalone.BUG FIXESo The Mathlib functions now use exactly the same values for+/-Inf, NaN and NA as the rest of R in all cases.o Improved automatic remaking.o option keep.source was not set correctly before the basepackage was loaded: some functions in the base package hadthe source kept. The memory usage should now be reduced by ca 1Mb.o The base file is no longer closed twice in case of a syntaxerror (caused segfault on Linux).o The X11 data editor scrolls cells and so allows more than ca 10characters to be entered. Several interface/redraw errorshave been corrected.o Using `destroy' or `close' on the X11 data editor window killed R.o Multiple `destroy' events or X11 errors killed R (PR#400).o Warnings from .Last or closing devices are printed wheresensible (e.g. not on GNOME nor Windows console).o add1.glm() and drop1.glm() gave incorrect results in the "Chisq"test option when the scale was estimated.o aggregate() applied to multiple time series lost the series names.o as.hclust.twins() in package mva sets method=NA (PR#538)o ave(1:3) now works (as when is.null(list()) was TRUE years ago).o barplot(c(0.1, 0.5, 1), ylim = c(0, 1)) now works: [xy]axs="i"and exact limits now labels the limits.o by() works when embedded in a function.o The xlab and ylab in coplot() now set the x and y axis labels,as in S. Supply a second component to label the conditioningvariables.o count.fields() and read.table() now have the same defaultquote = "\"'".o guard against segfault in dataentry(x<-1, Modes = plot), and the like.o dev.print() now checks if the current device is replayable(and not all devices were, despite the documentation).o The gtk() device (formerly x11() under GNOME) was incorrectlyreturning character information, so in particular `*' waswrongly centred as a plotting symbol.o is.qr() checks not only for $qr, but also for $rank & $qraux, PR#482.o library() will not leave the package on the search path ifloading fails (including if .First.lib fails).o lqs(, method="S") rounded k0 on passing to C.o na.omit() now handles vectors and matrices as well as dataframes.o plot.lm(*, which=4) now works thanks to Marcel Wolbers.o postscript() now uses the options "papersize" and "printcmd"rather than the values of R_PAPERSIZE in the environmentand R_PRINTCMD found at build time.o postscript() now makes use of kerning information in computingstring widths.o M <- 2 ; print(ppr(.., nterms = M)) now works.o ppr(, sm.method="spline") had an internal limit of 250 rows:this is now 2500 and is now checked.o predict.lm(,type="terms",se.fit=T) gives correct standard errors(thanks to John Maindonald)o print.ftable() now returns its argument.o proj.aovlist() now gives a non-zero result for strata withno fitted effects.o qnorm() is now based on AS 241 instead of AS 111, and shouldgive precise results up to 16 digits precision.o rgeom(, prob=1) gives 0 rather than NAo rpois(*, lambda) now works when lambda > .Machine$integer.maxo strheight("X") with no active device would segfault.o system() is now (partially) functional on systems without popen.o Fixed bug in undoc() - requiring new `chdir' argumentfor sys.source()o Fixed problem in usemethod() where CAR(call) could be non-symbol.o The x11() device no longer crashes R if a font is not found,and will warn if there is a size mismatch of more than 10%.o R CMD Rd2dvi now sorts files alphabetically.o Rdconv now reports if an invalid type is specified (ratherthan using latex).o Support for Rd conversion to Sd has been reinstated (it wasunintentionally removed along with nroff-based conversion to text).o \deqn{} fix in R-exts.texi, PR#523.o Linpack.h now makes clear which routines are actually in R.o Entry-point "pythag" is now loaded even though it is notnecessarily used in R. Where "hypot" is available pythagjust calls hypot after checking for special values.o call_R will now correctly handle character vector arguments.o The alphabet links on top of HTML function indices with more than100 entries now contain only the letters which are reallyfirst letters of at least one entry.CHANGES IN R VERSION 1.0.1BUG FIXESo pgamma(Inf, 1, Inf) gives NaN instead of an infinite loop, PR#462.o Inline xaxt and yaxt parameters were ignored.o Setting the normal RNG was not always recorded in .Random.seed.o \link[pkg]{foo} links were wrongly translated to HTML.o Direct use of show.data() with no args was incorrect.o print.coefmat does sensible things if optionsshow.signif.stars and show.coef.Pvalues are not set correctly.o x <- list(a=1, b=2) ; x["c"] <- 3 now (again) stretches the listrather than give a "subscript out of bounds" error.o Models with response appearing on rhs could cause segfault.o as.data.frame.matrix will now ensure the columns added havenon-empty names.o Some (strange?) model formulas could cause memory corruption(thanks to John Fox for digging this up).o Matrix multiplication in cases such as 1:3 %*% t(1:2) is accepted.o Options --nsize and --vsize to R CMD check gave warningmessages and only one was accepted.o The autoload()s during startup are "wrapped" suchthat conflicting objects don't break startup.o cor.test(*, meth="spear") {pkg ctest} now works (again) for n <= 6o scale = 0 in biplot.princomp() now works.o The scores given by princomp(, cor = TRUE) and the rotatedvalues given by prcomp(, scale = TRUE) are now computed from thescaled data.o barplot now works okay when length(col) < length(legend.txt),thanks to Ben Bolker, PR#494.o legend has new args `ncol' and `horiz' thanks to Ben Bolker.o kernel("dirichlet", m=10, r=1) in package ts now works.o save/restore of environments containing "..." object shouldwork now.o qhyper should work better for large N.o qbinom(1-1e-16, n, p) , qpois() and qnbinom(*) looped for ever.o as.matrix.data.frame no longer escapes quotes in charactervectors.o R would try to save the readline history at the end ofnon-interactive sessions, causing crashes on some systems.o Subtle roundoff problems caused arrays to be allocated short inloess.c in some cases, leading to segfaults.o Document that postscript(file="") sends the output directly tothe default printer.o ts.union(, dframe=TRUE) had a long-standing typo, now works.o save(, ascii=TRUE) had problem with octal escapes in stringswhen there was a digit following, should work now.o matpoints() and matlines() now also have a "type =" argumentwith defaults "p" and "l", respectively; PR#506.o The new Perl 5.6 broke our version-detection mechanism. Abetter one has been inserted.o X11(colortype="gray") failed to work on 8-bit screens, andmore generally when colour allocation failed X11() did notrevert to monochrome correctly (and did not say it was doing so).It was not documented in the help that to change the X11colortype one needs to close all open X11 devices.o loessf.f in modreg defined DSIGN unecessarily and this causeda conflict on AIX.o plot.lm will now work with rlm objects.o start and end behave better when the frequency is not an integer.o aggregate.ts is closer to S-PLUS's aggregate.rts.o quantile(x) now works when x contains several +/- Inf's.o guard against segfault in dataentry(0,0) (or, morerealistically, when mistyping data.entry(x,y) asdataentry(x,y))********************************************************** ** News of 1.0.0 and earlier is in file `ONEWS' ** **********************************************************