Log message:
Update R to 3.1.1
NEW FEATURES:
* When attach() reports conflicts, it does so compatibly with
library() by using message().
* R CMD Sweave no longer cleans any files by default, compatibly
with versions of R prior to 3.1.0. There are new options
--clean, --clean=default and --clean=keepOuts.
* tools::buildVignette() and tools::buildVignettes() with clean =
FALSE no longer remove any created files. buildvignette() gains
a keep argument for more cleaning customization.
* The Bioconductor 'version' used by setRepositories() can now be
set by environment variable R_BIOC_VERSION at runtime, not just
when R is installed. (It has been stated that Bioconductor will
switch from 'version' 2.14 to 'version' 3.0 during the lifetime
of the R 3.1 series.)
* Error messages from bugs in embedded Sexpr code in Sweave
documents now report the source location.
* type.convert(), read.table() and similar read.*() functions get a
new numerals argument, specifying how numeric input is converted
when its conversion to double precision loses accuracy. The
default value, "allow.loss" allows accuracy loss, as in R
versions before 3.1.0.
* For some compilers, integer addition could overflow without a
warning. R's internal code for both integer addition and
subtraction is more robust now.
* The function determining the default number of knots for
smooth.spline() is now exported, as .nknots.smspl().
* dbeta(, a,b), pbeta(), qbeta() and rbeta() are now defined also
for a = 0, b = 0, or infinite a and b (where they typically
returned NaN before).
* Many package authors report that the RStudio graphics device does
not work correctly with their package's use of dev.new(). The
new option dev.new(noRStudioGD = TRUE) replaces the RStudio
override by the default device as selected by R itself, still
respecting environment variables R_INTERACTIVE_DEVICE and
R_DEFAULT_DEVICE.
* readRDS() now returns visibly.
* Modifying internal logical scalar constants now results in an
error instead of a warning.
* install.packages(repos = NULL) now accepts http:// or ftp:// URLs
of package archives as well as file paths, and will download as
required. In most cases repos = NULL can be deduced from the
extension of the URL.
* The warning when using partial matching with the $ operator on
data frames is now only given when
options("warnPartialMatchDollar") is TRUE.
* Package help requests like package?foo now try the package foo
whether loaded or not.
* General help requests now default to trying all loaded packages,
not just those on the search path.
* Added a new function promptImport(), to generate a help page for
a function that was imported from another package (and presumably
re-exported, or help would not be needed).
|
Log message:
Update to R 3.1.0
NEW FEATURES:
* type.convert() (and hence by default read.table()) returns a
character vector or factor when representing a numeric input as a
double would lose accuracy. Similarly for complex inputs.
If a file contains numeric data with unrepresentable numbers of
decimal places that are intended to be read as numeric, specify
colClasses in read.table() to be "numeric".
* tools::Rdiff(useDiff = FALSE) is closer to the POSIX definition
of diff -b (as distinct from the description in the man pages of
most systems).
* New function anyNA(), a version of any(is.na(.)) which is fast
for atomic vectors, based on a proposal by Tim Hesterberg.
* arrayInd(*, useNames = TRUE) and, analogously, which(*, arr.ind =
TRUE) now make use of names(.dimnames) when available.
* is.unsorted() now also works for raw vectors.
* The "table" method for as.data.frame() (also useful as
as.data.frame.table()) now passes sep and base arguments to
provideDimnames().
* uniroot() gets new optional arguments, notably extendInt,
allowing to auto-extend the search interval when needed. The
return value has an extra component, init.it.
* switch(f, ...) now warns when f is a factor, as this typically
happens accidentally where the useR meant to pass a character
string, but f is treated as integer (as always documented).
* The parser has been modified to use less memory.
* The way the unary operators (+ - !) handle attributes is now more
consistent. If there is no coercion, all attributes (including
class) are copied from the input to the result: otherwise only
names, dims and dimnames are.
* colorRamp() and colorRampPalette() now allow non-opaque colours
and a ramp in opacity via the new argument alpha = TRUE.
(Suggested by Alberto Krone-Martins, but optionally as there are
existing uses which expect only RGB values.)
* grid.show.layout() and grid.show.viewport() get an optional vp.ex
argument.
* There is a new function find_gs_cmd() in the tools package to
locate a GhostScript executable. (This is an enhanced version of
a previously internal function there.)
* object.size() gains a format() method.
* There is a new family, "ArialMT", for the pdf() and postscript()
devices. This will only be rendered correctly on viewers which
have access to Monotype TrueType fonts (which are sometimes
requested by journals).
* The text and PDF news files, including NEWS and NEWS.2, have been
moved to the doc directory.
* combn(x, simplify = TRUE) now gives a factor result for factor
input x (previously user error).
* Added utils::fileSnapshot() and utils::changedFiles() functions
to allow snapshots and comparison of directories of files.
* make.names(names, unique=TRUE) now tries to preserve existing
names.
* New functions cospi(x), sinpi(x), and tanpi(x), for more accurate
computation of cos(pi*x), etc, both in R and the C API. Using
these gains accuracy in some cases, e.g., inside lgamma() or
besselI().
* print.table(x, zero.print = ".") now also has an effect when x is
not integer-valued.
* There is more support to explore the system's idea of time-zone
names. Sys.timezone() tries to give the current system setting
by name (and succeeds at least on Linux, OS X, Solaris and
Windows), and OlsonNames() lists the names in the system's Olson
database. Sys.timezone(location = FALSE) gives the previous
behaviour.
* Platforms with a 64-bit time_t type are allowed to handle
conversions between the "POSIXct" and "POSIXlt" classes for
date-times outside the 32-bit range (before 1902 or after 2037):
the existing workarounds are used on other platforms. (Note that
time-zone information for post-2037 is speculative at best, and
the OS services are tested for known errors and so not used on OS
X.)
Currently time_t is usually long and hence 64-bit on Unix-alike
64-bit platforms: however it several cases the time-zone database
is 32-bit. On R for Windows it is 64-bit (for both architectures
as from this version).
* The "save.defaults" option can include a value for
compression_level.
* colSums() and friends now have support for arrays and data-frame
columns with 2^31 or more elements.
* as.factor() is faster when f is an unclassed integer vector (for
example, when called from tapply()).
* fft() now works with longer inputs, from the 12 million
previously supported up to 2 billion.
* Complex svd() now uses LAPACK subroutine ZGESDD, the complex
analogue of the routine used for the real case.
* Sweave now outputs .tex files in UTF-8 if the input encoding is
declared to be UTF-8, regardless of the local encoding. The
UTF-8 encoding may now be declared using a LaTeX comment
containing the string %\SweaveUTF8 on a line by itself.
* file.copy() gains a copy.date argument.
* Printing of date-times will make use of the time-zone
abbreviation in use at the time, if known. For example, for
Paris pre-1940 this could be LMT, PMT, WET or WEST. To enable
this, the "POSIXlt" class has an optional component "zone"
recording the abbreviation for each element.
For platforms which support it, there is also a component
"gmtoff" recording the offset from GMT where known.
* (On Windows, by default on OS X and optionally elsewhere.) The
system C function strftime has been replaced by a more
comprehensive version with closer conformance to the POSIX 2008
standard.
* dnorm(x, log = FALSE) is more accurate (but somewhat slower) for
|x| > 5.
* Some versions of the tiff() device have further compression
options.
* read.table(), readLines() and scan() have a new argument to
influence the treatment of embedded nuls.
* Avoid duplicating the right hand side values in complex
assignments when possible. This reduces copying of replacement
values in expressions such as Z$a <- a0 and ans[[i]] <- tmp: some
package code has relied on there being copies.
Also, a number of other changes to reduce copying of objects; all
contributed by or based on suggestions by Michael Lawrence.
* The fast argument of KalmanLike(), KalmanRun() and
KalmanForecast() has been replaced by update, which instead of
updating mod in place, optionally returns the updated model in an
attribute "mod" of the return value.
* arima() and makeARIMA() get a new optional argument SSinit,
allowing the choice of a different *s*tate *s*pace initialization
which has been observed to be more reliable close to
non-stationarity.
* warning() has a new argument noBreaks., to simplify
post-processing of output with options(warn = 1).
* pushBack() gains an argument encoding, to support reading of
UTF-8 characters using scan(), read.table() and related functions
in a non-UTF-8 locale.
* all.equal.list() gets a new argument use.names which by default
labels differing components by names (if they match) rather than
by integer index. Saved R output in packages may need to be
updated.
* The methods for all.equal() and attr.all.equal() now have
argument check.attributes after ... so it cannot be partially nor
positionally matched (as it has been, unintentionally).
A side effect is that some previously undetected errors of
passing empty arguments (no object between commas) to all.equal()
are detected and reported.
There are explicit checks that check.attributes is logical,
tolerance is numeric and scale is NULL or numeric. This catches
some unintended positional matching.
The message for all.equal.numeric() reports a "scaled difference"
only for scale != 1.
* all.equal() now has a "POSIXt" method replacing the \
"POSIXct"
method.
* The "Date" and "POSIXt" methods of seq() allows by = \
"quarter"
for completeness (by = "3 months" always worked).
* file.path() removes any trailing separator on Windows, where they
are invalid (although sometimes accepted). This is intended to
enhance the portability of code written by those using POSIX file
systems (where a trailing / can be used to confine path matching
to directories).
* New function agrepl() which like grepl() returns a logical
vector.
* fifo() is now supported on Windows.
* sort.list(method = "radix") now allows negative integers
* Some functionality of print.ts() is now available in
.preformat.ts() for more modularity.
* mcparallel() gains an option detach = TRUE which allows execution
of code independently of the current session. It is based on a
new estranged = TRUE argument to mcfork() which forks child
processes such that they become independent of the parent
process.
* The pdf() device omits circles and text at extremely small sizes,
since some viewers were failing on such files.
* The rightmost break for the "months", "quarters" and \
"years"
cases of hist.POSIXlt() has been increased by a day.
* The handling of DF[i,] <- a where i is of length 0 is improved.
* hclust() gains a new method "ward.D2" which implements Ward's
method correctly. The previous "ward" method is \
"ward.D" now,
with the old name still working. Thanks to research and
proposals by Pierre Legendre.
* The sunspot.month dataset has been amended and updated from the
official source, whereas the sunspots and sunspot.year datasets
will remain immutable. The documentation and source links have
been updated correspondingly.
* The summary() method for "lm" fits warns if the fit is
essentially perfect, as most of the summary may be computed
inaccurately (and with platform-dependent values).
Programmers who use summary() in order to extract just a
component which will be reliable (e.g. $cov.unscaled) should wrap
their calls in suppressWarnings().
|
Log message:
Update to R 3.0.3. update from wen heping.
CHANGES IN R 3.0.3:
NEW FEATURES:
* On Windows there is support for making .texi manuals using
texinfo 5.0 or later: the setting is in file
src/gnuwin32/MkRules.dist.
A packaging of the Perl script and modules for texinfo 5.2 has
been made available at <URL:
http://www.stats.ox.ac.uk/pub/Rtools/>.
* write.table() now handles matrices of 2^31 or more elements, for
those with large amounts of patience and disc space.
* There is a new function, La_version(), to report the version of
LAPACK in use.
* The HTML version of 'An Introduction to R' now has links to PNG
versions of the figures.
* There is some support to produce manuals in ebook formats. (See
doc/manual/Makefile. Suggested by Mauro Cavalcanti.)
* On a Unix-alike Sys.timezone() returns NA if the environment
variable TZ is unset, to distinguish it from an empty string
which on some OSes means the UTC time zone.
* The backtick may now be escaped in strings, to allow names
containing them to be constructed, e.g. `\``.
* read.table(), readLines() and scan() now warn when an embedded
nul is found in the input.
* KalmanForecast(fast = FALSE) is now the default, and the help
contains an example of how fast = TRUE can be used in this
version. (The usage will change in 3.1.0.)
* strptime() now checks the locale only when locale-specific
formats are used and caches the locale in use: this can halve the
time taken on OSes with slow system functions (e.g. OS X).
* strptime() and the format() methods for classes "POSIXct",
"POSIXlt" and "Date" recognize strings with marked encodings:
this allows, for example, UTF-8 French month names to be read on
(French) Windows.
* iconv(to = "utf8") is now accepted on all platforms (some
implementations did already, but GNU libiconv did not: however
converted strings were not marked as being in UTF-8). The
official name, "UTF-8" is still preferred.
* available.packages() is better protected against corrupt metadata
files.
* Finalizers are marked to be run at garbage collection, but run
only at a somewhat safer later time (when interrupts are
checked). This circumvents some problems with finalizers running
arbitrary code during garbage collection (the known instances
being running options() and (C-level) path.expand()
re-entrantly).
|