R-2.6.0 is released
Peter Dalgaard
P.Dalgaard at biostat.ku.dk
Wed Oct 3 11:28:15 CEST 2007
I've rolled up R-2.6.0.tar.gz a short while ago. This is a development
release which contains a number of new features. In particular, the handling
of data with a large number of identical strings should be more memory-efficient.
Also, a number of mostly minor bugs have been fixed. See the full list
of changes below.
You can get it (later today) from
http://cran.r-project.org/src/base/R-2/R-2.5.0.tar.gz
or wait for it to be mirrored at a CRAN site nearer to you. In case of
impatience, try http://www.biostat.ku.dk/~pd/R-release
Binaries for various platforms will appear in due course.
For the R Core Team
Peter Dalgaard
These are the md5sums for the freshly created files, in case you wish
to check that they are uncorrupted:
070cca21d9f8a6af15f992edb47a24d5 AUTHORS
eb723b61539feef013de476e68b5c50a COPYING
a6f89e2100d9b6cdffcea4f398e37343 COPYING.LIB
635d810c9c3dd14d14e98ab22cb08be2 FAQ
70447ae7f2c35233d3065b004aa4f331 INSTALL
68eb0e9747156cb793b61da6c39c0829 NEWS
88bbd6781faedc788a1cbd434194480c ONEWS
4f004de59e24a52d0f500063b4603bcb OONEWS
97e5d2542349925962b7469456d45731 R-2.6.0.tar.gz
97e5d2542349925962b7469456d45731 R-latest.tar.gz
433182754c05c2cf7a04ad0da474a1d0 README
020479f381d5f9038dcb18708997f5da RESOURCES
1ad28cbc84485ccdf4ce5721b34ed645 THANKS
This is the relevant part of the NEWS file:
CHANGES IN R VERSION 2.6.0
SIGNIFICANT USER-VISIBLE CHANGES
o integrate(), nlm(), nlminb(), optim(), optimize() and uniroot()
now have '...' much earlier in their argument list. This
reduces the chances of unintentional partial matching but
means that the later arguments must be named in full.
o The default type for nchar() is now "chars". This is almost
always what was intended, and differs from the previous default
only for non-ASCII strings in a MBCS locale. There is a new
argument 'allowNA', and the default behaviour is now to throw
an error on an invalid multibyte string if type="chars" or
type="width".
o Connections will be closed if there is no R object referring to
them. A warning is issued if this is done, either at garbage
collection or if all the connection slots are in use.
NEW FEATURES
o abs(), sign(), sqrt(), floor(), ceiling(), exp() and the gamma,
trig and hyperbolic trig functions now only accept one
argument even when dispatching to a Math group method (which
may accept more than one argument for other group members).
o abbreviate() gains a 'method' argument with a new option
"both.sides" which can make shorter abbreviations.
o aggregate.data.frame() no longer changes the group variables
into factors, and leaves alone the levels of those which are
factors. (Inter alia grants the wish of PR#9666.)
o The default 'max.names' in all.names() and all.vars() is now
-1 which means unlimited. This fixes PR#9873.
o as.vector() and the default methods of as.character(),
as.complex(), as.double(), as.expression(), as.integer(),
as.logical() and as.raw() no longer duplicate in most cases
where the object is unchanged. (Beware: some code has been
written that invalidly assumes that they do duplicate, often
when using .C/.Fortran(DUP=FALSE).)
o as.complex(), as.double(), as.integer(), as.logical() and
as.raw() are now primitive and internally generic for
efficiency. They no longer dispatch on S3 methods for
as.vector() (which was never documented). as.real() and
as.numeric() remain as alternative names for as.double().
expm1(), log(), log1p(), log2(), log10(), gamma(), lgamma(),
digamma() and trigamma() are now primitive. (Note that logb()
is not.)
The Math2 and Summary groups (round, signif, all, any, max, min,
summ, prod, range) are now primitive.
See under METHODS PACKAGE below for some consquences for S4 methods.
o apropos() now sorts by name and not by position on the search
path.
o attr() gains an 'exact = TRUE' argument to disable partial
matching.
o bxp() now allows 'xlim' to be specified. (PR#9754)
o C(f, SAS) now works in the same way as C(f, treatment), etc.
o chol() is now generic.
o dev2bitmap() has a new option to go via PDF and so allow
semi-transparent colours to be used.
o dev.interactive() regards devices with the displaylist enabled
as interactive, and packages can register the names of their
devices as interactive via deviceIsInteractive().
o download.packages() and available.packages() (and functions
which use them) now support in 'repos' or 'contriburl' either
file: plus a general path (including drives on a UNC path on
Windows) or a file:/// URL in the same way as url().
o dQuote() and sQuote() are more flexible, with rendering
controlled by the new option 'useFancyQuotes'. This includes
the ability to have TeX-style rendering and directional quotes
(the so-called 'smart quotes') on Windows. The default is to
use directional quotes in UTF-8 locales (as before) and in the
Rgui console on Windows (new).
o duplicated() and unique() and their methods in base gain an
additional argument 'fromLast'.
o fifo() no longer has a default 'description' argument.
fifo("") is now implemented, and works in the same way as file("").
o file.edit() and file.show() now tilde-expand file paths on all
interfaces (they used to on some and not others).
o The find() argument is now named 'numeric' and not 'numeric.':
the latter was needed to avoid warnings about name clashes
many years ago, but partial matching was used.
o stats:::.getXlevels() confines attention to factors since some
users expected R to treat unclass(<a factor>) as a numeric
vector.
o grep(), strsplit() and friends now warn if incompatible sets
of options are used, instead of silently using the documented
priority.
o gsub()/sub() with perl = TRUE now preserves attributes from the
argument x on the result.
o is.finite() and is.infinite() are now S3 and S4 generic.
o jpeg(), png(), bmp() (Windows), dev2bitmap() and bitmap() have
a new argument 'units' to specify the units of 'width' and
'height'.
o levels() is now generic (levels<- has been for a long time).
o Loading serialized raw objects with load() is now considerably
faster.
o New primitive nzchar() as a faster alternative to
nchar(x) > 0 (and avoids having to convert to wide chars in
a MBCS locale and hence consider validity).
o The way old.packages() and hence update.packages() handle
packages with different versions in multiple package
repositories has been changed. The first package encountered
was selected, now the one with highest version number.
o optim(method = "L-BFGS-B") now accepts zero-length parameters,
like the other methods. Also, method = "SANN" no longer
attempts to optimize in this case.
o New options 'showWarnCalls' and 'showErrorCalls' to give a
concise traceback on warnings and errors. showErrorCalls=TRUE
is the default for non-interactive sessions. Option
'showNCalls' controls how abbreviated the call sequence is.
o New options 'warnPartialMatchDollar', 'warnPartialMatchArgs'
and 'warnPartialMatchAttr' to help detect the unintended use
of partial matching in $, argument matching and attr()
respectively.
o A device named as a character string in options(device =) is now
looked for in the grDevices name space if it is not visible
from the global environment.
o pmatch(x, y, duplicates.ok = TRUE) now uses hashing and so is
much faster for large x and y when most matches are exact.
o qr() is now generic.
o It is now a warning to have an non-integer object for
.Random.seed: this indicates a user had been playing with it,
and it has always been documented that users should only save
and restore it.
o New higher-order functions Reduce(), Filter() and Map().
o [g]regexpr() gain an 'ignore.case' argument for consistency with
grep(). (This does change the positional matching
of arguments, but no instances of positional matching beyond
the second were found.)
o relist() utility, an S3 generic with several methods, providing
an 'inverse' for unlist(); thanks to a code proposal from
Andrew Clausen.
o require() now returns invisibly.
o The interface to reshape() has been revised, allowing some
simplified forms that did not work before, and somewhat
improved error handling. A new argument 'sep' has been
introduced to replace simple usages of 'split' (the old
features are retained).
o rmultinom() uses a high-precision accumulator where available,
and so is more likely to give the same result on different
platforms (although it is still possible to get different
results, and the result may differ from previous versions of R).
o row() and col() now work on matrix-like objects such as data
frames, not just matrices.
o Rprof() allows smaller values of 'interval' on machines that
support it: for example modern Linux systems support
interval = 0.001.
o sample() now requires its first argument 'x' to be numeric
(in the sense of is.numeric()) as well as of length 1 and >= 1
before it is regarded as shorthand for 1:x.
o sessionInfo() now provides details about package name spaces
that are loaded but not attached. The output of sessionInfo
has been improved to make it easier to read when it is
inadvertently wrapped after being pasted into an email
message.
o setRepositories() has a new argument 'ind' to allow selections
to be made programmatically.
o showMethods() has a "smart" default for 'inherited' such that
showMethods(<genfun>, incl = TRUE) becomes a useful short cut.
o sprintf() no longer has a output string length limit.
o storage.mode<- is now primitive, and hence makes fewer copies
of an object (none if the mode is unchanged). It is a little
less general than mode<-, which remains available. (See also
the entry under DEFUNCT below.)
o sweep() gains an argument 'check.margin = TRUE' which warns
about mismatched dimensions.
o The mathematical annotation facility (plotmath) now recognises
a symbol() function which forces the font to be a symbol font.
This allows access to all characters in the Adobe Symbol
encoding within plotmath expressions.
o For OSes that cannot unset environment variables, Sys.unsetenv()
sets the value to "", with a warning.
o New function Sys.which(), an interface to 'which' on
Unix-alikes and an emulation on Windows.
o On Unix-alikes, system(, intern = TRUE) reports on very long
lines that may be truncated, giving the line number of the
content being read.
o termplot() has a default for 'ask' that uses dev.interactive().
It allows 'ylim' to be set, or computed to cover all the
plots to be made (the new default) or computed for each plot
(the previous default).
o uniroot(f, *) is slightly faster for non-trivial f() because it
computes f(lower) and f(upper) only once, and it has new optional
arguments 'f.lower' and 'f.upper' by which the caller can pass these.
o unlink() is now internal, using common POSIX code on all platforms.
o unsplit() now works with lists of dataframes.
o The vcov() methods for classes "gls" and "nlme" have migrated to
package 'nlme'.
o vignette() has a new argument 'all' to choose between showing
vignettes in attached packages or in all installed packages.
o New function within(), which is like with(), except that it
returns modified versions back of lists and data frames.
o X11(), postscript() (and hence bitmap()), xfig(), jpeg(), png()
and the Windows devices win.print(), win.metafile() and bmp()
now warn (once at first use) if semi-transparent colours are
used (rather than silently treating them as fully
transparent).
o New function xspline() to provide base graphics support of
X-splines (cf grid.xspline).
o New function xyTable() does the 2D gridding "computations" used by
sunflowerplot().
o Rd conversion to HTML and CHM now makes use of classes, which
are set in the stylesheets. Editing R.css will change the
styles used for \env, \option, \pkg etc. (CHM styles are set
at compilation time.)
o The documented arguments of '%*%' have been changed to be x
and y, to match S and the implicit S4 generic.
o If members of the Ops group (the arithmetic, logical and
comparison operators) and '%*%' are called as functions,
e.g. '>'(x, y), positional matching is always used. (It used
to be the case that positional matching was used for the
default methods, but names would be matched for S3 and S4
methods and in the case of '!' the argument name differed
between S3 and S4 methods.)
o Imports environments of name spaces are named (as
"imports:foo"), and so are known e.g. to environmentName().
o Package 'stats4' uses lazy-loading not SaveImage (which is now
deprecated).
o Installing help for a package now parses the .Rd file only
once, rather than once for each type.
o PCRE has been updated to version 7.2.
o bzip2 has been updated to version 1.0.4.
o gettext has been updated to version 0.16.1.
o There is now a global CHARSXP cache, R_StringHash. CHARSXPs
are no longer duplicated and must not be modified in place.
Developers should strive to only use mkChar (and mkString) for
creating new CHARSXPs and avoid use of allocString. A new
macro, CallocCharBuf, can be used to obtain a temporary char
buffer for manipulating character data. This patch was
written by Seth Falcon.
o The internal equivalents of as.complex, as.double, as.integer
and as.logical used to handle length-1 arguments now accept
character strings (rather than report that this is
'unimplemented').
o Lazy-loading a package is now substantially more efficient (in
memory saved and load time).
o Various performance improvements lead to a 45% reduction
in the startup time without 'methods' (and one-sixth with -
'methods' now takes 75% of the startup time of a default session).
o The [[ subsetting operator now has an argument 'exact' that
allows programmers to disable partial matching (which will in
due course become the default). The default value is exact=NA
which causes a warning to be issued when partial matching
occurs. When exact = TRUE, no partial matching will be
performed. When exact = FALSE, partial matching can occur and
no warning will be issued. This patch was written by Seth
Falcon.
o Many of the C-level warning / error messages (e.g. from
subscripting) have been re-worked to give more detailed
information on either the location or the cause of the
problem.
o The S3 and S4 Math groups have been harmonized. Functions
log1p(), expm1(), log10() and log2() are members of the S3
group, and sign(), log1p(), expm1(), log2(), cummax(),
cummin(), digamma(), trigamma() and trunk() are members of the
S4 group. gammaCody() is no longer in the S3 Math group.
They are now all primitive.
o The initialization of the random-number stream makes use of the
sub-second part of the current time where available.
Initialization of the 1997 Knuth TAOCP generator is now done
in R code, avoiding some C code whose licence status has been
questioned.
o The reporting of syntax errors has been made more user-
friendly.
METHODS PACKAGE
o Packages using 'methods' have to have been installed in R 2.4.0
or later (when various internal representations were changed).
o Internally generic primitives no longer dispatch S4 methods on
S3 objects.
o load() and restoring a workspace attempt to detect and warn on
the loading of pre-2.4.0 S4 objects.
o Making functions primitive changes the semantics of S4
dispatch: these no longer dispatch on classes based on types
but do dispatch whenever the function in the base name space is
called.
This applies to as.complex(), as.integer(), as.logical(),
as.numeric(), as.raw(), expm1(), log(), log1p(), log2(),
log10(), gamma(), lgamma(), digamma() and trigamma(), as
well as the Math2 and Summary groups.
Because all members of the group generics are now primitive,
they are all S4 generic and setting an S4 group generic does
at last apply to all members and not just those already made
S4 generic.
as.double() and as.real() are identical to as.numeric(), and
now remain so even if S4 methods are set on any of them.
Since 'as.numeric' is the traditional name used in S4,
currently methods must be exported from a NAMESPACE for
'as.numeric' only.
o The S4 generic for '!' has been changed to have signature (x)
(was (e1)) to match the documentation and the S3 generic.
setMethod() will fix up methods defined for (e1), with a
warning.
o The "structure" S4 class now has methods that implement the
concept of structures as described in the Blue Book--that
element-by-element functions and operators leave structure
intact unless they change the length. The informal behavior
of R for vectors with attributes was inconsistent.
o The implicitGeneric() function and relatives have been added to
specify how a function in a package should look when methods are
defined for it. This will be used to ensure that generic versions
of functions in R core are consistent. See ?implicitGeneric.
o Error messages generated by some of the functions in the methods
package provide the name of the generic to provide more
contextual information.
o It is now possible to use setGeneric(useAsDefault = FALSE) to
define a new generic with the name of a primitive function
(but having no connection with the primitive).
DEPRECATED & DEFUNCT
o $ on an atomic vector now gives a warning that it is 'invalid'.
It remains deprecated, but may be removed in R >= 2.7.0.
o storage.mode(x) <- "real" and storage.mode(x) <- "single" are
defunct: use instead storage.mode(x) <- "double" and
mode(x) <- "single".
o In package installation, SaveImage: yes is deprecated in
favour of LazyLoad: yes.
o seemsS4Object (methods package) is deprecated in favour of isS4().
o It is planned that [[exact=TRUE]] will become the default in
R 2.7.0.
UTILITIES
o checkS3methods() (invoked by R CMD check) now checks the
arguments of methods for primitive members of the S3 group
generics.
o R CMD check now does a recursive copy on the 'tests' directory.
o R CMD check now warns on non-ASCII .Rd files without an
\encoding field, rather than just on ones that are definitely
not from an ISO-8859 encoding. This agrees with the
long-standing stipulation in 'Writing R Extensions', and
catches some packages with UTF-8 man pages.
o R CMD check now warns on DESCRIPTION files with a non-portable
Encoding field, or with non-ASCII data and no Encoding field.
o R CMD check now loads all the 'Suggests' and 'Enhances'
dependencies to reduce warnings about non-visible objects, and
also emulates standard functions (such as shell()) on
alternative R platforms.
o R CMD check now (by default) attempts to latex the vignettes
rather than just weave and tangle them: this will give a NOTE
if there are latex errors.
o R CMD check computations no longer ignore Rd \usage entries for
functions for extracting or replacing parts of an object, so S3
methods should use the appropriate \method{} markup.
o R CMD check now checks for CR (as well as CRLF) line endings in
C/C++/Fortran source files, and for non-LF line endings in
Makefile[.in] and Makevars[.in] in the package 'src'
directory. R CMD build will correct non-LF line endings in
source files and in the make files mentioned.
o Rdconv now warns about unmatched braces rather than silently
omitting sections containing them. (Suggestion by Bill
Dunlap, PR#9649)
Rdconv now renders (rather than ignores) \var{} inside \code{}
markup in latex conversion.
R CMD Rdconv gains a --encoding argument to set the default
encoding for conversions.
o The list of CRAN mirrors now has a new (manually maintained)
column "OK" which flags mirrors that seem to be OK, only those
are used by chooseCRANmirror(). The now exported function
getCRANmirrors() can be used to get all known mirrors or only
the ones that are OK.
o R CMD SHLIB gains arguments --clean and --preclean to clean up
intermediate files after and before building.
o R CMD config now knows about FC and FCFLAGS (used for F9x
compilation).
o R CMD Rdconv now does a better job of rendering quotes in
titles in HTML, and \sQuote and \dQuote into text on Windows.
C-LEVEL FACILITIES
o New utility function alloc3DArray similar to allocMatrix.
o The entry point R_seemsS4Object in Rinternals.h has not been
needed since R 2.4.0 and has been removed. Use IS_S4_OBJECT
instead.
o Applications embedding R can use R_getEmbeddingDllInfo() to
obtain DllInfo for registering symbols present in the
application itself.
o The instructions for making and using standalone libRmath have
been moved to the R Installation and Administration manual.
o CHAR() now returns (const char *) since CHARSXPs should no
longer be modified in place. This change allows compilers to
warn or error about improper modification. Thanks to Herve
Pages for the suggestion.
o acopy_string is a (provisional) new helper function that
copies character data and returns a pointer to memory
allocated using R_alloc. This can be used to create a copy of
a string stored in a CHARSXP before passing the data on to a
function that modifies its arguments.
o asLogical, asInteger, asReal and asComplex now accept STRSXP
and CHARSXP arguments, and asChar accepts CHARSXP.
o New R_GE_str2col() exported via R_ext/GraphicsEngine.h for
external device developers.
o doKeybd and doMouseevent are now exported in GraphicsDevice.h.
o R_alloc now has first argument of type 'size_t' to support
64-bit platforms (e.g. Win64) with a 32-bit 'long' type.
o The type of the last two arguments of getMatrixDimnames (non-API
but mentioned in R-exts.texi and in Rinternals.h) has been
changed to 'const char **' (from char **).
o R_FINITE now always resolves to the function call R_finite in
packages (rather than sometimes substituting isfinite). This
avoids some issues where R headers are called from C++ code
using features tested on the C compiler.
o The advice to include R headers from C++ inside extern "C" {}
has been changed. It is nowadays better *not* to wrap the
headers, as they include other headers which on some OSes
should not be wrapped.
o Rinternals.h no longer includes a substantial set of C headers.
All but ctype.h and errno.h are included by R.h which is supposed
to be used before Rinternals.h.
o Including C system headers can be avoided by defining NO_C_HEADERS
before including R headers. This is intended to be used from
C++ code, and you will need to include C++ equivalents such as
<cmath> before the R headers.
INSTALLATION
o The 'test-Lapack' test is now part of 'make check'.
o The 'stat' system call is now required, along with 'opendir'
(which had long been used but not tested for). ('make check'
would have failed in earlier versions without these calls.)
o 'evince' is now considered as a possible PDF viewer.
o 'make install-strip' now also strips the DLLs in the standard
packages.
o Perl 5.8.0 (released in July 2002) or later is now required.
(R 2.4.0 and later have in fact required 5.6.1 or later.)
o The C function 'finite' is no longer used: we expect a C99
compiler which will have 'isfinite'. (If that is missing, we
test separately for NaN, Inf and -Inf.)
o A script/executable 'texi2dvi' is now required on Unix-alikes:
it is part of the texinfo distribution.
o Files texinfo.tex and txi-en.tex are no longer supplied in
doc/manual (as the latest versions have an incompatible
licence). You will need to ensure that your texinfo and/or
TeX installations supply them.
o wcstod is now required for MBCS support.
o There are some experimental provisions for building on Cygwin.
PACKAGE INSTALLATION
o The encoding declared in the DESCRIPTION file is now used as
the default encoding for .Rd files.
o A standard for specifying package license information in the
DESCRIPTION License field was introduced, see 'Writing R
Extensions'. In addition, files LICENSE or LICENCE in a package
top-level source directory are now installed (so putting copies
into the 'inst' subdirectory is no longer necessary).
o install.packages() on a Unix-alike now updates
doc/html/packages.html only if packages are installed to
.Library (by that exact name).
o R CMD INSTALL --clean now runs SHLIB --clean to do the clean
up (unless there is a src/Makefile), and this will remove
$(OBJECTS) (which might have been redefined in Makevars).
R CMD INSTALL --preclean cleans up the sources after a
previous installation (as if that had used --clean) before
attempting to install.
R CMD INSTALL will now run R CMD SHLIB in the 'src' directory
if src/Makevars is present, even if there are no source files
with known extensions.
o If there is a file src/Makefile, src/Makevars is now ignored
(it could be included by src/Makefile if desired), and it is
preceded by etc/Makeconf rather than share/make/shlib.mk.
Thus the makefiles read are R_HOME/etc/Makeconf, src/Makefile
in the package and then any personal Makevars files.
o R CMD SHLIB used to support the use of 'OBJS' in Makevars, but
this was changed to 'OBJECTS' in 2001. The undocumented
alternative of 'OBJS' has finally been removed.
o R CMD check no longer issues a warning about no data sets
being present if a lazyload db is found (as determined by the
presence of Rdata.rdb, Rdata.rds, and Rdata.rdx in the 'data'
subdirectory.
BUG FIXES
o charmatch() and pmatch() used to accept non-integer values for
'nomatch' even though the return value was documented to be
integer. Now 'nomatch' is coerced to integer (rather than the
result being coerced to the type of 'nomatch').
o match.call() no longer 'works' outside a function unless
'definition' is supplied. (Under some circumstances it used
to 'work', matching itself.)
o The formula methods of boxplot, cdplot, pairs and spineplot
now attach 'stats' so that model.frame() is visible where
they evaluate it.
o Date-time objects are no longer regarded as numeric by
is.numeric().
o methods("Math") did not work if 'methods' was not attached.
o readChar() read an extra empty item (or more than one) beyond
the end of the source; in some conditions it would terminate
early when reading an item of length 0.
o Added a promise evaluation stack so interrupted promise
evaluations can be restarted.
o R.version[1:10] now nicely prints.
o In the methods package, prototypes are now inherited for the
.Data "slot"; i.e., for classes that contain one of the basic
data types.
o <data frame>[[i, j]] now works if 'i' is character.
o write.dcf() no longer writes NA fields (PR#9796), and works
correctly on empty descriptions.
o pbeta(x, log.p = TRUE) now has improved accuracy in many cases,
and so have functions depending on it such as pt(), pf() and
pbinom().
o mle() had problems with the L-BFGS-B in the no-parameter case
and consequentially also when profiling 1-parameter models
(fix thanks to Ben Bolker).
o Two bugs fixed in methods that in involve the "..." argument in
the generic function: previously failed to catch methods that
just dropped the "..."; and use of callGeneric() with no arguments
failed in some circumstances when "..." was a formal argument.
o sequence() now behaves more reasonably, although not
back-compatibly for zero or negative input.
o nls() now allows more peculiar but reasonable ways of being called,
e.g., with data=list(<uneven lengths>) or a model without variables.
o match.arg() was not behaving as documented when
several.ok=TRUE (PR#9859), gave spurious warnings when 'arg'
had the wrong length and was incorrectly documented (exact
matches are returned even when there is more than one partial
match).
o The data.frame method for split<-() was broken.
o The test for -D__NO_MATH_INLINES was badly broken and returned
true on all non-glibc platforms and false on all glibc ones
(whether they were broken or not).
o LF was missing after the last prompt when --quiet was used without
--slave. Use --slave when no final LF is desired.
o Fixed bug in initialisation code in 'grid' package for
determining the boundaries of shapes. Problem reported
by Hadley Wickham; symptom was error message:
"Polygon edge not found".
o str() is no longer slow for large POSIXct objects. Its output
is also slightly more compact for such objects; implementation
via new optional argument 'give.head'.
o strsplit(*, fixed=TRUE), potentially iconv() and internal string
formatting is now faster for large strings, thanks to report
PR#9902 by John Brzustowski.
o de.restore() gave a spurious warning for matrices (Ben Bolker)
o plot(fn, xlim=c(a,b)) would not set "from" and "to" properly
when plotting a function. The argument lists to curve() and
plot.function() have been modified slightly as part of the
fix.
o julian() was documented to work with POSIXt origins, but did
not work with POSIXlt ones. (PR#9908)
o Dataset HairEyeColor has been corrected to agree with
Friendly (2000): the change involves the breakdown of the
Brown hair / Brown eye cell by Sex, and only totals over Sex
are given in the original source.
o Trailing spaces are now consistently stripped from \alias{}
entries in .Rd files, and this is now documented. (PR#9915)
o .find.packages(), packageDescription() and sessionInfo()
assumed that attached environments named "package:foo" were
package environments, although misguided users could use such
a name in attach().
o spline() and splinefun() with method = "periodic" could return
incorrect results when length(x) was 2 or 3.
o getS3method() could fail if the method name contained a regexp
metacharacter such as "+".
o help(<a character vector>) now uses the name and not the
value of the vector unless it has length exactly one, so
e.g. help(letters) now gives help on 'letters'.
(Related to PR#9927)
o Ranges in chartr() now work better in CJK locales, thanks to
Ei-ji Nakama.
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-announce
mailing list