pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/math/R
Module Name: pkgsrc
Committed By: markd
Date: Sat May 3 22:29:42 UTC 2014
Modified Files:
pkgsrc/math/R: Makefile PLIST distinfo
pkgsrc/math/R/patches: patch-ad
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().
To generate a diff of this commit:
cvs rdiff -u -r1.147 -r1.148 pkgsrc/math/R/Makefile
cvs rdiff -u -r1.19 -r1.20 pkgsrc/math/R/PLIST
cvs rdiff -u -r1.58 -r1.59 pkgsrc/math/R/distinfo
cvs rdiff -u -r1.16 -r1.17 pkgsrc/math/R/patches/patch-ad
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index