The R Project SVN R

Rev

Rev 9157 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

                Dear Emacs, please make this -*-Text-*- mode!
    **************************************************
    *                        *
    *          1.1 SERIES NEWS           *
    *                        *
    **************************************************


        CHANGES IN R VERSION 1.1.0


NEW FEATURES

    o   attach() now works for R data files.

    o   R (under Unix) can be sent SIGUSR1 to quit and save or SIGUSR2
    to quit and save without running .Last and on.exit
    expressions.

    o   Option for user-supplied normal random generator in RNGkind().

    o   New functions chartr() for general-purpose character translation
    in character vectors, and tolower() and toupper() for converting
    alphabetic characters to lower-case and upper-case, respectively.

    o   Command line option `-g' can now be used as short version of
    `--gui'.

    o   nlm() can now take additional arguments in ... to be passed to f.

    o   cor.test(method="spearman") might give slightly better P values,
    since it now relies on pnorm() (with proper tail) instead of alnorm.

    o   Internal cleanup of do_lapply.

    o   Added col option to rug.

    o   Internally using global R_Expressions [getOption("expressions")]
    dramatically speeds up eval.c.

    o   New function max.col() from MASS, thanks to V&R.

    o   CVS logs on http://developer.r-project.org/R.cvslog

    o   str(.) has a new optional argument "nchar.max = 128" and truncates
    strings longer than that.  Also eliminated a few minor glitches.

    o   boxplot() returns (and bxp() accepts) a list containing the summary
    statistics for the boxes (changed from a list of elements one for
    each box).

    o   plot.formula searches for a plot method for the left-side of the
    formula before searching for a plot method for the right-side of
    the formula.

    o   Initial support for C++ source code in add-on packages under Unix.

    o   New argument `extend' to window() (and updated documentation).

    o   file="|cmd" is allowed (to pipe output to `cmd'), under cat()
    and postscript() and functions that use them (for example, write()).

    o   postscript(print.it=TRUE) now does print the plot file.
    postscript(onefile=FALSE) now produces multiple separate files.

    o   image() has a new argument "breaks" and divides the zlim range
    into equal-length intervals.

    o   write.table() can now write CSV files in the format Excel expects.

    o   The X11 support code is now in a separate shared library, and
    flag --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/gnome
    and 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 called
    gtk(); the x11() device from the X11 support can also be used.
    (The gnome() device remains unreliable, and is by default
    unavailable.)

    All GNOME support now installs in R_HOME/gnome to make it
    easier to package separately.

    o   New device xfig() to produce XFig files.

    o   Added ability to use the graphics device driver to perform
    horizontal justification of strings.  This is used in the
    postscript() and xfig() drivers and will lead to more accurate
    placing of centred or right-justified strings.

    o   scale() is now generic with scale.default method.

    o   R CMD build now also works for package bundles.

    o   New xyz.coords() utility to be used for 3d highlevel plots.

    o   quantile(x, probs) now propagates NA/NaN in probs.

    o   New "call. = TRUE" argument for stop(), and
    new function  stopifnot(.) -- to be used in "make check".

    o   list.files() [aka dir()]: path argument has now default = "."

    o   .Platform has a new component GUI specifying the GUI in use
    (which might be "unknown").

    o   dbinom() works for size=0 (where appropriate).

    o   The Wilcoxon and Ansari-Bradley tests now optionally return
    confidence intervals for the location or scale parameter of
    interest.

    o   read.fwf() is no longer dependent on Perl.

    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 true
    by setting the environment variable R_KEEP_PKG_SOURCE to "yes"

    o   The "keep.source" option now defaults to interactive() instead of TRUE.

    o   dev.print() now checks if the current device is replayable
    (and not all devices were, despite the documentation).

    o   New device bitmap(), like dev2bitmap() but a stand-alone device.

    o   install.packages() and update.packages() have a new `destdir'
    argument for the directory to which to download the packages.

    o   edit.data.frame() edits factors in character mode by default,
    and will allow the row names to be edited, by default if they
    are not 1:nrow(name).

    o   $ and $<- are now generic functions.

    o   approx() and approxfun() have an extra argument ties= to control
    handling of tied x values

    o   termplot() has similar functionality to plot.gam

    o   Many interface enhancements to the data editor, which now uses
    variable-width columns and much less redrawing.  See
    ?dataentry for a description of the current user interface.

    o   edit() or fix() applied to a numeric or character matrix now
    uses the data entry editor.

    o   New bitmap devices png() and jpeg() on Unix/X11.

    o   expand.model.frame() for adding variables to a model frame.

    o   dev.print() now prints if possible, and takes the size from
    the device being copied.

    o   New function dev.copy2eps copies the current device to an eps
    file, taking the size from that of the device.

    o   residuals.lm() also allows type = "partial" & "response"
    as residuals.glm().

    o   New functions which.min() & which.max().

    o   Functions recordPlot() and replayPlot() save a plot to an R
    variable and replay it.


BUG FIXES

    o   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   Fixed problem in usemethod() where CAR(call) could be non-symbol.

    o   R CMD Rd2dvi now sorts files alphabetically.

    o   is.qr() checks not only for $qr, but also for $rank & $qraux, PR#482.

    o   Fixed bug in undoc() - requiring new `chdir' argument for sys.source()

    o   postscript() now uses the options "papersize" and "printcmd"
    rather than the values of R_PAPERSIZE in the environment
    and R_PRINTCMD found at build time.

    o   \deqn{} fix in R-exts.texi, PR#523.

    o   system() is now (partially) functional on systems without popen.

    o   print.ftable() now returns its argument.

    o   count.fields and read.table now have the same default quote = "\"'".

    o   postscript() now makes use of kerning information in computing
    string widths.

    o   the base file is no longer closed twice in case of a syntax
    error (caused segfault on Linux).

    o   Support for Rd conversion to Sd has been reinstated (it was
    unintentionally removed along with nroff-based conversion to text).

    o   strheight("X") with no active device would segfault.

    o   ave(1:3) now works (as when is.null(list()) was TRUE years ago).

    o   by() works when embedded in a function.

    o   aggregate() applied to multiple time series lost the series names.

    o   Linpack.h now makes clear which routines are actually in R.

    o   The X11 data editor scrolls cells and so allows more than ca 10
    characters to be entered.  Several interface/redraw errors
    have been corrected.

    o   rpois(*, lambda) now works when lambda > .Machine$integer.max

    o   keep.source was not set correctly before the base package was
    loaded: some functions in the base package had the source
    kept.  The memory usage should now be reduced by ca 1Mb.

    o   M <- 2 ; print(ppr(.., nterms = M))  now works.

    o   predict(,type="terms",se.fit=T) gives correct standard errors
    (thanks to John Maindonald)

    o   guard against segfault in dataentry(x<-1, Modes = plot), and the like.

    o   ppr(, sm.method="spline") has an internal limit of 250 rows:
    this is now 2500 and is now checked.

    o   Using `destroy' or `close' on the X11 dataentry window frame
    killed R.

    o   Multiple `destroy' events or X11 errors killed R (PR#400).

    o   Warnings from .Last or closing devices are printed where
    sensible (e.g. not on GNOME or Windows console).

    o   lqs(, method="S") rounded k0 on passing to C.


        CHANGES IN R VERSION 1.0.1


BUG FIXES

    o   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 options
    show.signif.stars and show.coef.Pvalues are not set correctly.

    o   x <- list(a=1, b=2) ; x["c"] <- 3 now (again) stretches the list
    rather 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 have
    non-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 warning
    messages and only one was accepted.

    o   The autoload()s during startup are "wrapped" such
    that conflicting objects don't break startup.

    o   cor.test(*, meth="spear") {pkg ctest} now works (again) for n <= 6

    o   scale = 0 in biplot.princomp() now works.

    o   The scores given by princomp(, cor = TRUE) and the rotated
    values given by prcomp(, scale = TRUE) are now computed from the
    scaled data.

    o   barplot now works okay when length(col) < length(legend.txt),
    thanks to Ben Bolker, PR#494.

    o   kernel("dirichlet", m=10, r=1) in package ts now works.

    o   save/restore of  environments containing "..." object should
    work 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 character
    vectors.

    o   R would try to save the readline history at the end of
    non-interactive sessions, causing crashes on some systems.

    o   Subtle roundoff problems caused arrays to be allocated short in
    loess.c in some cases, leading to segfaults.

    o   Document that postscript(file="") sends the output directly to
    the default printer.

    o   ts.union(, dframe=TRUE) had a long-standing typo, now works.

    o   save(, ascii=TRUE) had problem with octal escapes in strings
    when there was a digit following, should work now.

    o   matpoints() and matlines() now also have a "type =" argument
    with defaults "p" and "l", respectively; PR#506.

    o   The new Perl 5.6 broke our version-detection mechanism. A
    better one has been inserted.

    o   X11(colortype="gray") failed to work on 8-bit screens, and
    more generally when colour allocation failed X11() did not
    revert to monochrome correctly (and did not say it was doing so).

    It was not documented in the help that to change the X11
    colortype one needs to close all open X11 devices.

    o   loessf.f in modreg defined DSIGN unecessarily and this caused
    a 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, more
    realistically, when mistyping data.entry(x,y) as
    dataentry(x,y))


    *********************************************************
    *                           *
    *   News of 1.0.0 and earlier is in file `ONEWS'    *
    *                           *
    *********************************************************