R (programming language)

language and environment for statistical computing and graphics

R is a programming language and free software environment for statistics.[6][7][8][9][10][11] 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.

R
R logo.svg
R terminal.jpg
R terminal
ParadigmsMulti-paradigm: Array programming, object-oriented, imperative, functional
Designed byRoss Ihaka and Robert Gentleman (statistician)
DeveloperR Core Team[1]
First appearedAugust 1993; 27 years ago (1993-08)[2]
Stable release4.0.2 ("Taking Off Again")[3] / June 22, 2020; 10 months ago (2020-06-22)
LicenseGNU GPL v2[4]
Filename extensions
  • .r
  • .rdata
  • .rds
  • .rda
Websitewww.r-project.org
Influenced by
Influenced
Julia[5]

Usage in other areasEdit

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

Development historyEdit

A list of changes in R releases is maintained in various "news" files at CRAN (Comprehensive R Archive Network).[14] 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.[15] CRAN is started on this date, with 3 mirrors that initially hosted 12 packages.[16]
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.[17]
1.0 2000-02-29 The developers declared that it is stable enough for production use.[18]
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[19]
2.11 2010-04-22 Support for Windows 64 bit systems.
2.12.2 2011-02-25 Last version to support Windows 2000[20]
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

CommunitiesEdit

R has local communities worldwide for users to share ideas and learn.[21][22]

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

useR! conferencesEdit

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

Future conferences planned are as follows:[26][29]

The R JournalEdit

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 syntaxEdit

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

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

> 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.

 


ReferencesEdit

  1. Hornik, Kurt (November 26, 2015). "R FAQ". The Comprehensive R Archive Network. 2.1 What is R?. Retrieved 2018-08-05. CS1 maint: discouraged parameter (link)
  2. 2.0 2.1 Ihaka, Ross (1998). R : Past and Future History (PDF) (Technical report). Statistics Department, The University of Auckland, Auckland, New Zealand.
  3. "The Comprehensive R Archive Network". Retrieved 2020-06-28.
  4. "R license". r-project. Retrieved 2018-08-05.
  5. "Introduction". The Julia Manual. Archived from the original on 20 June 2018. Retrieved 5 August 2018.
  6. Crawley, M. J. (2012). The R book. John Wiley & Sons.
  7. Dalgaard, P. (2008). Introductory statistics with R. Springer.
  8. Maronna, R. A., Martin, R. D., & Yohai, V. J. (2019). Robust statistics: theory and methods (with R). John Wiley & Sons.
  9. Ugarte, M. D., Militino, A. F., & Arnholt, A. T. (2008). Probability and Statistics with R. CRC Press.
  10. Bruce, P., Bruce, A., & Gedeck, P. (2020). Practical Statistics for Data Scientists: 50+ Essential Concepts Using R and Python. O'Reilly Media.
  11. Kruschke, J. (2014). Doing Bayesian data analysis: A tutorial with R, JAGS, and Stan. Academic Press.
  12. Borcard, D., Gillet, F., & Legendre, P. (2018). Numerical ecology with R. Springer.
  13. Bolker, B. M. (2008). Ecological models and data in R. Princeton University Press.
  14. Changes in versions 3.0.0 onward: "R News". cran.r-project.org. Retrieved 2014-07-03. CS1 maint: discouraged parameter (link) Earlier change logs (by major release number):
    • "NEWS". cran.r-project.org. Retrieved 2020-06-28. CS1 maint: discouraged parameter (link)
    • "NEWS.3". cran.r-project.org. Retrieved 2020-06-28. CS1 maint: discouraged parameter (link)
    • "NEWS.2". cran.r-project.org. Retrieved 2017-04-08. CS1 maint: discouraged parameter (link)
    • "NEWS.1". cran.r-project.org. Retrieved 2017-04-08. CS1 maint: discouraged parameter (link)
    • "NEWS.0". cran.r-project.org. Retrieved 2017-04-08. CS1 maint: discouraged parameter (link)
  15. "Index of /src/base/R-0".
  16. "ANNOUNCE: CRAN".
  17. https://cran.r-project.org/src/base/NEWS.0
  18. Peter Dalgaard. "R-1.0.0 is released". Retrieved 2009-06-06. CS1 maint: discouraged parameter (link)
  19. https://cran-archive.r-project.org/bin/windows/base/old/2.7.0/CHANGES.R-2.7.0
  20. "R FAQ". Retrieved 2020-03-20. CS1 maint: discouraged parameter (link)
  21. "Local R User Group Directory". Revolutions Blog. Retrieved 12 May 2018. CS1 maint: discouraged parameter (link)
  22. "A list of R conferences and meetings". Jumping Rivers. Retrieved 12 May 2018. CS1 maint: discouraged parameter (link)
  23. "official website of WhyR? conference". WhyR?. Retrieved 26 June 2019. CS1 maint: discouraged parameter (link)
  24. "SatRdays listing". SatRdays. Retrieved 26 June 2019. CS1 maint: discouraged parameter (link)
  25. "R Project for Statistical Computing". Meetup. Retrieved 12 May 2018. CS1 maint: discouraged parameter (link)
  26. 26.0 26.1 26.2 "R: Conferences". r-project.org. 2019-11-01. Retrieved 2019-11-19.
  27. "useR! 2004 - The R User Conference". 27 May 2004. Retrieved 2018-09-09. CS1 maint: discouraged parameter (link)
  28. R Project (9 August 2013). "R-related Conferences". Retrieved 2019-08-15. CS1 maint: discouraged parameter (link)
  29. "UseR! 2021 - The R User Conference". Retrieved 2020-03-23. CS1 maint: discouraged parameter (link)
  30. most used assignment operator in R is <-
  31. R Development Core Team. "Assignments with the = Operator". Retrieved 2018-09-11. CS1 maint: discouraged parameter (link)

Other websitesEdit