[9] The core R language is augmented by a large number of extension packages, containing reusable code, documentation, and sample data.
R was started by professors Ross Ihaka and Robert Gentleman as a programming language to teach introductory statistics at the University of Auckland.
[11] In August 1993, Ihaka and Gentleman posted a binary of R on StatLib — a data archive website.
[18] Base packages are immediately available when starting R and provide the necessary syntax and commands for programming, computing, graphics production, basic arithmetic, and statistical functionality.
[19] The Comprehensive R Archive Network (CRAN) was founded in 1997 by Kurt Hornik and Friedrich Leisch to host R's source code, executable files, documentation, and user-created packages.
[24][25][26] The Task Views on the CRAN web site list packages in fields such as causal inference, finance, genetics, high-performance computing, machine learning, medical imaging, meta-analysis, social sciences, and spatial statistics.
The Bioconductor project provides packages for genomic data analysis, complementary DNA, microarray, and high-throughput sequencing methods.
The tidyverse package bundles several subsidiary packages that provide a common interface for tasks related to accessing and processing "tidy data",[27] data contained in a two-dimensional table with a single row for each observation and a single column for each variable.
IDEs for R include R.app[29] (OSX/macOS only), Rattle GUI, R Commander, RKWard, RStudio, and Tinn-R.[30] General purpose IDEs that support R include Eclipse via the StatET plugin and Visual Studio via R Tools for Visual Studio.
General purpose programming languages that support R include Java via the Rserve socket server, and .NET C# (website).
[40] Here is an example with fewer than 10 lines that some readers may still struggle to grasp without intermediate named steps:The R language has native support for object-oriented programming.
The latter is a Common Lisp Object System (CLOS)-like system of formal classes (also derived from S) and generic methods that supports multiple dispatch and multiple inheritance[41] In the example, summary is a generic function that dispatches to different methods depending on whether its argument is a numeric vector or a "factor": The R language has built-in support for data modeling and graphics.
Install the package that provides the write.gif() function beforehand: R Source code: All R version releases from 2.14.0 onward have codenames that make reference to Peanuts comics and films.