R is a free software environment for statistical computing and graphics.
R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.
R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.
One of R’s strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed. Great care has been taken over the defaults for the minor design choices in graphics, but the user retains full control.
R is available as Free Software under the terms of the Free Software Foundation’s GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS.
tools/fetch-recommended can be used instead of tools/rsync-recommended to fetch recommended packages into R sources using curl on systems without rsync or behind firewalls.
PACKAGE INSTALLATION
C++ standard specifications (CXX_STD = in ‘src/Makevars*’ and in the SystemRequirements field of the ‘DESCRIPTION’ file) are now checked more thoroughly. Invalid values are still ignored but now give a warning, as do contradictory specifications.
(Preliminary) support for C++26 has been extended to Windows.
A non-zero exit status from ‘cleanup’, ‘cleanup.win’ or ‘cleanup.ucrt’, if requested via options --clean or --preclean, is now reported with a warning.
BUG FIXES
all.equal(obj, simple, check.class=FALSE) now is true, also when simple is a bare atomic vector and obj has a simple class, fixing the first part of PR#18971 thanks to Jan Gorecki.
str(x, give.attr=FALSE) no longer shows attributes when x is a zero length "Date" or "POSIXt" object.
Tweaks to binning for bw.SJ() and bw.ucv() in the very rare case of data which have an extremely small range compared to their absolute values, e.g., x <- 6e9 + 6:9.
Formatting book-type bibentry objects now converts LaTeX accents also in the publisher and series fields.
model.frame(~1, list(), na.action=na.pass) and similar “border-line” uses no longer produce invalid data frames, fixing PR#18977, reported with patch by Mikael Jagan.
length() <- v is more careful about balancing, notably when v is not integer, thanks to Suharto Anggono's remarks on the mailing list R-devel.
approx(, , na.rm = FALSE) now should always call the ties() function, fixing PR#17604 reported by Bill Dunlap.
besselJ(1, 1e-15) and similar now give correct results, thanks to Leo Mada and other “R-help”ers.
vignette(pkg::topic) is now a documented usage variant and confines vignette retrieval to the specified package.
pretty(ch) again correctly works with ch a character vector of numbers.
persp() labels the three axes correctly also when C level atan2pi() is available, fixing PR#19007 by Klaus Schliep.
Large (tall) subscripts in plotmath expressions are now positioned correctly. They were being positioned too high.
Ops group (Arith, Compare,..) methods for matrix-"ts" now do return (zero length) matrices even when the two series do not overlap, a very partial fix of PR#18972 which is to be fully addressed later.