Visitors: 0

R (Programming Language)

is a programming language and free software environment for statistical computing and graphics supported by the R Foundation for Statistical Computing. The R language is widely used among statisticians and data miners for developing statistical software and data analysis. Polls, data mining surveys, and studies of scholarly literature databases show substantial increases in popularity, as of April 2021, R ranks 16th in the TIOBE index, a measure of the popularity of programming languages. 

The official R software environment is a GNU package. It is written primarily in C, Fortran, R itself (thus, it is partially self-hosting) and is freely available under the GNU (General Public License). Pre-compiled executables are provided for various operating systems. Although R has a command-line interface, there are several third-party graphical user interfaces, such as RStudio, an integrated development environment, and Jupyter, a notebook interface.

History

R is an implementation of the S programming language combined with lexical scoping semantics, inspired by Scheme. S was created by John Chambers in 1976 while at Bell Labs. A commercial version of S was offered as S-PLUS starting in 1988.

Much of the code written for S-PLUS runs unaltered in R.

In 1991, Ross Ihaka and Robert Gentleman at the University of Auckland, New Zealand, began an alternative implementation of the basic S language, completely independent of S-PLUS. They publicized this project starting in 1993. In 1995 Martin Maechler convinced Ihaka and Gentleman to make R free and open-source software under the GNU (General Public License). The R Development Core Team was created to manage the further development of R. John Chambers became a member at least as of August 2018. R is named partly after the first names of the two R authors and partly as a play on the name of S.

The first official release came in 1995. The comprehensive R Archive Network (CRAN) was officially announced on 23 April 1997 with 3 mirrors and 12 contributed packages. The first official "stable beta" version (v1.0) was released on 29 February 2000.

Statistical Features

R and its libraries implement various statistical and graphical techniques, including linear and non-linear modeling, classical statistical tests, spatial and time-series analysis, classification, clustering, and others. R is easily extensible through functions and extensions, and the R community languages. Extending R is also eased by its lexical scoping rules.

Another strength of R is static graphics, which can produce publication-quality graphs, including mathematical symbols. Dynamic and interactive graphics are available through additional packages.

R has Rd, its own LaTeX-like documentation format, which is used to supply comprehensive documentation, both online in a number of formats and in hard copy.

Programming Features

R is an interpreted language; users typically access it through a command-line interpreter. If a user types 2+2 at the R command prompt and presses enter, the computer replies with 4, as shown below;

> 2 + 2

[1] 4

This calculation is interpreted as the sum of two single-element vectors, resulting in a single-element vector. The prefix [1] indicates that the list of elements following it on the same line starts with the first element of the vector (a feature that is useful when the output extends over multiple lines).

Like other similar languages such as APL and MATLAB, R supports matrix arithmetic. R's data structures include vectors, matrices, arrays, data frames (similar to tables in a relational database), and lists. Arrays are stored in column-major order. R's extensible object system includes objects for (among others): regression models, time-series, and geospatial coordinates. The scalar data type was never a data structure of R. Instead, a scalar is represented as a vector with a length of one.

Many features of R derive from Scheme. R uses S-expressions to represent both data and code. Functions are first-class and can be manipulated in the same way as data objects, facilitating meta-programming, and allow multiple dispatch. Variables in R are lexically scoped and dynamically typed. Function arguments are passed by value, and are lazy - that is to say, they are only evaluated when they are used, not when the function is called.

Packages

The capabilities of R are extended through user-created packages, which allow specialized statistical techniques, graphical devices, import/export capabilities, reporting tools (Rmarkdown, knitr, Sweave), etc. These packages are developed primarily in R, and sometimes in Java, C, C++, and Fortran. The R packaging system is also used by researchers to create compendia to organize research data, code, and report files in a systematic way for sharing and public archiving.

A core set of packages is included with the installation of R, with more than 15,000 additional packages (as of September 2018) available at the Comprehensive R Archive Network (CRAN), Bioconductor, Omegahat, GitHub, and other repositories.

 

Topics


Jammu & Kashmir - History, Culture & Traditions | J&K Current Trends | Social Network | Health | Lifestyle | Human Resources | Analytics | Cosmetics | Cosmetology | Forms | Jobs

Related blogs



Quote of the Day


"Time Flies Over, but Leaves its Shadows Behind"