R 3.2.4 (codename “Very Secure Dishes”) was released today. You can get the latest binaries version from here. (or the .tar.gz source code from here). The full list of new features and bug fixes is provided below.
Upgrading to R 3.2.4 on Windows
If you are using Windows you can easily upgrade to the latest version of R using the installr package. Simply run the following code in Rgui:
install.packages("installr") # install setInternet2(TRUE) installr::updateR() # updating R.
Running “updateR()” will detect if there is a new R version available, and if so it will download+install it (etc.). There is also a step by step tutorial (with screenshots) on how to upgrade R on Windows, using the installr package.
I try to keep the installr package updated and useful, so if you have any suggestions or remarks on the package – you are invited to open an issue in the github page.
install.packages()and related functions now give a more informative warning when an attempt is made to install a base package.
summary(x)now prints with less rounding when
xcontains infinite values. (Request of PR#16620.)
provideDimnames()gets an optional
type = "cmd2"for quoting in
cmd.exein Windows. (Response to PR#16636.)
rbind()gains an optional argument
stringsAsFactors(instead of only depending on
smooth(x, *)now also works for long vectors.
tools::texi2dvi()has a workaround for problems with the
texi2dviscript supplied by texinfo 6.1.
It extracts more error messages from the LaTeX logs when in emulation mode.
R CMD checkwill leave a log file ‘build_vignettes.log’ from the re-building of vignettes in the ‘.Rcheck’ directory if there is a problem, and always if environment variable_R_CHECK_ALWAYS_LOG_VIGNETTE_OUTPUT_ is set to a true value.
DEPRECATED AND DEFUNCT
- Use of SUPPORT_OPENMP from header ‘Rconfig.h’ is deprecated in favour of the standard OpenMP define _OPENMP.
(This has been the recommendation in the manual for a while now.)
AWKwhich is long unused by R itself but recorded in file ‘etc/Makeconf’ is deprecated and will be removed in R 3.3.0.
- The C header file ‘S.h’ is no longer documented: its use should be replaced by ‘R.h’.
kmeans(x, centers = <1-row>)now works. (PR#16623)
Vectorize()now checks for clashes in argument names. (PR#16577)
file.copy(overwrite = FALSE)would signal a successful copy when none had taken place. (PR#16576)
ngettext()now uses the same default domain as
array(.., dimnames = *)now warns about non-
listdimnames and, from R 3.3.0, will signal the same error for invalid dimnames as
matrix()has always done.
addmargins()now adds dimnames for the extended margins in all cases, as always documented.
add.exprargument in the wrong environment. (PR#16583)
require()etc now give the correct entry of
lib.locin the warning about an old version of a package masking a newer required one.
- The internal deparser did not add parentheses when necessary, e.g. before
[]. (Reported by Lukas Stadler; additional fixes included as well).
as.data.frame.vector(*, row.names=*)no longer produces ‘corrupted’ data frames from row names of incorrect length, but rather warns about them. This will become an error.
method = "libcurl"are destroyed properly. (PR#16681)
withCallingHandler()now (again) handles warnings even during S4 generic’s argument evaluation. (PR#16111)
deparse(..., control = "quoteExpressions")incorrectly quoted empty expressions. (PR#16686)
format()ting datetime objects (
"POSIX[cl]?t") could segfault or recycle wrongly. (PR#16685)
plot.ts(now does use
, las = 1)
saveRDS(*, compress = "gzip")now works as documented. (PR#16653)
- (Windows only) The
Rguifront end did not always initialize the console properly, and could cause R to crash. (PR#16998)
dummy.coef.lm()now works in more cases, thanks to a proposal by Werner Stahel (PR#16665). In addition, it now works for multivariate linear models (
manova) thanks to a proposal by Daniel Wollschlaeger.
"dendrogram"s failed often when there were ties in the heights.
midcache.dendrogram()now are non-recursive and hence applicable to somewhat deeply nested dendrograms, thanks to a proposal by Suharto Anggono in PR#16424.
cor.test()now calculates very small p values more accurately (affecting the result only in extreme not statistically relevant cases). (PR#16704)
smooth(*, do.ends=TRUE)did not always work correctly in R versions between 3.0.0 and 3.2.3.
pretty(D)for date-time objects
Dnow also works well if
range(D)is (much) smaller than a second. In the case of only one unique value in
D, the pretty range now is more symmetric around that value than previously.
pretty(dt)no longer returns a length 5 vector with duplicated entries for
dtwhich span only a few days.
- The figures in help pages such as
?pointswere accidentally damaged, and did not appear in R 3.2.3. (PR#16708)
available.packages()sometimes deleted the wrong file when cleaning up temporary files. (PR#16712)
X11()device sometimes froze on Red Hat Enterprise Linux 6. It now waits for
MapNotifyevents instead of
Exposeevents, thanks to Siteshwar Vashisht. (PR#16497)
[dpqr]nbinom(*, size=Inf, mu=.)now works as limit case, for ‘dpq’ as the Poisson. (PR#16727)
pnbinom()no longer loops infinitely in border cases.
approxfun(*, method="constant")and hence
ecdf()which calls the former now correctly “predict”
Datecolumns in all cases. (PR#16709)