R is een ontwikkelomgeving en programmeertaal voor statistische en data-analysedoeleinden. Het werd oorspronkelijk ontworpen door Ross Ihaka en Robert Gentleman (vandaar de naam R) aan de Universiteit van Auckland, Nieuw-Zeeland. In R is programmeren sterk objectgeoriënteerd en de functionaliteit kan uitgebreid worden via packages die onder andere via cran beschikbaar worden gesteld. Het R-coreteam, dat zich vandaag de dag bezighoudt met de doorontwikkeling, heeft versie 4.1.2 uitgebracht met de titel Bird Hippie. De veranderingen van deze uitgave zien er als volgt uit:
C-Level facilities:Deprecated and defunct:
- The workaround in headers R.h and Rmath.h (using namespace std;) for the Oracle Developer Studio compiler is no longer needed now C++11 is required so has been removed. A couple more usages of log() (which should have been std::log()) with an int argument are reported on Solaris.
- The undocumented limit of 4095 bytes on messages from the S-compatibility macros PROBLEM and MESSAGE is now documented and longer messages will be silently truncated rather than potentially causing segfaults.
- If the R_NO_SEGV_HANDLER environment variable is non-empty, the signal handler for SEGV/ILL/BUS signals (which offers recovery user interface) is not set. This allows more reliable debugging of crashes that involve the console.
Bug fixes:
- The legacy S-compatibility macros PROBLEM, MESSAGE, ERROR, WARN, WARNING, RECOVER, ... are deprecated and will be hidden in R 4.2.0. R's native interface of Rf_error and Rf_warning has long been preferred.
- .mapply(F, dots, .) no longer segfaults when dots is not a list and uses match.fun(F) as always documented; reported by Andrew Simmons in PR#18164.
- hist(, ...) and hist(, ...) no longer pass arguments for rect() (such as col and density) to axis(). (Thanks to Sebastian Meyer's PR#18171.)
- \Sexpr{ch} now preserves Encoding(ch). (Thanks to report and patch by Jeroen Ooms in PR#18152.)
- Setting the RNG to "Marsaglia-Multicarry" e.g., by RNGkind(), now warns in more places, thanks to Andr'e Gillibert's report and patch in PR#18168.
- gray(numeric(), alpha=1/2) no longer segfaults, fixing PR#18183, reported by Till Krenz.
- Fixed dnbinom(x, size=, .., log=TRUE) regression, reported by Martin Morgan.
- as.Date.POSIXlt(x) now keeps names(x), thanks to Davis Vaughan's report and patch in PR#18188.
- model.response() now strips an "AsIs" class typically, thanks to Duncan Murdoch's report and other discussants in PR#18190.
- try() is considerably faster in case of an error and long call, as e.g., from some do.call(). Thanks to Alexander Kaever's suggestion posted to R-devel.
- qqline(y =
- Non-integer mgp par() settings are now handled correctly in axis() and mtext(), thanks to Mikael Jagan and Duncan Murdoch's report and suggestion in PR#18194.
- formatC(x) returns length zero character() now, rather than "" when x is of length zero, as documented, thanks to Davis Vaughan's post to R-devel.
- removeSource(fn) now retains (other) attributes(fn).