The ‘Changes in R’ article from the 2014-2 issue.
CHANGES IN R 3.1.2
NEW FEATURES
embedFonts()
now defaults to format = "ps2write"
for .ps
and
.eps
files. This is available in Ghostscript 9.x (since 2010)
whereas the previous default, format = "pswrite"
, was removed in
Ghostscript 9.10.
For consistency with [dpqr]norm()
, [dp]lnorm(sdlog = 0)
model a
point mass at exp(mulog)
rather than return NaN
(for an error).
capabilities()
now reports if ICU is compiled in for use for
collation (it is only actually used if a suitable locale is set for
collation, and never for a C
locale).
(OS X only.) Package tcltk checks when loaded if it is linked against the CRAN X11-based Tcl/Tk and if so that the Tcl/Tk component and the X11 libraries are installed. This allows more informative error messages to be given advising the installation of the missing component or of XQuartz.
The X11()
device and X11-based versions of the data editor and
viewer (invoked by edit()
and View()
for data frames and
matrices from command-line R) check that the X11 libraries are
installed and if not advises installing XQuartz.
icuSetCollate()
allows locale = "default"
, and locale = "none"
to use OS services rather than ICU for collation.
Environment variable R_ICU_LOCALE
can be used to set the default
ICU locale, in case the one derived from the OS locale is
inappropriate (this is currently necessary on Windows).
New function icuGetCollate()
to report on the ICU collation locale
in use (if any).
utils::URLencode()
was updated to use unreserved and reserved
characters from RFC 3986, http://tools.ietf.org/html/rfc3986,
instead of RFC 1738.
unique(warnings())
and c(warnings())
are now supported.
The Bioconductor ‘version’ used by setRepositories()
now defaults
to 3.0
. (It can be set at runtime via environment variable
R_BIOC_VERSION
.)
INSTALLATION and INCLUDED SOFTWARE
The configure
script reports on the more important
capabilities/options which will not be compiled in.
More types of external BLAS are recognized by name in that report.
When building R as a shared library, the -L${R_HOME}/lib${R_ARCH}
flag is placed earlier in the link commands used during installation
and when packages are installed: this helps ensure that the current
build has priority if an R shared library has already been installed
by e.g. install-libR
in a library mentioned in LDFLAGS
(and not
in ‘your system’s library directory’ as documented). (Wish of
PR#15790.)
LaTeX package upquote is no longer required for R’s use of inconsolata.
(Windows only) If both 32 and 64 bit versions of R are installed,
the bin/R.exe
and bin/Rscript.exe
executables now run 64 bit R.
(To run 32 bit R, overwrite these files with copies of
bin/i386/Rfe.exe
.)
UTILITIES
Running R CMD check
with _R_CHECK_DEPENDS_ONLY_
true now makes
the VignetteBuilder
packages available even if they are listed in
Suggests
, since they are needed to recognise and process
non-Sweave vignettes.
R CMD check
now reports empty importFrom
declarations in a
NAMESPACE
file, as these are common errors (writing
importFrom(``Pkg``)
where import(``Pkg``)
was intended).
R CMD check
now by default checks code usage directly on the
package namespace without loading and attaching the package and its
suggests and enhances. For good practice with packages in the
Suggests
field, see §1.1.3.1 of ‘Writing R Extensions’. For use of
lazy-data objects in the package’s own code, see ?data
.
BUG FIXES
dmultinom()
did not handle non-finite probabilities correctly.
prettyNum(x, zero.print=*)
now also works when x
contains NA
s.
A longstanding bug exhibited by nlminb()
on Windows was traced to
a compiler bug in gcc 4.6.3; a workaround has been put in place.
(PR#15244 and PR#15914).
Rendering of \\command
in HTML versions of help pages has been
improved: this is particularly evident on the help page for
INSTALL
.
as.hexmode(x)
and as.octmode(x)
now behave correctly for some
numeric x
, e.g., c(NA, 1)
or c(1, pi)
.
drop1()
failed if the scope
argument had no variables to drop.
(PR#15935)
edit()
(and hence fix()
) failed if an object had a non-character
attribute named "source"
(an attribute that had been used in R
prior to version 2.14.0).
callGeneric()
could fail if the generic had ...
as a formal
argument. (PR#15937).
Forking in package parallel called C entry point exit
in the
child. This was unsafe (_exit
should have been called), and could
flush stdin
of the main R process (seen most often on Solaris).
As good practice, stdout
is now flushed before forking a child.
R objects such as list(‘a\\b‘ = 1)
now print correctly.
getAnywhere("C_pbinom")
now returns correctly a single object
(rather than unlisting it).
The confint()
method for nls()
fits failed it these has
specified parameter limits despite using an algorithm other than
"port"
. (PR#15960)
Subclassing an S4 class failed if the class required arguments to
the generator, through its initialize()
method.
removeSource()
did not properly handle expressions containing
arguments that were supplied as missing, e.g. x[i,]
. (PR#15957)
as.environment(list())
now works, and as.list()
of such an
environment is now the same as list()
.
Several tcltk functions failed when run in unusual environments. (PR#15970)
options(list())
now works (trivially). (PR#15979)
merge(<dendrogram>, ..)
now works correctly for two ‘independent’
dendrograms (PR#15648), and still compatibly via adjust = "auto"
e.g. for two branches of an existing dendrogram.
The plot
method for "hclust"
objects gets an optional argument
check
; When that is true (the default) it checks more carefully
for valid input.
(Windows only) If a user chose to install 64 bit R but not 32 bit R,
the bin/R
and bin/Rscript
executables failed to run. (PR#15981)
Various possible buffer overruns have been prevented, and missed memory protection added. (PR#15990)
Rscript
no longer passes –args
to R
when there are no extra
(“user”) arguments.
objects like getClass("refClass")@prototype
now print()
and
str()
without error.
identical()
now also looks at the S4 bit.
hist(x, breaks)
is more robust in adding a small fuzz to few
breaks when some are very large. (PR#15988)
sub()
and gsub()
did not handle regular expressions like
"\\s{2,}"
properly if the text contained NA
or non-ascii
elements in a UTF-8 locale. Part of this was due to a bug in the TRE
library. (PR#16009)
RShowDoc("NEWS")
now displays the PDF version.
Matrices and arrays with last dimension zero did not print at all or incompletely. (PR#16012)
plot.histogram()
and hence hist()
now respect the xaxs
, yaxs
and lab
graphics parameters. (PR#16021)
bw.SJ(x)
and other bw.*() no longer segfault when x
contains
non-finite values. (PR#16024)
R CMD Rd2pdf
unintentionally ignored its –os
option.
The internal method of download.file()
was not reporting file
sizes and progress correctly on files larger than 2GB (inherited
from libxml2
). This is corrected for 64-bit builds (32-bit
platforms may not support such files, but where possible will be
supported in future versions of R).
Work around a bug in OS X Yosemite where key environment variables may be duplicated causing issues in subprocesses. The duplicates are now removed on R startup (via Rprofile). (PR#16042)
Adjust X11 auto-launch detection in DISPLAY on OS X to recognize latest XQuartz.
This article is converted from a Legacy LaTeX article using the texor package. The pdf version is the official version. To report a problem with the html, refer to CONTRIBUTE on the R Journal homepage.
Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
For attribution, please cite this work as
Team, "Changes in R", The R Journal, 2014
BibTeX citation
@article{RJ-2014-2-r-changes, author = {Team, The R Core}, title = {Changes in R}, journal = {The R Journal}, year = {2014}, note = {https://rjournal.github.io/}, volume = {6}, issue = {2}, issn = {2073-4859}, pages = {224-226} }