R (programming language)

R is a programming language and free software environment for statistics.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. 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. 

Usage in other areas
The R language was originally made for statistics. But today, it is also used in many scientific fields including ecology.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.
 Development history 

A list of changes in R releases is maintained in various "news" files at CRAN (Comprehensive R Archive Network).Changes in versions 3.0.0 onward: 
Earlier change logs (by major release number): Some highlights are listed below for several major releases.

 Release Date Description 0.16This is the last test version. 0.49 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  R becomes an official part of the GNU Project. The code is hosted and maintained on CVS. 0.65.1 First versions of update.packages and install.packages functions for downloading and installing packages from CRAN.https://cran.r-project.org/src/base/NEWS.0 1.0  The developers declared that it is stable enough for production use. 1.4  S4 methods are introduced and the first version for Mac OS X is made available soon after. 1.8  Introduced a flexible condition handling mechanism for signalling and handling condition objects. 2.0  Introduced fast loading of data with minimal expense of system memory. 2.1  Support for UTF-8 encoding. They also started of internationalization and localization for different languages. 2.6.2  Last version to support Windows 95, 98, Me and NT 4.0https://cran-archive.r-project.org/bin/windows/base/old/2.7.0/CHANGES.R-2.7.0 2.11  Support for Windows 64 bit systems. 2.12.2  Last version to support Windows 2000 2.13  Adding a new compiler function that allows speeding up functions by converting them to byte-code. 2.14  Added mandatory namespaces for packages. Added a new parallel package. 2.15  New load balancing functions. Improved serialization speed for long vectors. 3.0.0  Support for numeric index values 231 and larger on 64 bit systems. 3.3.3  Last version to support Microsoft Windows XP. 3.4.0  Just-in-time compilation (JIT) of functions and loops to byte-code enabled by default. 3.5.0  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  4.0.0 

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

 References 

 Other websites 

Category:Free software
Category:Multi-paradigm programming languages
Category:GNU project software
Category:Object-oriented programming languages
Category:Functional languages
Category:Statistical software