[R] Re: R-1.3.0 is released: Split sources

michael.okelly@quintiles.com michael.okelly at quintiles.com
Fri Jun 22 17:51:06 CEST 2001

Hello Peter,

I have found the split sources invaluable. I do not know about the split

Kind regards,

Michael O'Kelly

Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk>@stat.math.ethz.ch on
22/06/2001 13:17:25

Please respond to r-help at stat.math.ethz.ch

Sent by:  owner-r-announce at stat.math.ethz.ch

To:   r-announce at r-project.org
cc:    (bcc: Michael O'kelly/QDUB/Quintiles)

Subject:  R-1.3.0 is released

I've rolled up R-1.3.0.tgz about an hour ago. This is a major upgrade,
with some structural changes and major new features, especially in the
areas of connections, dates, and the ctest package.

As a new item, we also roll up (in a separate file) a set of
recommended packages that are known to work with R-1.3.0. Binary
distributions are expected to include these packages.

Please note that the former "survival5" package is now named
"survival". If you install over an existing installation, make sure to
"R CMD REMOVE survival5"

You can get it from the developer site




or wait for them to be mirrored at a CRAN site near you within a day
or two. Binaries for various platforms will appear in due course.

There are also versions split for floppies.

(Are anyone actually using the split-source versions and not capable
of using the "split" command themselves? They do take up a lot of
space, and I had to remove split versions of earlier releases to make
room for the new one.)

        For the R Core Team,

        Peter D.

Here's the relevant part of the NEWS file:

          CHANGES IN R VERSION 1.3.0


    o     Changes to connections:

     -  New function url() to read from URLs.  file() will also
        accept URL specifications, as will all the functions which
        use 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 connections
        can be read with a user-specified encoding.

     -  New functions readChar() and writeChar() to read character
        strings with known lengths and no terminators, and to write
        user-specified lengths from strings.

     -  sink() now has a stack of output connections, following S4.

     -  sink() can also be applied to the message stream, to capture
        error messages to a connection.  Use carefully!

     -  seek() has a new `origin' argument.

     -  New function truncate() to truncate a connection open for
        writing at the current position.

     -  Socket connections via function socketConnection().

     -  The `blocking' argument for file, fifo  and socket connections
        is 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/time
        differences, and a round() method.

     -  Subtraction and logical comparison of objects from different
        date/time classes is now supported.   NB: the format for the
        difference of two objects of the same date/time class has
        changed, but only for objects generated by this version, not
        those generated by earlier ones.

     -  Methods for cut(), seq(), round() and trunc() for date/time

     -  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-range
     values, 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 as
     var.test() in package ctest now have formula interfaces.

    o     Matrix multiplication functions %*% and crossprod() now use a
     level-3 BLAS routine dgemm.  When R is linked with the ATLAS
     or other enhanced BLAS libraries this can be substantially
     faster than the previous code.

    o     New functions La.eigen() and La.svd() for eigenvector and
     singular value decompositions, based on LAPACK.     These are
     preferred to eigen() and svd() for new projects and can make
     use of enhanced BLAS routines such as ATLAS.  They are
     used in cancor(), cmdscale(), factanal() and princomp()
     and this may lead to sign reversals in some of the output of
     those functions.

    o     Provided the Fortran compiler can handle COMPLEX*16, the
     following routines now handle complex arguments, based on
     LAPACK 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 is
     substantially 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 the
     mean 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 capabilities
     such 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, or

    o     coplot() has a new argument `bar.bg' (color of conditioning
     gives nicer plots when the conditioners are factors, and allows
     factors for x and y (treated almost as if unclass()ed) using new
     argument `axlabels'.  [original ideas by Thomas Baummann]

    o     `hessian' argument added to deriv() and its methods.  A new
     deriv3() 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 for
     par(ask=*) in multifigure plots.

    o     dist() in package mva can now handle missing values, and
     zeroes in the Canberra distance.

    o     The default method for download.file() (and functions which use
     it such as update.packages()) is now "internal", and uses code
     compiled 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-PLUS
     compatibility (and used in various packages).

    o     ?/help() now advertises help.search() if it fails to find a

    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 within
     a specific DLL/shared library.

    o     Exact p-values are available for the two-sided two-sample
     Kolmogorov-Smirnov test.

    o     lm() now passes `...' to the low level functions for regression

    o     Generic functions logLik() and AIC() moved from packages nls
     and nlme to base, as well as their *.lm methods.

    o     New components in .Machine give the sizes of long, long long and
     long 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 set
     on the data frame (needed to distiguish the response, for

    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 handled
     differently by naresid() and napredict().

     The default, lm and glm methods for fitted, residuals, predict
     and weights make use of these.

    o     New function oneway.test() in package ctest for testing for
     equal means in a one-way layout, assuming normality but not
     necessarily equal variances.

    o     options(error) accepts a function, as an alternative to
     an expression. (The Blue Book only allows a function; current
     S-PLUS a function or an expression.)

    o     outer() has a speed-up in the default case of a matrix outer
     product (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', has
     new optional arguments and uses a much better layout when more
     than one page of plots is produced.

    o     plot.mts() has a new argument `panel' providing the same
     functionality as in coplot().

    o     postscript() allows user-specified encoding, with encoding files
     supplied for Windows, Mac, Unicode and various others, and with
     an appropriate platform-specific default.

    o     print.htest() can now handle test names that are longer than
     one 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 of
     records (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 cross
     line boundaries by default).

    o     sort(x) now produces an error when x is not atomic instead of
     just returning x.

    o     split() now allows splitting on a list of factors in which case
     their 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 into

    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 with
     related functions.  The old names are deprecated.  Argument
     `package' must now specify a single package.

    o     The Wilcoxon and Ansari-Bradley tests now return point
     estimators of the location or scale parameter of interest along
     with confidence intervals for these.

    o     New function write.dcf() for writing data in Debian Control File
     format.    parse.dcf() has been replaced by (much faster)    internal

    o     Contingency tables created by xtabs() or table() now have a
     summary() method.

    o     Functions httpclient(), read.table.url(), scan.url() and
     source.url() are now deprecated, and hence method="socket' in
     download.file() is.  Use url connections instead: in
     particular URLs can be specified for read.table(), scan() and

    o     Formerly deprecated function getenv() is now defunct.

    o     Support for package-specific demo scripts (R code).  demo() now
     has new arguments to specify the location of demos and to allow
     for running base demos as part of `make check'.

    o     If not explicitly given a library tree to install to or remove
     from, respectively, R CMD INSTALL and R CMD REMOVE now operate
     on the first directory given in `R_LIBS' if this is set and
     non-null, and the default library otherwise.

    o     R CMD INSTALL and package.description() fix some common problems
     of DESCRIPTION files (blank lines, ...)

    o     The INSTALL command for package installation allows a `--save'
     option.    Using it causes a binary image of the package contents
     to be created at install time and loaded when the package is
     attached.  This saves time, but also uses a more standard way
     of source-ing the package.  Packages that do more than just
     assign 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, its
     contents should be R commands executed at the end of creating
     the image.

     There is also a new command line option `--configure-vals' for
     passing variables to the configure script of a package.

    o     R CMD check now also checks the keyword entries against the list
     of standard keywords, for code/documentation mismatches (this
     can be turned off by the command line option `--no-codoc'), and
     for sufficient file permissions (Unix only).  There is a new check
     for 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 manuals
     for 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 the
     CXML/DXML BLAS libraries on Alphas.

    o     Perl scripts now use Cwd::cwd() in place of Cwd::getcwd(), as
     cwd() can be much faster.

    o     R::Dcf.pm can now also handle files with more than one record
     and checks (a little bit) for continuation lines without leading

    o     New manual `R Installation and Administration' with fuller
     details on the installation process: file `INSTALL' is now a
     brief introduction referencing that manual.

    o     New keyword `internal' which can be used to hide objects that
     are not part of the API from indices like the alphabetical lists
     in the HTML help system.

    o   Under Unix, shlib modules for add-on packages are now linked
     against R as a shared library (`libR') if this exists.  (This
     allows for improved embedding of R into other applications.)

    o   New mechanism for explicitly registering native routines in a
     DLL/shared library accessible via .C(), .Call(), .Fortran() and
     .External().  This is potentially more robust than the existing
     dynamic lookup, since it checks the number of arguments, type of
     the routine.

    o     New mechanism allowing registration of C routines for converting
     R objects to C pointers in .C() calls.  Useful for references to
     data in other languages and libraries (e.g. C and hdf5).

    o     The internal ftp/http access code maintains the event loop, so
     you can download whilst running tcltk or Rggobi, say.  It can
     be hooked into package XML too.


    o     boxplot.stats() now returns the correct `n' component in the case
     NAs. This also affects `conf', the notch length (PR#967).

    o     the "coef = 0" fix (PR#917) to boxplot.stats() broke
     boxplot.stats(do.out = FALSE).

    o     curve(* , add = FALSE) now works correctly again if used when
     par("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 empty
     data frame.  as.matrix(df), deparse(), dput() and str() now work
     for empty data frames.

    o     dbeta() could return zero erroneously on some platforms where
     roundoff makes e.g. 1.3 - 1 > (1.3 + 1) - 2 (Solaris and HP-UX
     were affected). (PR#970)

    o     pointer protection in deriv() (PR#953)

    o   expand.data.frame() didn't interpret its subset= argument in
        the 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 for
     equi-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 in
     the one-sample case reversed (PR#934).

    o     ls.str() and lsf.str() now work better with pos > 1, and are
     correctly documented (PR#899).

    o     plot(1:2, xaxs = "i") now gives both "1.0" and "2.0" x-axis

    o     promax() was not using its `m' argument (m=4 was always used).

    o     qr.X() was ignoring pivoting (which happens only in
     rank-deficient cases).

    o   sign of Pearson residuals was wrong for reciprocal link (PR#862)

    o     The algorithm for determining starting estimates in the SSfpl
     self-starting model in the nls package was changed following a
     suggestion by Phillipe Grosjean <phgrosje at 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

    o     The implementation of sys.function() did not work when the
     current function was already a function (e.g., a closure).

    o   tapply() had "..." argument after simplify=, which made it
     incompatible 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
     have been removed.

    o     The documentation and parts of the parse/deparse mechanism
     indicated that there was an operator `%'. Corrected (PR#925).

    o     Fixed some cases where the deparser gave code that threw a
     syntax 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 was
     incorrectly documented).

    o     asInteger was ignoring integer overflow (PR#929 and others).

    o     approxfun(*, ties = <fun>) could return garbage when there were
     ties = "ordered" was incorrect--also for approx()-- when there was
     a tie at the very right.

   O__  ---- Peter Dalgaard             Blegdamsvej 3
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907
r-announce mailing list -- Read
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To:
r-announce-request at stat.math.ethz.ch

r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list