R (programming language)

R is a programming language and free software environment for statistics.[5][6][7][8][9][10] 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
R logo.svg
R terminal.jpg
Appeared inAugust 1993; 31 years ago (1993-08)[1]
Designed byRoss Ihaka and Robert Gentleman (statistician)
DeveloperR Core Team[2]
Stable release(codename "") / Error: first parameter is missing. ()
Influenced by
InfluencedJulia[3]
LicenseGNU GPL v2[4]
Usual filename extensions
  • .r
  • .rdata
  • .rds
  • .rda
Website{{URL|example.com|optional display text}}
Wikibooks logo R Programming at Wikibooks

Usage in other areas

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

Development history

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

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

useR! conferences

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

Future conferences planned are as follows:[25][28]

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[29] assignment operator is an arrow made from two characters <-. Although = can be used instead.[30] <syntaxhighlight lang="rout"> > 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. </syntaxhighlight>

 

R (programming Language) Media

References

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

Other websites