kids encyclopedia robot

R (programming language) facts for kids

Kids Encyclopedia Facts
Quick facts for kids
R
R logo.svg
R terminal.jpg
R terminal
Paradigms Multi-paradigm: Array programming, object-oriented, imperative, functional
Designed by Ross Ihaka and Robert Gentleman (statistician)
Developer R Core Team
First appeared August 1993; 30 years ago (1993-08)
Stable release 4.0.2 ("Taking Off Again") / June 22, 2020; 3 years ago (2020-06-22)
License GNU GPL v2
Filename extensions
  • .r
  • .rdata
  • .rds
  • .rda
Influenced by
  • Common Lisp
  • Scheme
  • XLispStat
Influenced
Julia

R is a programming language and free software environment for statistics. R is a language built for a specific purpose. It is strictly designed for statistical analysis. The algorithms for many statistical models are devised in R. Precisely R is the language of Statistical Analyzers. It’s an open source and the best suite for the statisticians to develop statistical softwares. R is putting utmost efforts to walk parallelly to Python.

Usage in other areas

The R language was originally made for statistics. But today, it is also used in many scientific fields including ecology.

Development history

A list of changes in R releases is maintained in various "news" files at CRAN (Comprehensive R Archive Network). Some highlights are listed below for several major releases.

Release Date Description
0.16 This is the last test version.
0.49 1997-04-23 This is the oldest source release which is currently available on CRAN. CRAN is started on this date, with 3 mirrors that initially hosted 12 packages.
0.60 1997-12-05 R becomes an official part of the GNU Project. The code is hosted and maintained on CVS.
0.65.1 1999-10-07 First versions of update.packages and install.packages functions for downloading and installing packages from CRAN.
1.0 2000-02-29 The developers declared that it is stable enough for production use.
1.4 2001-12-19 S4 methods are introduced and the first version for Mac OS X is made available soon after.
1.8 2003-10-08 Introduced a flexible condition handling mechanism for signalling and handling condition objects.
2.0 2004-10-04 Introduced fast loading of data with minimal expense of system memory.
2.1 2005-04-18 Support for UTF-8 encoding. They also started of internationalization and localization for different languages.
2.6.2 2008-02-08 Last version to support Windows 95, 98, Me and NT 4.0
2.11 2010-04-22 Support for Windows 64 bit systems.
2.12.2 2011-02-25 Last version to support Windows 2000
2.13 2011-04-14 Adding a new compiler function that allows speeding up functions by converting them to byte-code.
2.14 2011-10-31 Added mandatory namespaces for packages. Added a new parallel package.
2.15 2012-03-30 New load balancing functions. Improved serialization speed for long vectors.
3.0.0 2013-04-03 Support for numeric index values 231 and larger on 64 bit systems.
3.3.3 2017-03-06 Last version to support Microsoft Windows XP.
3.4.0 2017-04-21 Just-in-time compilation (JIT) of functions and loops to byte-code enabled by default.
3.5.0 2018-04-23 Packages byte-compiled on installation by default. Compact internal representation of integer sequences. Added a new serialization format to support compact internal representations.
3.6.0 2019-04-26
4.0.0 2020-04-24

Communities

R has local communities worldwide for users to share ideas and learn.

There are a growing number of R events bringing its users together, such as conferences (e.g. useR!, WhyR?, conectaR, SatRdays) and other meetups.

useR! conferences

The official annual gathering of R users is called "useR!". The first such event was useR! 2004 in May 2004, Vienna, Austria. After skipping 2005, the useR! conference has been held annually. Subsequent conferences have included:

Future conferences planned are as follows:

The R Journal

The R Journal is the open access refereed journal of the R project. It features articles on the use and development of the R language.

Basic syntax

The following examples illustrate the basic syntax of the language and use of the command-line interface.

In R, the generally preferred assignment operator is an arrow made from two characters <-. Although = can be used instead.

> x <- 1:6  # Create vector.
> y <- x^2  # Create vector by formula.
> print(y)  # Print the vector’s contents.
[1]  1  4  9 16 25 36

> mean(y)  # Arithmetic mean of vector.
[1] 15.16667

> var(y)  # Sample variance of vector.
[1] 178.9667

> model <- lm(y ~ x)  # Linear regression model y = A + B * x.
> print(model)  # Print the model’s results.

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x 
     -9.333        7.000

> summary(model)  # Display an in-depth summary of the model.

Call:
lm(formula = y ~ x)

Residuals:
      1       2       3       4       5       6
 3.3333 -0.6667 -2.6667 -2.6667 -0.6667  3.3333

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  -9.3333     2.8441  -3.282 0.030453 x             7.0000     0.7303   9.585 0.000662 **---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.055 on 4 degrees of freedom
Multiple R-squared:  0.9583, Adjusted R-squared:  0.9478
F-statistic: 91.88 on 1 and 4 DF,  p-value: 0.000662

> par(mfrow = c(2, 2))  # Create a 2 by 2 layout for figures.
> plot(model)  # Output diagnostic plots of the model.

Diagnostic plots from plotting “model” (q.v. “plot.lm()” function). Notice the mathematical notation allowed in labels (lower left plot).

Images for kids

See also

Kids robot.svg In Spanish: R (lenguaje de programación) para niños

kids search engine
R (programming language) Facts for Kids. Kiddle Encyclopedia.