R

Software Screenshot:
R
Software Details:
Version: 3.1.2
Upload Date: 17 Feb 15
Distribution Type: Freeware
Downloads: 292

Rating: 3.0/5 (Total Votes: 1)

R is an open source, freely distributed and multiplatform command-line software that provides an integrated suite of software facilities, which can be easily used for data calculation, manipulation and graphical display. In other words, R is a programming language and environment for statistical computing and graphics.

It’s a GNU project similar to the S programming language and development environment created by John Chambers and colleagues at Bell Laboratories, which was previously known as AT&T, now Lucent Technologies. It comes with comprehensive documentation that is available on the project’s homepage.

Features at a glance

Key features include an effective, well-developed and simple programming language, useful data storage and handling functions, a set of operators for array calculations, especially matrices, a coherent, large and integrated set of intermediate utilities for data analysis, as well as graphical functions for data display and analysis.

It can be easily extended with additional functionality, comes with a wide range of graphical and statistical techniques, including nonlinear and linear modelling, time-series analysis, clustering, classification and classical statistical tests. R can be used to produce publication-quality plots, including mathematical formulae and symbols.

In addition, users will be able to link and call C++, C and Fortran code at runtime, add extra functionality by specifying new functions, follow the algorithmic choices made, as well as to manipulate R objects directly by writing C code. Its built-in plugin architecture allows you to easily extend its default functions through packages.

Under the hood and supported OSes

R is a cross-platform command-line application that can be used on on a wide range of GNU/Linux and UNIX-like operating systems, including BSD, as well as on Microsoft Windows and Mac OS X. It is implemented in the C programming language and has been successfully tested on both 32-bit and 64-bit hardware platforms.

What is new in this release:

  • 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, , 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 SS1.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 NAs.
  • 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(, ..) 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.

What is new in version 3.0.2:

  • NEW FEATURES:
  • The NEWS files have been re-organized.
  • This file contains news for R >= 3.0.0: news for the 0.x.y, 1.x.y and 2.x.y releases is in files NEWS.0, NEWS.1 and NEWS.2. The latter files are now installed when R is installed. An HTML version of news from 2.10.0 to 2.15.3 is available as doc/html/NEWS.2.html.
  • sum() for integer arguments now uses an integer accumulator of at least 64 bits and so will be more accurate in the very rare case that a cumulative sum exceeds 2^53 (necessarily summing more than 4 million elements).
  • The example() and tools::Rd2ex() functions now have parameters to allow them to ignore \dontrun markup in examples. (Suggested by Peter Solymos.)
  • str(x) is considerably faster for very large lists, or factors with 100,000 levels, the latter as in PR#15337.
  • col2rgb() now converts factors to character strings not integer codes (suggested by Bryan Hanson).
  • tail(warnings()) now works, via the new `[` method.
  • There is now support for the LaTeX style file zi4.sty which has in some distributions replaced inconsolata.sty.
  • unlist(x) now typically returns all non-list xs unchanged, not just the "vector" ones. Consequently, format(lst) now also works when the list lst has non-vector elements.
  • The tools::getVignetteInfo() function has been added to give information about installed vignettes.
  • New assertCondition(), etc. utilities in tools, useful for testing.
  • Profiling now records non-inlined calls from byte-compiled code to BUILTIN functions.
  • Various functions in stats and elsewhere that use non-standard evaluation are now more careful to follow the namespace scoping rules. E.g. stats::lm() can now find stats::model.frame() even if stats is not on the search path or if some package defines a function of that name.
  • If an invalid/corrupt .Random.seed object is encountered in the workspace it is ignored with a warning rather than giving an error. (This allows R itself to rely on a working RNG, e.g. to choose a random port.)
  • seq() and seq.int() give more explicit error messages if called with invalid (e.g. NaN) inputs.
  • When parse() finds a syntax error, it now makes partial parse information available up to the location of the error. (Request of Reijo Sund.)
  • Methods invoked by NextMethod() had a different dynamic parent to the generic. This was causing trouble where S3 methods invoked via lazy evaluation could lose track of their generic. (PR#15267)
  • Code for the negative binomial distribution now treats the case size == 0 as a one-point distribution at zero.
  • abbreviate() handles without warning non-ASCII input strings which require no abbreviation.
  • read.dcf() no longer has a limit of 8191 bytes per line. (Wish of PR#15250.)
  • formatC(x) no longer copies the class of x to the result, to avoid misuse creating invalid objects as in PR#15303. A warning is given if a class is discarded.
  • Dataset npk has been copied from MASS to allow more tests to be run without recommended packages being installed.
  • The initialization of the regression coefficients for non-degenerate differenced models in arima() has been changed and in some examples avoids a local maximum. (PR#15396)
  • termplot() now has an argument transform.x to control the display of individual terms in the plot. (PR#15329)
  • format() now supports digits = 0, to display nsmall decimal places.
  • There is a new read-only par() parameter called "page", which returns a logical value indicating whether the next plot.new() call will start a new page.
  • Processing Sweave and Rd documents to PDF now renders backticks and single quotes better in several instances, including in \code and \samp expressions.
  • utils::modifyList() gets a new argument keep.null allowing NULL components in the replacement to be retained, instead of causing corresponding components to be deleted.
  • tools::pkgVignettes() gains argument check; if set to TRUE, it will warn when it appears a vignette requests a non-existent vignette engine.
  • UTILITIES:
  • R CMD check --as-cran checks the line widths in usage and examples sections of the package Rd files.
  • R CMD check --as-cran now implies --timings.
  • R CMD check looks for command gfile if a suitable file is not found. (Although file is not from GNU, OpenCSW on Solaris installs it as gfile.)
  • R CMD build (with the internal tar) checks the permissions of configure and cleanup files and adds execute permission to the recorded permissions for these files if needed, with a warning. This is useful on OSes and file systems which do not support execute permissions (notably, on Windows).
  • R CMD build now weaves and tangles all vignettes, so suggested packages are not required during package installation if the source tarball was prepared with current R CMD build.
  • checkFF() (used by R CMD check) does a better job of detecting calls from other packages, including not reporting those where a function has been copied from another namespace (e.g. as a default method). It now reports calls where .NAME is a symbol registered in another package.
  • On Unix-alike systems, R CMD INSTALL now installs packages group writably whenever the library (lib.loc) is group writable. Hence, update.packages() works for other group members (suggested originally and from a patch by Dirk Eddelbuettel).
  • R CMD javareconf now supports the use of symbolic links for JAVA_HOME on platforms which have realpath. So it is now possible to use
  • R CMD javareconf JAVA_HOME=/usr/lib/jvm/java-1.7.0
  • on a Linux system and record that value rather than the frequently-changing full path such as /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.x86_64.
  • (Windows only.) Rscript -e requires a non-empty argument for consistency with Unix versions of R. (Also Rterm -e and R -e.)
  • R CMD check does more thorough checking of declared packages and namespaces. It reports
  • packages declared in more than one of the Depends, Imports, Suggests and Enhances fields of the DESCRIPTION file.
  • namespaces declared in Imports but not imported from, neither in the NAMESPACE file nor using the :: nor ::: operators.
  • packages which are used in library() or requires() calls in the R code but were already put on the search path _via_ Depends.
  • packages declared in Depends not imported _via_ the NAMESPACE file (except the standard packages). Objects used from Depends packages should be imported to avoid conflicts and to allow correct operation when the namespace is loaded but not attached.
  • objects imported _via_ ::: calls where :: would do.
  • objects imported by :: which are not exported.
  • objects imported by ::: calls which do not exist.
  • See 'Writing R Extensions' for good practice.
  • R CMD check optionally checks for non-standard top-level files and directories (which are often mistakes): this is enabled for --as-cran.
  • LaTeX style file upquote.sty is no longer included (the version was several years old): it is no longer used in R. A much later version is commonly included in LaTeX distributions but does not play well with the ae fonts which are the default for Sweave vignettes.
  • R CMD build makes more use of the build sub-directory of package sources, for example to record information about the vignettes.
  • INSTALLATION and INCLUDED SOFTWARE:
  • The macros used for the texinfo manuals have been changed to work better with the incompatible changes made in texinfo 5.x.
  • The minimum version for a system xz library is now 5.0.3 (was 4.999). This is in part to avoid 5.0.2, which can compress in ways other versions cannot decompress.
  • The included version of PCRE has been updated to 8.33.
  • The included version of zlib has been updated to 1.2.8, a bug-fix release.
  • The included version of xz utils's liblzma has been updated to 5.0.5.
  • Since javareconf (see above) is used when R is installed, a stable link for JAVA_HOME can be supplied then.
  • Configuring with --disable-byte-compilation will override the DESCRIPTION files of recommended packages, which typically require byte-compilation.
  • More of the installation and checking process will work even when TMPDIR is set to a path containing spaces, but this is not recommended and external software (such as texi2dvi) may fail.
  • PACKAGE INSTALLATION:
  • Installation is aborted immediately if a LinkingTo package is not installed.
  • R CMD INSTALL has a new option --no-byte-compile which will override a ByteCompile field in the package's DESCRIPTION file.
  • License BSD is deprecated: use BSD_3_clause or BSD_2_clause instead.
  • License X11 is deprecated: use MIT or BSD_2_clause instead.
  • Version requirements for LinkingTo packages are now recognized: they are checked at installation. (Fields with version requirements were previously silently ignored.)
  • The limit of 500 S3method entries in a NAMESPACE file has been removed.
  • The default 'version' of Bioconductor for its packages has been changed to the upcoming 2.13, but this can be set by the environment variable R_BIOC_VERSION, e.g. in file Renviron.site.
  • C-LEVEL FACILITIES:
  • Rdefines.h has been tweaked so it can be included in C++ code after R_ext/Boolean.h (which is included by R.h).
  • Note that Rdefines.h is not kept up-to-date, and Rinternals.h is preferred for new code.
  • eval and applyClosure are now protected against package code supplying an invalid rho.
  • DEPRECATED AND DEFUNCT:
  • The unused namespace argument to package.skeleton() is now formally deprecated and will be removed in R 3.1.0.
  • plclust() is deprecated: use the plot() method for class "hclust" instead.
  • Functions readNEWS() and checkNEWS() in package tools are deprecated (and they have not worked with current NEWS files for a long time).
  • DOCUMENTATION:
  • 'An Introduction to R' has a new chapter on using R as a scripting language including interacting with the OS.
  • BUG FIXES:
  • help.request() could not determine the current version of R on CRAN. (PR#15241)
  • On Windows, file.info() failed on root directories unless the path was terminated with an explicit ".". (PR#15302)
  • The regmatches 1. (Bill Dunlap, PR#15386).
  • stem() now discards infinite inputs rather than hanging. (PR#15376)
  • The parser now enforces C99 syntax for floating point hexadecimal constants (e.g. 0x1.1p0), rather than returning unintended values for malformed constants. (PR#15234)
  • model.matrix() now works with very long LHS names (more than 500 bytes). (PR#15377)
  • integrate() reverts to the pre-2.12.0 behaviour: from 2.12.0 to 3.0.1 it sometimes failed to achieve the requested tolerance and reported error estimates that were exceeded. (PR#15219)
  • strptime() now handles %W fields with value 0. (PR#15915)
  • R is now better protected against people trying to interact with the console in startup code. (PR#15325)
  • Subsetting 1D arrays often lost dimnames (PR#15301).
  • Unary + on a logical vector did not coerce to integer, although unary - did.
  • na.omit() and na.exclude() added a row to a zero-row data frame. (PR#15399)
  • All the (where necessary cut-down) vignettes are installed if R was configured with --without-recommended-packages.
  • source() did not display filenames when reporting syntax errors.
  • Syntax error reports misplaced the caret pointing out the bad token.
  • (Windows only) Starting R with R (instead of Rterm or Rgui) would lose any zero-length strings from the command line arguments. (PR#15406)
  • Errors in the encoding specified on the command line via --encoding=foo were not handled properly. (PR#15405)
  • If x is a symbol, is.vector(x, "name") now returns TRUE, since "name" and "symbol" should be synonyms. (Reported by Herv'e Pag`es.)
  • R CMD rtags works on platforms (such as OS X) with a XSI-conformant shell command echo. (PR#15231)
  • is.unsorted(NA) returns false as documented (rather than NA).
  • R CMD LINK did not know about sub-architectures.
  • system() and system2() are better protected against users who misguidedly have spaces in the temporary directory path.
  • file.show() and edit() are now more likely to work on file paths containing spaces. (Where external utilities are used, not the norm on Windows nor in R.app which should previously have worked.)
  • Packages using the methods package are more likely to work when they import it but it is not attached. (Several parts of its C code were looking for its R functions on the search path rather than in its namespace.)
  • lgamma(-x) is no longer NaN for very small x.
  • (Windows) system2() now respects specifying stdout and stderr as files if called from Rgui. (PR#15393)
  • Closing an x11() device whilst locator() or identify() is in progress no longer hangs R. (PR#15253)
  • list.dirs(full.names = FALSE) was not implemented. (PR#15170)
  • format() sometimes added unnecessary spaces. (PR#15411)
  • all.equal(check.names = FALSE) would ignore the request to ignore the names and would check them as attributes.
  • The symbol set by tools::Rd2txt_options(itemBullet=) was not respected in some locales. (PR#15435)
  • mcMap() was not exported by package parallel. (PR#15439)
  • plot() for TukeyHSD objects did not balance dev.hold() and dev.flush() calls on multi-page plots. (PR#15449)

What is new in version 2.8.1:

  • This is a maintenance release and fixes a number of mostly minor bugs and platform issues.

Similar Software

Mozart
Mozart

3 Jun 15

Retro
Retro

20 Feb 15

Excelsior JET
Excelsior JET

17 Feb 15

Comments to R

Comments not found
Add Comment
Turn on images!