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.
| Appeared in | August 1993[1] |
|---|---|
| Designed by | Ross Ihaka and Robert Gentleman (statistician) |
| Developer | R Core Team[2] |
| Stable release | (codename "") / |
| Influenced by | |
| Influenced | Julia[3] |
| License | GNU GPL v2[4] |
| Usual filename extensions |
|
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]
- useR! 2006, Vienna, Austria
- useR! 2007, Ames, Iowa, USA
- useR! 2008, Dortmund, Germany
- useR! 2009, Rennes, France
- useR! 2010, Gaithersburg, Maryland, USA
- useR! 2011, Coventry, United Kingdom
- useR! 2012, Nashville, Tennessee, USA
- useR! 2013, Albacete, Spain
- useR! 2014, Los Angeles, California, USA
- useR! 2015, Aalborg, Denmark
- useR! 2016, Stanford, California, USA
- useR! 2017, Brussels, Belgium
- useR! 2018, Brisbane, Australia
- useR! 2019, Toulouse, France
Future conferences planned are as follows:[25][28]
- useR! 2020, St. Louis, Missouri, USA (Canceled)
- useR! 2021, Zurich, Switzerland
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
A violin plot created with the R package ggplot2 for data visualization
References
- ↑ 1.0 1.1 Ihaka, Ross. R : Past and Future History. Interface '98 (1998)Statistics Department, The University of Auckland, Auckland, New Zealand.
- ↑ Hornik, Kurt. R FAQ. The Comprehensive R Archive Network (November 26, 2015). Retrieved 2018-08-05.
- ↑ Introduction. The Julia Manual. Retrieved 2018-08-05.
- ↑ R licenser-project. Retrieved 2018-08-05.
- ↑ Crawley, M. J. (2012). The R book. John Wiley & Sons.
- ↑ Dalgaard, P. (2008). Introductory statistics with R. Springer.
- ↑ Maronna, R. A., Martin, R. D., & Yohai, V. J. (2019). Robust statistics: theory and methods (with R). John Wiley & Sons.
- ↑ Ugarte, M. D., Militino, A. F., & Arnholt, A. T. (2008). Probability and Statistics with R. CRC Press.
- ↑ Bruce, P., Bruce, A., & Gedeck, P. (2020). Practical Statistics for Data Scientists: 50+ Essential Concepts Using R and Python. O'Reilly Media.
- ↑ Kruschke, J. (2014). Doing Bayesian data analysis: A tutorial with R, JAGS, and Stan. Academic Press.
- ↑ Borcard, D., Gillet, F., & Legendre, P. (2018). Numerical ecology with R. Springer.
- ↑ Bolker, B. M. (2008). Ecological models and data in R. Princeton University Press.
- ↑ Changes in versions 3.0.0 onward: R News. cran.r-project.org. Retrieved 2014-07-03. Earlier change logs (by major release number):
- ↑ Index of /src/base/R-0.
- ↑ ANNOUNCE: CRAN.
- ↑ https://cran.r-project.org/src/base/NEWS.0
- ↑ Peter Dalgaard. R-1.0.0 is released. Retrieved 2009-06-06.
- ↑ https://cran-archive.r-project.org/bin/windows/base/old/2.7.0/CHANGES.R-2.7.0
- ↑ R FAQ. Retrieved 2020-03-20.
- ↑ Local R User Group Directory. Revolutions Blog. Retrieved 12 May 2018.
- ↑ A list of R conferences and meetings. Jumping Rivers. Retrieved 12 May 2018.
- ↑ official website of WhyR? conference. WhyR?. Retrieved 26 June 2019.
- ↑ SatRdays listing. SatRdays. Retrieved 26 June 2019.
- ↑ R Project for Statistical Computing. Meetup. Retrieved 12 May 2018.
- ↑ 25.0 25.1 25.2 R: Conferences. r-project.org (2019-11-01). Retrieved 2019-11-19.
- ↑ useR! 2004 - The R User Conference (27 May 2004). Retrieved 2018-09-09.
- ↑ R Project. R-related Conferences (9 August 2013). Retrieved 2019-08-15.
- ↑ UseR! 2021 - The R User Conference. Retrieved 2020-03-23.
- ↑ most used assignment operator in R is
<-- R Development Core Team. Writing R Extensions. Retrieved 2018-09-11.
- Google's R Style Guide. Retrieved 2018-09-11.
- Wickham, Hadley. Style Guide. Retrieved 2018-09-11.
- Bengtsson, Henrik. R Coding Conventions (RCC) – a draft (January 2009). Retrieved 2018-09-11.
- ↑ R Development Core Team. Assignments with the = Operator. Retrieved 2018-09-11.