Rev 11368 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
Dear Emacs, please make this -*-Text-*- mode!*************************************************** ** 1.2 SERIES NEWS ** ***************************************************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 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 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 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 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 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 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.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 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 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 strsplit() has a new argument `extended' controlling whether touse extended (the default) or basic regular expressions forsplitting.o tcltk library 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 library 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 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 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.o plot.hclust() allows arguments main, sub, etc, and has non-emptydefaults for these.o smooth() has a better default (3RS3R instead of 3RSR) andmore arguments, e.g. `twiceit' for some S compatibility andkind = "3R" for running medians of 3.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.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 more accurate algorithm; e.g.,1 - 2*sum(dbinom(0:999, 1999, 1/2)) is now zero instead of 1.0e-12.o dbeta(x, a,b) was giving NaN and Inf for large a and b.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 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 phantom(expr) in plotmath was used to calculate the boundingboxes, but the space was not actually used in typesetting theexpression (PR#622).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.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 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 The math functions now (again!) return NaN (not NA)when the warning message says so (e.g. gamma(-1)).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 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 eda's smooth() now computes Tukey's endrule properly.*************************************************** ** 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"causing some browsers to ignore the style sheet. R.css nowpasses the w3c CSS validator and gives the intended resultswith Internet Explorer. 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' ** **********************************************************