R (programming language): Difference between revisions

Content deleted Content added
m Reverting possible vandalism by 154.115.204.4 to version by 207.91.254.122. Report False Positive? Thanks, ClueBot NG. (4413697) (Bot)
 
Line 1:
{{Short description|Programming language for statistics}}
The '''R programming language''', sometimes described as "[[GNU]] [[S programming language|S]]", is a mathematical language and environment used for [[statistical]] analysis and display. It was originally created by [[Ross Ihaka]] and [[Robert Gentleman]] (hence the name R) at the [[University of Auckland]], [[New Zealand]], and is now steadily developed further by a large community around the world.
{{Use dmy dates|date=June 2018}}
{{Infobox programming language
| name = R
| logo = R logo.svg
| logo_size = 150px
| screenshot = R terminal.jpg
| screenshot_size = 250px
| screenshot caption = Terminal window for R
| released = {{Start date and age|1993|08}}
| designer = [[Ross Ihaka]] and [[Robert Gentleman (statistician)|Robert Gentleman]]
| developer = R Core Team
| typing = [[dynamic typing|Dynamic]]
| influenced = [[Julia (programming language)|Julia]]<ref name="Introduction">{{cite web |url=https://docs.julialang.org/en/stable/manual/introduction/#man-introduction-1 |title=Introduction |work=The Julia Manual |access-date=2018-08-05 |archive-url=https://web.archive.org/web/20180620172516/https://docs.julialang.org/en/stable/manual/introduction/#man-introduction-1 |archive-date=20 June 2018 |url-status=dead |df=dmy-all }}</ref> [[pandas (software)|pandas]]<ref name="pandas">{{cite web|url=https://pandas.pydata.org/pandas-docs/stable/getting_started/comparison/comparison_with_r.html|title=Comparison with R|access-date=2024-07-15|work=pandas Getting started}}</ref>
| platform = [[arm64]] and [[x86-64]]
| license = [[GNU GPL#Version 2|GPL-2.0-or-later]]<ref name="gnugpl" />
| website = {{URL|https://www.r-project.org/|r-project.org}}
| wikibooks = R Programming
| paradigms = [[Multi-paradigm programming language|Multi-paradigm]]: [[Procedural programming|procedural]], [[Object-oriented programming|object-oriented]], [[Functional programming|functional]], [[Reflective programming|reflective]], [[Imperative programming|imperative]], [[Array programming|array]]<ref name="Morandat">{{cite journal|last1=Morandat|first1=Frances|last2=Hill|first2=Brandon|last3=Osvald|first3=Leo|last4=Vitek|first4=Jan|date=11 June 2012|title=Evaluating the design of the R language: objects and functions for data analysis|url=https://doi.org/10.1007/978-3-642-31057-7_6|journal=European Conference on Object-Oriented Programming|volume=2012|pages=104–131|doi=10.1007/978-3-642-31057-7_6|access-date=2016-05-17|via=SpringerLink|url-access=subscription}}</ref>
| latest release version = {{wikidata|property|edit|reference|P348|P548=Q2804309}}
| latest release date = {{start date and age|df=yes|{{wikidata|qualifier|P348|P548=Q2804309|P577}}}}
| latest preview version = {{wikidata|property|edit|reference|P348|P548=Q51930650}}
| latest preview date = {{start date and age|df=yes|{{wikidata|qualifier|P348|P548=Q51930650|P577}}}}
| influenced_by = {{startflatlist}}
* [[Lisp (programming language)|Lisp]]
* [[S (programming language)|S]]<ref name="R FAQ">{{Cite web |last1=Hornik |first1=Kurt |last2=The R Core Team |date=2022-04-12 |title=R FAQ |url=https://cran.r-project.org/doc/FAQ/R-FAQ.html#What-are-the-differences-between-R-and-S_003f |url-status=live |archive-url=https://web.archive.org/web/20221228045640/https://cran.r-project.org/doc/FAQ/R-FAQ.html |archive-date=2022-12-28 |access-date=2022-12-27 |website=[[R package#Comprehensive R Archive Network (CRAN)|The Comprehensive R Archive Network]] |at=3.3 What are the differences between R and S?}}</ref>
* [[Scheme (programming language)|Scheme]]<ref name="Morandat" />
{{endflatlist}}
| file_ext = {{Unbulleted list|.r<ref>{{Cite web|title=R scripts|url=http://mercury.webster.edu/aleshunas/R_learning_infrastructure/R%20scripts.html|access-date=2021-07-17|website=mercury.webster.edu}}</ref>|.rdata|.rhistory|.rds|.rda<ref>{{Cite web|date=2017-06-09|title=R Data Format Family (.rdata, .rda)|url=https://www.loc.gov/preservation/digital/formats/fdd/fdd000470.shtml|access-date=2021-07-17|website=Loc.gov}}</ref>}}
}}
{{redirect-distinguish|R lang|Erlang}}
 
'''R''' is a [[programming language]] for [[statistical computing]] and [[Data and information visualization|data visualization]]. It has been widely adopted in the fields of [[data mining]], [[bioinformatics]], [[data analysis]], and [[data science]].<ref>{{Cite journal
It is based upon [[S programming language|S]], which was developed by [[John Chambers]] of [[Bell Laboratories]] and described in the paper "Evolution of the S Language" [http://cm.bell-labs.com/stat/doc/96.7.ps]. R is considered by its developers to be an implementation of S, with semantics derived from [[Scheme programming language|Scheme]]. The commercial implementation of S is S-PLUS [http://www.insightful.com/products/splus].
|last1=Giorgi
|first1=Federico M.
|last2=Ceraolo
|first2=Carmine
|last3=Mercatelli
|first3=Daniele
|date=2022-04-27
|title=The R Language: An Engine for Bioinformatics and Data Science
|journal=Life
|language=en
|volume=12
|issue=5
|page=648
|doi=10.3390/life12050648
|pmid=35629316
|pmc=9148156
|bibcode=2022Life...12..648G
|doi-access=free }}</ref>
 
The core R language is extended by a large number of [[R package|software packages]], which contain [[Reusability|reusable code]], documentation, and sample data. Some of the most popular R packages are in the [[tidyverse]] collection, which enhances functionality for visualizing, transforming, and modelling data, as well as improves the ease of programming (according to the authors and users).<ref>{{Cite web |title=Home - RDocumentation |url=https://www.rdocumentation.org/ |access-date=2025-06-13 |website=www.rdocumentation.org}}</ref>
R is freely available under the [[GNU General Public License|GNU GPL]] and is available for [[Microsoft Windows|Windows]], [[Apple Macintosh|Macintosh]], and many [[Unix]] operating systems. There are several [[Graphical user interface|GUI]] for R ([[RKWard]], [[Sciviews]], etc.).
 
R is [[free and open-source software]] distributed under the [[GNU General Public License]].<ref name="gnugpl">{{Cite web |title=R - Free Software Directory |url=https://directory.fsf.org/wiki/R#tab=Details |access-date=2024-01-26 |website=directory.fsf.org}}</ref><ref>{{Cite web |title=R: What is R? |url=https://www.r-project.org/about.html |access-date=2025-05-10 |website=www.r-project.org}}</ref> The language is implemented primarily in [[C (programming language)|C]], [[Fortran]], and [[Self-hosting (compilers)|R itself]]. [[Preprocessor|Precompiled]] [[executable]]s are available for the major [[operating system]]s (including [[Linux]], [[MacOS]], and [[Microsoft Windows]]).
R is extensible through the use of packages, which are user submitted libraries for specific functions or specific areas of study. A core set of packages are included with the installation of R, with many more available at the comprehensive R archive network, [[CRAN]].
 
Its core is an [[interpreted language]] with a native [[command line interface]]. In addition, multiple [[Third-party software component|third-party]] applications are available as [[graphical user interface]]s; such applications include [[RStudio]] (an [[integrated development environment]]) and [[Jupyter]] (a [[notebook interface]]).
==Comparison with other programs==
Although R is mostly used by statisticians, and other people in need of statistics, it can also be used as a general matrix calculation toolbox such as [[GNU_Octave]] or, its proprietary counterpart, [[MATLAB]].
 
== History ==
{{compu-lang-stub}}
{{Multiple image |total_width = 250 | align = left
| header = Co-originators of the R language
| image1 = Ross Ihaka (5189180796).jpg
| caption1 = [[Ross Ihaka]]
| image2 = Robert Gentleman on R Consortium.jpg
| caption2 = [[Robert Gentleman (statistician)|Robert Gentleman]]
}}
R was started by professors [[Ross Ihaka]] and [[Robert Gentleman (statistician)|Robert Gentleman]] as a programming language to teach introductory statistics at the [[University of Auckland]].<ref name="otago_pg12">{{Cite web
|last=Ihaka
|first=Ross
|title=The R Project: A Brief History and Thoughts About the Future
|url=https://www.stat.auckland.ac.nz/~ihaka/downloads/Otago.pdf
|page=12
|url-status=live
|quote=We set a goal of developing enough of a language to teach introductory statistics courses at Auckland.
|archive-url=https://web.archive.org/web/20221228043824/https://www.stat.auckland.ac.nz/~ihaka/downloads/Otago.pdf
|archive-date=2022-12-28
|access-date=2022-12-27}}</ref> The language was inspired by the [[S (programming language)|S programming language]], with most S programs able to run unaltered in R.<ref name="R FAQ"/> The language was also inspired by [[Scheme (programming language)|Scheme's]] [[lexical scoping]], allowing for [[local variable]]s.<ref name="Morandat"/>
 
The name of the language, R, comes from being both an S language successor and the shared first letter of the authors, Ross and Robert.<ref>{{Cite web
==External links==
|last1=Hornik
*[http://www.r-project.org/ The R Project for Statistical Computing]
|first1=Kurt
*[http://www.cran.r-project.org/ The CRAN (Comprehensive R Archive Network) Project]
|last2=The R Core Team
*[http://www.math.montana.edu/Rweb/ Web-based interface to R]
|date=2022-04-12
*[http://www.network-theory.co.uk/R/base/ The R Reference Manual - Base Package] by the R Development Core Team. ISBN 0-9546120-0-0 (vol. 1), ISBN 0-9546120-1-9 (vol. 2)
|title=R FAQ
*[http://fawn.unibw-hamburg.de/cgi-bin/Rwiki.pl?RwikiHome The R Wiki] User contributed R documentation and [[how to]] information.
|url=https://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-is-R-named-R_003f
*
|url-status=live
|archive-url=https://web.archive.org/web/20221228045640/https://cran.r-project.org/doc/FAQ/R-FAQ.html
|archive-date=2022-12-28
|access-date=2022-12-28
|website=[[R package#Comprehensive R Archive Network (CRAN)|The Comprehensive R Archive Network]]
|at=2.13 What is the R Foundation?}}</ref> In August 1993, Ihaka and Gentleman posted a [[Binary file|binary]] file of R on StatLib — a data archive website.<ref>{{Cite web |title=Index of /datasets |url=https://lib.stat.cmu.edu/datasets/ |access-date=2024-09-05 |website=lib.stat.cmu.edu}}</ref> At the same time, they announced the posting on the ''s-news'' mailing list.<ref name="Interface98">{{Cite web
|last=Ihaka
|first=Ross
|title=R: Past and Future History
|url=https://www.stat.auckland.ac.nz/~ihaka/downloads/Interface98.pdf
|url-status=live
|page=4
|archive-url=https://web.archive.org/web/20221228071311/https://www.stat.auckland.ac.nz/~ihaka/downloads/Interface98.pdf
|archive-date=2022-12-28
|access-date=2022-12-28}}</ref> On 5 December 1997, R became a [[GNU project]] when version 0.60 was released.<ref>{{Cite web
|last=Ihaka
|first=Ross
|date=1997-12-05
|title=New R Version for Unix
|url=https://stat.ethz.ch/pipermail/r-announce/1997/000014.html
|url-status=live
|archive-url=https://web.archive.org/web/20230212133422/https://stat.ethz.ch/pipermail/r-announce/1997/000014.html
|archive-date=2023-02-12
|access-date=2023-02-12
|website=stat.ethz.ch}}</ref> On 29 February 2000, the 1.0 version was released.<ref name="otago_pg18">{{Cite web
|last=Ihaka
|first=Ross
|title=The R Project: A Brief History and Thoughts About the Future
|url=https://www.stat.auckland.ac.nz/~ihaka/downloads/Otago.pdf
|page=18
|url-status=live
|archive-url=https://web.archive.org/web/20221228043824/https://www.stat.auckland.ac.nz/~ihaka/downloads/Otago.pdf
|archive-date=2022-12-28
|access-date=2022-12-27}}</ref>
 
== {{Anchor|CRAN}}Packages ==
[[Category:Domain-specific programming languages]]
{{Main|R package}}
[[Category:GNU project software]]
[[Category:Numerical programming languages]]
[[Category:Statistical programming languages]]
[[Category:Statistical software]]
 
[[File:Ggplot2 PlantGrowth violin plot.svg|alt=refer to caption|thumb|A [[violin plot]] created with the R package [[ggplot2]] for data visualization ]]
[[de:GNU_R]]
[[R package]]s are collections of functions, documentation, and data that expand R.<ref name="rds_pagexvii">{{cite book
[[fr:R (logiciel)]]
| last1 = Wickham
[[it:R (software)]]
| first1 = Hadley
[[zh:R&#35821;&#35328;]]
| last2 = Cetinkaya-Rundel
| first2 = Mine
| last3 = Grolemund
| first3 = Garrett
| title = R for Data Science, Second Edition
| publisher = [[O'Reilly Media|O'Reilly]]
| year = 2023
| page = xvii
| isbn = 978-1-492-09740-2
}}</ref> For example, packages can add reporting features (using packages such as [[RStudio#Reproducible analyses with R Markdown vignettes|RMarkdown]], Quarto,<ref>{{Cite web |title=Quarto |url=https://quarto.org/ |access-date=2024-09-05 |website=Quarto |language=en}}</ref> [[knitr]], and [[Sweave]]) and support for various statistical techniques (such as [[linear]], [[generalized linear model|generalized linear]] and [[Nonlinear system|nonlinear]] modeling, classical [[Statistical hypothesis testing|statistical tests]], [[spatial analysis|spatial]] analysis, [[time-series analysis]], and [[Cluster analysis|clustering]]). Ease of package installation and use have contributed to the language's adoption in [[data science]].<ref name="Chambers2020">{{Cite journal
|last=Chambers
|first=John M.
|date=2020
|title=S, R, and Data Science
|url=https://journal.r-project.org/archive/2020/RJ-2020-028/index.html
|journal=The R Journal
|language=en
|volume=12
|issue=1
|pages=462–476
|doi=10.32614/RJ-2020-028
|issn=2073-4859
|doi-access=free
|quote=The R language and related software play a major role in computing for data science. ... R packages provide tools for a wide range of purposes and users.}}</ref>
 
Immediately available when starting R after installation, base packages provide the fundamental and necessary syntax and commands for programming, computing, graphics production, [[Elementary arithmetic|basic arithmetic]], and statistical functionality.<ref>{{cite book|title=The Book of R: A First Course in Programming and Statistics|first1=Tilman M.|last1=Davies|isbn=9781593276515|year=2016|publisher=No Starch Press|___location=San Francisco, California|chapter=Installing R and Contributed Packages|pages=739}}</ref>
 
An example is the [[tidyverse]] collection of R packages, which bundles several subsidiary packages to provide a common [[API]]. The collection specializes in tasks related to accessing and processing "[[tidy data]]",<ref>[[Hadley Wickham|Wickham, Hadley]] (2014). "Tidy Data" ([https://vita.had.co.nz/papers/tidy-data.pdf PDF]). ''Journal of Statistical Software''. '''59''' (10). [[Doi (identifier)|doi]]:10.18637/jss.v059.i10.</ref> which are data contained in a [[Two-dimensional space|two-dimensional]] table with a single row for each [[observation]] and a single column for each variable.<ref name="rds">{{cite book |last1=Wickham |first1=Hadley |title=R for Data Science, Second Edition |last2=Cetinkaya-Rundel |first2=Mine |last3=Grolemund |first3=Garrett |publisher=[[O'Reilly Media|O'Reilly]] |year=2023 |isbn=978-1-492-09740-2}}</ref>
 
Installing a package occurs only once. For example, to install the tidyverse collection:<ref name="rds" />
<syntaxhighlight lang="rout">
> install.packages("tidyverse")
</syntaxhighlight>
 
To load the functions, data, and documentation of a package, one calls the <code>library()</code> function. To load the tidyverse collection, one can execute the following code:{{efn|This code displays to [[Standard streams|standard error]] a listing of all the packages that the tidyverse collection depends upon. The code may also display warnings showing namespace conflicts, which may typically be ignored.}}
<syntaxhighlight lang="rout">
> # The package name can be enclosed in quotes
> library("tidyverse")
 
> # But the package name can also be used without quotes
> library(tidyverse)
</syntaxhighlight>
 
The [[R package#Comprehensive R Archive Network (CRAN)|Comprehensive R Archive Network]] (CRAN) was founded in 1997 by Kurt Hornik and [[Friedrich Leisch]] to host R's [[source code]], executable files, documentation, and user-created packages.<ref name=":10" /> CRAN's name and scope mimic the [[Comprehensive TeX Archive Network]] (CTAN) and the [[Comprehensive Perl Archive Network]] (CPAN).<ref name=":10">{{Cite journal |last=Hornik |first=Kurt |date=2012 |title=The Comprehensive R Archive Network |url=https://onlinelibrary.wiley.com/doi/10.1002/wics.1212 |journal=WIREs Computational Statistics |language=en |volume=4 |issue=4 |pages=394–398 |doi=10.1002/wics.1212 |issn=1939-5108 |s2cid=62231320|url-access=subscription }}</ref> CRAN originally had only three [[mirror site]]s and twelve contributed packages.<ref>{{cite Q|Q101068595}}<!-- Announce: CRAN -->.</ref> {{As of|2025|06|30}}, it has 90 mirrors<ref name=":3">{{Cite web |title=The Status of CRAN Mirrors |url=https://cran.r-project.org/mirmon_report.html |access-date=2024-10-16 |website=cran.r-project.org}}</ref> and 22,390 contributed packages.<ref name=":9">{{Cite web |title=CRAN - Contributed Packages |url=https://cran.r-project.org/web/packages/index.html |access-date=2024-10-16 |website=cran.r-project.org}}</ref> Packages are also available in [[Repository (version control)|repositories]] such as R-Forge, Omegahat, and [[GitHub]].<ref>{{Cite web |title=R-Forge: Welcome |url=https://r-forge.r-project.org/ |access-date=2024-09-05 |website=r-forge.r-project.org}}</ref><ref>{{Cite web |title=The Omega Project for Statistical Computing |url=https://www.omegahat.net/ |access-date=2024-09-05 |website=www.omegahat.net}}</ref><ref>{{Cite web |title=Build software better, together |url=https://github.com/trending/r |access-date=2024-09-05 |website=GitHub |language=en}}</ref>
 
To provide guidance on the CRAN web site, its [https://cran.r-project.org/web/views/ Task Views] area lists packages that are relevant for specific topics; sample topics include [[causal inference]], [[finance]], [[genetics]], [[high-performance computing]], [[machine learning]], [[medical imaging]], [[meta-analysis]], [[social science]]s, and [[spatial statistics]].
 
The [[Bioconductor]] project provides packages for [[Genomics|genomic]] data analysis, [[complementary DNA]], [[microarray]], and [[high-throughput sequencing]] methods.
 
== Community ==
[[File:RConsortiumLogo.webp|thumb|The R Consortium is one of the three main groups that support R]]
There are three main groups that help support R software development:
 
* The R Core Team was founded in 1997 to maintain the R [[source code]].
* The R Foundation for Statistical Computing was founded in April 2003 to provide financial support.
* The R Consortium is a [[Linux Foundation]] project to develop R infrastructure.
 
''[[The R Journal]]'' is an [[open access]], [[academic journal]] that features short to medium-length articles on the use and development of R. The journal includes articles on packages, programming tips, CRAN news, and foundation news.
[[File:UseR Logo.png|thumb|125x125px|UseR! conference is one place the R community can gather at]]
The R community hosts many conferences and in-person meetups.{{efn|Information about conferences and meetings is available in a community-maintained list on GitHub, {{URL|jumpingrivers.github.io/meetingsR/}}}} These groups include:
 
* UseR!: an annual international R user conference ([https://www.r-project.org/conferences/ website])
* Directions in Statistical Computing (DSC) ([https://www.r-project.org/conferences/ website])
* [[R-Ladies]]: an organization to promote [[gender diversity]] in the R community ([https://rladies.org website])
* SatRdays: R-focused conferences held on Saturdays ([https://satrdays.github.io/ website])
* Data Science & AI Conferences ([https://rstats.ai/ website])
* posit::conf (formerly known as rstudio::conf) ([https://www.posit.co/conference/ website])
On social media sites such as Twitter, the hashtag <code>#rstats</code> can be used to follow new developments in the R community.<ref>{{Cite book |last=Wickham |first=Hadley |url=https://r4ds.had.co.nz/introduction.html |title=1 Introduction {{!}} R for Data Science |last2=Grolemund |first2=Garrett |date=January 2017 |publisher=[[O'Reilly Media]] |isbn=978-1491910399 |edition=1st |language=en}}</ref>
 
== Examples ==
=== Hello, World! ===
The following is a [["Hello, World!" program]]:
<syntaxhighlight lang="rout">> print("Hello, World!")
[1] "Hello, World!"</syntaxhighlight>Here is an alternative version, which uses the <code>cat()</code> function:<syntaxhighlight lang="rout">
> cat("Hello, World!")
Hello, World!
</syntaxhighlight>
 
=== Basic syntax ===
The following examples illustrate the basic [[programming language syntax|syntax of the language]] and use of the command-line interface.{{efn|An expanded list of standard language features can be found in the manual "An Introduction to R", {{URL|cran.r-project.org/doc/manuals/R-intro.pdf}}}}
 
In R, the generally preferred [[Assignment (computer science)|assignment operator]] is an arrow made from two characters <code><-</code>, although <code>=</code> can be used in some cases.<ref>{{cite web|author=R Development Core Team|title=Assignments with the = Operator|url=https://developer.r-project.org/equalAssign.html|access-date=2018-09-11}}</ref>
 
<syntaxhighlight lang="rout">
> x <- 1:6 # Create a numeric vector in the current environment
> y <- x^2 # Similarly, create a vector based on the values in x.
> print(y) # Print the vector’s contents.
[1] 1 4 9 16 25 36
 
> z <- x + y # Create a new vector that is the sum of x and y
> z # Return the contents of z to the current environment.
[1] 2 6 12 20 30 42
 
> z_matrix <- matrix(z, nrow = 3) # Create a new matrix that transforms the vector z into a 3x2 matrix object
> z_matrix
[,1] [,2]
[1,] 2 20
[2,] 6 30
[3,] 12 42
 
> 2 * t(z_matrix) - 2 # Transpose the matrix; multiply every element by 2; subtract 2 from each element in the matrix; and then return the results to the terminal.
[,1] [,2] [,3]
[1,] 2 10 22
[2,] 38 58 82
 
> new_df <- data.frame(t(z_matrix), row.names = c("A", "B")) # Create a new dataframe object that contains the data from a transposed z_matrix, with row names 'A' and 'B'
> names(new_df) <- c("X", "Y", "Z") # Set the column names of the new_df dataframe as X, Y, and Z.
> print(new_df) # Print the current results.
X Y Z
A 2 6 12
B 20 30 42
 
> new_df$Z # Output the Z column
[1] 12 42
 
> new_df$Z == new_df['Z'] && new_df[3] == new_df$Z # The dataframe column Z can be accessed using the syntax $Z, ['Z'], or [3], and the values are the same.
[1] TRUE
 
> attributes(new_df) # Print information about attributes of the new_df dataframe
$names
[1] "X" "Y" "Z"
 
$row.names
[1] "A" "B"
 
$class
[1] "data.frame"
 
> attributes(new_df)$row.names <- c("one", "two") # Access and then change the row.names attribute; this can also be done using the rownames() function
> new_df
X Y Z
one 2 6 12
two 20 30 42
 
</syntaxhighlight>
 
=== Structure of a function ===
R is able to create [[Function (computer programming)|functions]] that add new functionality for code reuse.<ref>{{cite web|url=http://www.statmethods.net/management/userfunctions.html|title=Quick-R: User-Defined Functions|first=Robert|last=Kabacoff|year=2012|access-date=2018-09-28|website=statmethods.net}}</ref> [[Object (computer science)|Objects]] created within the body of the function (which are enclosed by curly brackets) remain [[Local variable|accessible only]] from within the function, and any [[data type]] may be returned. In R, almost all functions and all [[user-defined function]]s are [[closure (computer programming)|closures]].<ref>{{cite web|url=http://adv-r.had.co.nz/Functional-programming.html#closures|title=Advanced R - Functional programming - Closures|website=adv-r.had.co.nz|first=Hadley|last=Wickham}}</ref>
 
The following is an example of creating a function to perform an arithmetic calculation:
<syntaxhighlight lang="r"># The function's input parameters are x and y.
# The function, named f, returns a linear combination of x and y.
f <- function(x, y) {
z <- 3 * x + 4 * y
 
# An explicit return() statement is optional--it could be replaced with simply `z` in this case.
return(z)
}
 
# As an alternative, the last statement executed in a function is returned implicitly.
f <- function(x, y) 3 * x + 4 * y</syntaxhighlight>
 
The following is some output from using the function defined above:
<syntaxhighlight lang="rout">
> f(1, 2) # 3 * 1 + 4 * 2 = 3 + 8
[1] 11
 
> f(c(1, 2, 3), c(5, 3, 4)) # Element-wise calculation
[1] 23 18 25
 
> f(1:3, 4) # Equivalent to f(c(1, 2, 3), c(4, 4, 4))
[1] 19 22 25
</syntaxhighlight>
 
It is possible to define functions to be used as [[Infix notation|infix operators]] by using the special syntax <code>`%name%`</code>, where "name" is the function variable name:
<syntaxhighlight lang="rout">
> `%sumx2y2%` <- function(e1, e2) {e1 ^ 2 + e2 ^ 2}
> 1:3 %sumx2y2% -(1:3)
[1] 2 8 18
</syntaxhighlight>
 
Since R version 4.1.0, functions can be written in a short notation, which is useful for passing anonymous functions to higher-order functions:<ref>{{cite web|url=https://cran.r-project.org/doc/manuals/r-release/NEWS.html#:~:text=R%20now%20provides%20a%20shorthand%20notation%20for%20creating%20functions|title=NEWS|website=r-project.org}}</ref>
<syntaxhighlight lang="rout">
> sapply(1:5, \(i) i^2) # here \(i) is the same as function(i)
[1] 1 4 9 16 25
</syntaxhighlight>
 
=== Native pipe operator ===
In R version 4.1.0, a native [[Pipeline (computing)|pipe operator]], <code>|></code>, was introduced.<ref>{{Cite web |title=R: R News |url=https://cran.r-project.org/doc/manuals/r-devel/NEWS.html |access-date=2024-03-14 |website=cran.r-project.org}}</ref> This operator allows users to chain functions together, rather than using nested function calls.
 
<syntaxhighlight lang="rout">
> nrow(subset(mtcars, cyl == 4)) # Nested without the pipe character
[1] 11
 
> mtcars |> subset(cyl == 4) |> nrow() # Using the pipe character
[1] 11
</syntaxhighlight>
 
An alternative to nested functions is the use of intermediate objects, rather than the pipe operator:
 
<syntaxhighlight lang="rout">
> mtcars_subset_rows <- subset(mtcars, cyl == 4)
> num_mtcars_subset <- nrow(mtcars_subset_rows)
> print(num_mtcars_subset)
[1] 11
</syntaxhighlight>While the pipe operator can produce code that is easier to read, influential R programmers like [[Hadley Wickham]] suggest to chain together at most 10-15 lines of code using this operator and saving them into objects having meaningful names to avoid [[Code obfuscating|code obfuscation]].<ref>{{Cite book |last=Wickham |first=Hadley |url=https://r4ds.hadley.nz/ |title=R for data science: import, tidy, transform, visualize, and model data |last2=Çetinkaya-Rundel |first2=Mine |last3=Grolemund |first3=Garrett |date=2023 |publisher=O'Reilly |isbn=978-1-4920-9740-2 |edition=2nd |___location=Beijing; Sebastopol, CA |chapter=4 Workflow: code style |oclc=on1390607935 |chapter-url=https://r4ds.hadley.nz/workflow-style.html}}</ref>
=== Object-oriented programming ===
The R language has native support for [[object-oriented programming]]. There are two native [[Application framework|frameworks]], the so-called S3 and S4 systems. The former, being more informal, supports single dispatch on the first argument, and objects are assigned to a class simply by setting a "class" attribute in each object. The latter is a system like the [[CLOS|Common Lisp Object System (CLOS)]], with formal classes (also derived from [[S (programming language)#S4|S]]) and generic methods, which supports [[multiple dispatch]] and [[multiple inheritance]]<ref>{{cite web|url=https://stat.ethz.ch/R-manual/R-devel/library/base/html/UseMethod.html|title=Class Methods|access-date=2024-04-25}}</ref>
 
In the example below, <code>summary()</code> is a [[generic function]] that dispatches to different methods depending on whether its [[Argument of a function|argument]] is a numeric [[Vector (mathematics and physics)|vector]] or a ''factor'':
<syntaxhighlight lang="rout">
> data <- c("a", "b", "c", "a", NA)
> summary(data)
Length Class Mode
5 character character
> summary(as.factor(data))
a b c NA's
2 1 1 1
</syntaxhighlight>
 
=== Modeling and plotting ===
[[File:Plots from lm example.svg|right|thumb|200px|Diagnostic plots for the model from the example code in the "Modeling and plotting" section (q.v. the <code>plot.lm()</code> function). Mathematical notation is allowed in labels, as shown in the lower left plot.]]
The R language has built-in support for [[data modeling]] and graphics. The following example shows how R can generate and plot a [[linear model]] with residuals.
<syntaxhighlight lang="r">
# Create x and y values
x <- 1:6
y <- x^2
 
# Linear regression model: y = A + B * x
model <- lm(y ~ x)
 
# Display an in-depth summary of the model
summary(model)
 
# Create a 2-by-2 layout for figures
par(mfrow = c(2, 2))
 
# Output diagnostic plots of the model
plot(model)
</syntaxhighlight>
 
The output from the <code>summary()</code> function in the preceding code block is as follows:
<syntaxhighlight lang="rout">
Residuals:
1 2 3 4 5 6 7 8 9 10
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
</syntaxhighlight>
 
=== Mandelbrot set ===
[[File:Mandelbrot Creation Animation.gif|thumb|200px|A Mandelbrot set as visualized in R. (Note: The colours in this image differ from the output of the sample code in the "Mandelbrot set" section.)]]
This example of a [[Mandelbrot set]] highlights the use of [[complex numbers]]. It models the first 20 [[iteration]]s of the [[equation]] <code>z = z<sup>2</sup> + c</code>, where <code>c</code> represents different [[Complex number|complex constants]].
 
To run this sample code, it is necessary to first install the package that provides the <code>write.gif()</code> function:
<syntaxhighlight lang="r">
install.packages("caTools")
</syntaxhighlight>
 
The sample code is as follows:
<syntaxhighlight lang="r">library(caTools)
 
jet.colors <-
colorRampPalette(
c("green", "pink", "#007FFF", "cyan", "#7FFF7F",
"white", "#FF7F00", "red", "#7F0000"))
 
dx <- 1500 # define width
dy <- 1400 # define height
 
C <-
complex(
real = rep(seq(-2.2, 1.0, length.out = dx), each = dy),
imag = rep(seq(-1.2, 1.2, length.out = dy), times = dx)
)
 
# reshape as matrix of complex numbers
C <- matrix(C, dy, dx)
 
# initialize output 3D array
X <- array(0, c(dy, dx, 20))
 
Z <- 0
 
# loop with 20 iterations
for (k in 1:20) {
 
# the central difference equation
Z <- Z^2 + C
 
# capture the results
X[, , k] <- exp(-abs(Z))
}
 
write.gif(
X,
"Mandelbrot.gif",
col = jet.colors,
delay = 100)</syntaxhighlight>
 
== Version names ==
[[File:CD of R 1 0 0.png|alt=A CD with autographs on it|thumb|A CD of R Version 1.0.0, autographed by the core team of R, photographed in Quebec City in 2019|180x180px]]
All R version releases from 2.14.0 onward have [[Code name|codenames]] that make reference to ''[[Peanuts]]'' comics and films.<ref>{{Cite book |last=Monkman |first=Martin |url=https://bookdown.org/martin_monkman/DataScienceResources_book/r-release-names.html |title=Chapter 5 R Release Names {{!}} Data Science with R: A Resource Compendium}}</ref><ref>{{Cite web |last=McGowan |first=Lucy D’Agostino |date=2017-09-28 |title=R release names |url=https://livefreeordichotomize.com/posts/2017-09-28-r-release-names/index.html |access-date=2024-04-07 |website=livefreeordichotomize.com |language=en}}</ref><ref>{{Citation |title=r-hub/rversions |date=2024-02-29 |url=https://github.com/r-hub/rversions |access-date=2024-04-07 |publisher=The R-hub project of the R Consortium}}</ref>
 
In 2018, core R developer [[Peter Dalgaard]] presented a history of R releases since 1997.<ref name=":2">{{Cite web |last=Dalgaard |first=Peter |date=2018-07-15 |title=What's in a name? 20 years of R release management |url=https://www.youtube.com/watch?v=z1vTSdRolgI |access-date=2024-04-09 |website=[[YouTube]] |format=video}}</ref> Some notable early releases before the named releases include the following:
 
* Version 1.0.0, released on 29 February 2000, a [[Leap days|leap day]]
* Version 2.0.0, released on 4 October 2004, "which at least had a nice ring to it"<ref name=":2" />
 
The idea of naming R version releases was inspired by the naming system for [[Debian version history|Debian]] and [[Ubuntu version history|Ubuntu]] versions. Dalgaard noted an additional reason for the use of Peanuts references in R codenames—the humorous observation that "everyone in statistics is a [[P-value|P-nut]]."<ref name=":2" />
 
{| class="wikitable"
|+R release codenames
!Version
!Release date
!Name
!Peanuts reference
!Reference
|-
|4.5.1
|2025-06-13
|Great Square Root
|<ref>{{Cite web |title=Read Peanuts by Charles Schulz on GoComics |url=https://www.gocomics.com/peanuts/1978/02/24 |access-date=2025-06-13 |website=www.gocomics.com |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.5.1 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2025/000713.html |access-date=2025-06-13 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.5.0
|2025-04-11
|How About a Twenty-Six
|<ref>{{Cite web |title=Read Peanuts by Charles Schulz on GoComics |url=https://www.gocomics.com/peanuts/1978/02/24 |access-date=2025-04-17 |website=www.gocomics.com |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.5.0 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2025/000710.html |access-date=2025-04-17 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.4.3
|2025-02-28
|Trophy Case
|<ref>{{Cite web |title=Read Peanuts by Charles Schulz on GoComics |url=https://www.gocomics.com/peanuts/1973/03/12 |access-date=2025-04-17 |website=www.gocomics.com |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.4.3 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2025/000708.html |access-date=2025-04-17 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.4.2
|2024-10-31
|Pile of Leaves
|<ref>{{Cite web |last=Schulz |first=Charles |date=1957-11-15 |title=Peanuts by Charles Schulz for November 15, 1957 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1957/11/15 |access-date=2025-01-06 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.4.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2024/000706.html |access-date=2024-12-26 |website=stat.ethz.ch}}</ref>
|-
|4.4.1
|2024-06-14
|Race for Your Life
|<ref>{{Cite web |date=1977-08-03 |title=Race for Your Life, Charlie Brown |url=https://www.imdb.com/title/tt0076591/ |access-date=2024-06-18 |website=IMDB |language=en}}</ref>
|<ref>{{Cite web |title=R 4.4.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2024/000704.html |access-date=2024-06-18 |website=stat.ethz.ch}}</ref>
|-
|4.4.0
|2024-04-24
|Puppy Cup
|<ref>{{Cite web |last=Schulz |first=Charles |date=1980-06-29 |title=Peanuts by Charles Schulz for June 29, 1980 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1973/03/16 |access-date=2024-04-24 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 4.4.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2024/000701.html |access-date=2024-04-24 |website=stat.ethz.ch}}</ref>
|-
|4.3.3
|2024-02-29
|Angel Food Cake
|<ref>{{Cite web |last=Schulz |first=Charles |date=1980-06-29 |title=Peanuts by Charles Schulz for June 29, 1980 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1980/06/29 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 4.3.3 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2024/000699.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.3.2
|2023-10-31
|Eye Holes
|<ref>{{Cite web |last=Schulz |first=Charles |date=1996-10-31 |title=Peanuts by Charles Schulz for October 31, 1996 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1996/10/31 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.3.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2023/000697.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.3.1
|2023-06-16
|Beagle Scouts
|<ref>{{Cite web |last=Schulz |first=Charles |date=1979-04-28 |title=Peanuts by Charles Schulz for April 28, 1979 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1979/04/28 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.3.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2023/000694.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.3.0
|2023-04-21
|Already Tomorrow
|<ref>{{Cite web |last=Schulz |first=Charles |date=1980-06-13 |title=Peanuts by Charles Schulz for June 13, 1980 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1980/06/13 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1980-06-16 |title=Peanuts by Charles Schulz for June 16, 1980 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1980/06/16 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1964-11-26 |title=Peanuts by Charles Schulz for November 26, 1964 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1964/11/26 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.3.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2023/000691.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.2.3
|2023-03-15
|Shortstop Beagle
|<ref>{{Cite web |last=Schulz |first=Charles |date=2001-03-30 |title=Peanuts by Charles Schulz for March 30, 2001 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/2001/03/30 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.2.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2023/000689.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.2.2
|2022-10-31
|Innocent and Trusting
|<ref>{{Cite web |last=Schulz |first=Charles |date=1962-10-30 |title=Peanuts by Charles Schulz for October 30, 1962 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1962/10/30 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.2.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2022/000686.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.2.1
|2022-06-23
|Funny-Looking Kid
|<ref>{{Cite web |last=Schulz |first=Charles |date=1970-11-22 |title=Peanuts by Charles Schulz for November 22, 1970 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1970/11/22 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1971-07-29 |title=Peanuts by Charles Schulz for July 29, 1971 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1971/07/29 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1969-09-25 |title=Peanuts by Charles Schulz for September 25, 1969 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1969/09/25 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1973-10-13 |title=Peanuts by Charles Schulz for October 13, 1973 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1973/10/13 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1974-02-08 |title=Peanuts by Charles Schulz for February 08, 1974 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1974/02/08 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1970-01-08 |title=Peanuts by Charles Schulz for January 08, 1970 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1970/01/08 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.2.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2022/000685.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.2.0
|2022-04-22
|Vigorous Calisthenics
|<ref name=":1">{{Cite web |last=Schulz |first=Charles |date=1967-03-06 |title=Peanuts by Charles Schulz for March 06, 1967 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1967/03/06 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.2.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2022/000683.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.1.3
|2022-03-10
|One Push-Up
|<ref name=":1" />
|<ref name="Rd R 4.1.2 is released">{{Cite web |title=[Rd] R 4.1.2 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2021/000677.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.1.2
|2021-11-01
|Bird Hippie
|<ref>{{Cite web |last=Schulz |first=Charles |date=1967-11-01 |title=Peanuts by Charles Schulz for November 01, 1967 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1967/11/01 |access-date=2024-04-09 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1967-07-12 |title=Peanuts by Charles Schulz for July 12, 1967 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1967/07/12 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref name="Rd R 4.1.2 is released"/>
|-
|4.1.1
|2021-08-10
|Kick Things
|<ref>{{Cite web |last=Schulz |first=Charles |date=1978-05-17 |title=Peanuts by Charles Schulz for May 17, 1978 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1978/05/17 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.1.1 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2021/000672.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.1.0
|2021-05-18
|Camp Pontanezen
|<ref>{{Cite web |last=Schulz |first=Charles |date=1986-02-12 |title=Peanuts by Charles Schulz for February 12, 1986 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1986/02/12 |access-date=2024-04-08 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.1.0 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2021/000670.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.0.5
|2021-03-31
|Shake and Throw
|<ref>{{Cite web |last=Schulz |first=Charles |date=1978-07-30 |title=Peanuts by Charles Schulz for July 30, 1978 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1978/07/30 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.0.5 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2021/000668.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.0.4
|2021-02-15
|Lost Library Book
|<ref>{{Cite web |last=Schulz |first=Charles |date=1959-03-02 |title=Peanuts by Charles Schulz for March 02, 1959 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1959/03/02 |access-date=2024-04-07 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=2006-02-27 |title=Peanuts by Charles Schulz for February 27, 2006 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/2006/02/27 |access-date=2024-04-07 |website=GoComics |language=en}}</ref><ref>{{Cite web |last=Schulz |first=Charles |date=1959-03-13 |title=Peanuts by Charles Schulz for March 13, 1959 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1959/03/13 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.0.4 scheduled for February 15 |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2021/000664.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.0.3
|2020-10-10
|Bunny-Wunnies Freak Out
|<ref>{{Cite web |last=Schulz |first=Charles |date=1972-10-23 |title=Peanuts by Charles Schulz for October 23, 1972 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1972/10/23 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[Rd] R 4.0.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2020/000662.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|4.0.2
|2020-06-22
|Taking Off Again
|<ref>{{Cite web |last=Schulz |first=Charles |date=1962-04-14 |title=Peanuts by Charles Schulz for April 14, 1962 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1962/04/14 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 4.0.2 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2020/000658.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.0.1
|2020-06-06
|See Things Now
|<ref>{{Cite web |last=Schulz |first=Charles |date=1962-02-06 |title=Peanuts by Charles Schulz for February 06, 1962 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1962/02/06 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 4.0.1 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2020/000655.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|4.0.0
|2020-04-24
|Arbor Day
|<ref>{{Cite web |last=Schulz |first=Charles |date=1970-04-24 |title=Peanuts by Charles Schulz for April 24, 1970 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1970/04/24 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 4.0.0 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2020/000653.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.6.3
|2020-02-29
|Holding the Windsock
|<ref>{{Cite web |last=Schulz |first=Charles |date=2000-02-29 |title=Peanuts by Charles Schulz for February 29, 2000 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/2000/02/29 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.6.3 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2020/000650.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.6.2
|2019-12-12
|Dark and Stormy Night
|See [[It was a dark and stormy night#Literature]]<ref>{{Cite web |last=Schulz |first=Charles |date=1965-07-12 |title=Peanuts by Charles Schulz for July 12, 1965 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1965/07/12 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.6.2 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2019/000647.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.6.1
|2019-07-05
|Action of the Toes
|<ref name="auto1">{{Cite web |last=Schulz |first=Charles |date=1971-03-22 |title=Peanuts by Charles Schulz for March 22, 1971 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1971/03/22 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.6.1 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2019/000643.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.6.0
|2019-04-26
|Planting of a Tree
|<ref>{{Cite web |last=Schulz |first=Charles |date=1963-03-03 |title=Peanuts by Charles Schulz for March 03, 1963 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1963/03/03 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.6.0 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2019/000641.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.5.3
|2019-03-11
|Great Truth
|<ref>{{Cite web |last=Schulz |first=Charles |date=1959-03-11 |title=Peanuts by Charles Schulz for March 11, 1959 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1959/03/11 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.5.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2019/000638.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.5.2
|2018-12-20
|Eggshell Igloos
|<ref>{{Cite web |last=Schulz |first=Charles |date=1960-01-25 |title=Peanuts by Charles Schulz for January 25, 1960 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1960/01/25 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.5.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2018/000634.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.5.1
|2018-07-02
|Feather Spray
|<ref>{{Cite web |last=Schulz |first=Charles |date=1972-03-09 |title=Peanuts by Charles Schulz for March 09, 1972 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1972/03/09 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.5.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2018/000630.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.5.0
|2018-04-23
|Joy in Playing
|<ref>{{Cite web |last=Schulz |first=Charles |date=1973-01-27 |title=Peanuts by Charles Schulz for January 27, 1973 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1973/01/27 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.5.0 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2018/000628.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.4.4
|2018-03-15
|Someone to Lean On
|<ref>{{Cite web| title=It's nice to have a friend you can lean on | url=https://collectpeanuts.com/Collection/ImagesW/Plaques/201405/IMG_4892.jpg | archive-url=https://web.archive.org/web/20240407212529/https://collectpeanuts.com/Collection/ImagesW/Plaques/201405/IMG_4892.jpg | archive-date=2024-04-07}}</ref><ref>{{Cite web |title=Peanuts Snoopy Charlie Brown A Friend is Someone you can lean on metal tin sign |url=https://thumbs.worthpoint.com/zoom/images1/1/0418/30/peanuts-snoopy-charlie-brown-friend_1_505bef366e5738e429106a1f6e0f3acc.jpg |access-date=2025-04-17}}</ref><ref>{{Cite web |title=Peanuts Snoopy & Charlie Brown Friend Is Someone You Can Lean On Fire-King Mug |url=https://thumbs.worthpoint.com/zoom/images1/1/0816/08/peanuts-snoopy-charlie-brown-friend_1_72eea89e06dae9d6b8838d4ee532877c.jpg |access-date=2025-04-17}}</ref>
|<ref>{{Cite web |title=R 3.4.4 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2018/000626.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.4.3
|2017-11-30
|Kite-Eating Tree
|See [[Kite-Eating Tree]]<ref>{{Cite web |last=Schulz |first=Charles |date=1967-02-19 |title=Peanuts by Charles Schulz for February 19, 1967 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1967/02/19 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.4.3 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2017/000623.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.4.2
|2017-09-28
|Short Summer
|See ''[[It Was a Short Summer, Charlie Brown]]''
|<ref>{{Cite web |title=R 3.4.2 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2017/000619.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.4.1
|2017-06-30
|Single Candle
|<ref name="auto">{{Cite web |last=Schulz |first=Charles |date=1965-09-09 |title=Peanuts by Charles Schulz for September 09, 1965 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1965/09/09 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.4.1 is released |url=https://hypatia.math.ethz.ch/pipermail/r-announce/2017/000616.html |access-date=2024-04-07 |website=hypatia.math.ethz.ch}}</ref>
|-
|3.4.0
|2017-04-21
|You Stupid Darkness
|<ref name="auto"/>
|<ref>{{Cite web |title=R 3.4.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2017/000612.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.3.3
|2017-03-06
|Another Canoe
|<ref>{{Cite web |last=Schulz |first=Charles |date=1966-06-29 |title=Peanuts by Charles Schulz for June 29, 1966 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1966/06/29 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[R] R 3.3.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2017/000611.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.3.2
|2016-10-31
|Sincere Pumpkin Patch
|<ref>{{Cite web |last=Schulz |first=Charles |date=1968-10-30 |title=Peanuts by Charles Schulz for October 30, 1968 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1968/10/30 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[R] R 3.3.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2016/000608.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.3.1
|2016-06-21
|Bug in Your Hair
|<ref>{{Cite web |last=Schulz |first=Charles |date=1967-06-15 |title=Peanuts by Charles Schulz for June 15, 1967 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1967/06/15 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[R] R 3.3.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2016/000604.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.3.0
|2016-05-03
|Supposedly Educational
|<ref>{{Cite web |last=Schulz |first=Charles |date=1971-05-07 |title=Peanuts by Charles Schulz for May 07, 1971 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1971/05/07 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[R] R 3.3.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2016/000602.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.2.5
|2016-04-11
|Very, Very Secure Dishes
|<ref name=":0">{{Cite web |last=Schulz |first=Charles |date=1964-02-20 |title=Peanuts by Charles Schulz for February 20, 1964 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1964/02/20 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=VERSION-NICK |url=https://svn.r-project.org/R/tags/R-3-2-5/VERSION-NICK |access-date=2024-04-07}}</ref><ref>{{Cite web |title=R 3.2.5 is released |url=https://stat.ethz.ch/pipermail/r-announce/2016/000601.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref><ref>{{Cite web |title=R 3.2.4-revised is released |url=https://stat.ethz.ch/pipermail/r-announce/2016/000598.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.2.4
|2016-03-11
|Very Secure Dishes
|<ref name=":0" />
|<ref>{{Cite web |title=R 3.2.4 is released |url=https://stat.ethz.ch/pipermail/r-announce/2016/000597.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.2.3
|2015-12-10
|Wooden Christmas-Tree
|See ''[[A Charlie Brown Christmas]]''<ref>{{Cite web |last=Schulz |first=Charles |date=1980-12-18 |title=Peanuts by Charles Schulz for December 18, 1980 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1980/12/18 |access-date=2024-04-09 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.2.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2015/000593.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.2.2
|2015-08-14
|Fire Safety
|<ref>{{Cite web |last=MarketScreener |date=2008-10-07 |title=METLIFE : Brush Up on Fire Safety Basics -October 07, 2008 at 04:03 pm EDT {{!}} MarketScreener |url=https://www.marketscreener.com/quote/stock/METLIFE-INC-13496/news/METLIFE-Brush-Up-on-Fire-Safety-Basics-586095/ |access-date=2024-04-07 |website=www.marketscreener.com |language=en}}</ref><ref>{{Cite web |date=2005-10-12 |title=MetLife Advises People to Brush Up on Fire Safety Basics to Stay Safe |url=https://www.claimsjournal.com/news/national/2005/10/13/60817.htm |access-date=2024-04-07 |website=Claims Journal |language=en-US}}</ref>
|<ref>{{Cite web |title=R 3.2.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2015/000589.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.2.1
|2015-06-18
|World-Famous Astronaut
|<ref>{{Cite web |last=Schulz |first=Charles |date=1969-03-10 |title=Peanuts by Charles Schulz for March 10, 1969 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1969/03/10 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[R] R 3.2.1 liftoff |url=https://stat.ethz.ch/pipermail/r-announce/2015/000586.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.2.0
|2015-04-16
|Full of Ingredients
|<ref>{{Cite web |last=Schulz |first=Charles |date=1966-04-07 |title=Peanuts by Charles Schulz for April 07, 1966 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1966/04/07 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=[R] R 3.2.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2015/000583.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.1.3
|2015-03-09
|Smooth Sidewalk
|<ref>{{Cite book |last=Schulz |first=Charles M. |title=Happiness is a warm puppy |date=2019 |publisher=Penguin Workshop |___location=New York |isbn=978-1-5247-8995-4}}</ref>{{Page needed|date=April 2024}}
|<ref>{{Cite web |title=R 3.1.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2015/000582.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.1.2
|2014-10-31
|Pumpkin Helmet
|See ''[[You're a Good Sport, Charlie Brown]]''
|<ref>{{Cite web |title=[R] R 3.1.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2014/000578.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.1.1
|2014-07-10
|Sock it to Me
|<ref>{{Cite web| title=Sock it to me | url=https://i.ebayimg.com/images/g/9XoAAOSwI51iIBwR/s-l1600.webp | archive-url=https://web.archive.org/web/20240409064756/https://i.ebayimg.com/images/g/9XoAAOSwI51iIBwR/s-l1600.webp | archive-date=2024-04-09}}</ref><ref>{{Cite web| title=Sock it to me | url=https://cdn11.bigcommerce.com/s-qc6bb7/images/stencil/1280x1280/products/11697/21379/pzl7274__10391.1456100538.jpg?c=2 | archive-url=https://web.archive.org/web/20240409064756/https://cdn11.bigcommerce.com/s-qc6bb7/images/stencil/1280x1280/products/11697/21379/pzl7274__10391.1456100538.jpg?c=2 | archive-date=2024-04-09}}</ref><ref>{{Cite web| title=Sock it to me puzzle | url=https://i.etsystatic.com/12512391/r/il/23f45c/5091663835/il_680x540.5091663835_dqpa.jpg | archive-url=https://web.archive.org/web/20240409064756/https://i.etsystatic.com/12512391/r/il/23f45c/5091663835/il_680x540.5091663835_dqpa.jpg | archive-date=2024-04-09}}</ref><ref>{{cite web | url=https://collectpeanuts.com/toys/games-puzzles/puzzles/springbok/#foobox-1/14/IMG_1586.jpg?ssl=1 | title=Peanuts Springbok Puzzles }}</ref>
|<ref>{{Cite web |title=[R] R 3.1.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2014/000575.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.1.0
|2014-04-10
|Spring Dance
|<ref name="auto1"/>
|<ref>{{Cite web |title=[R] R 3.1.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2014/000572.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.0.3
|2014-03-06
|Warm Puppy
|<ref>{{Cite web |last=Schulz |first=Charles |date=1965-01-11 |title=Peanuts by Charles Schulz for January 11, 1965 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1965/01/11 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.0.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2014/000569.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.0.2
|2013-09-25
|Frisbee Sailing
|<ref>{{Cite web |last=Schulz |first=Charles |date=1971-09-03 |title=Peanuts by Charles Schulz for September 03, 1971 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1971/09/03 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.0.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2013/000567.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.0.1
|2013-05-16
|Good Sport
|<ref>{{Cite web |last=Schulz |first=Charles |date=1953-11-22 |title=Peanuts by Charles Schulz for November 22, 1953 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1953/11/22 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.0.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2013/000563.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|3.0.0
|2013-04-03
|Masked Marvel
|<ref>{{Cite web |last=Schulz |first=Charles |date=1981-06-23 |title=Peanuts by Charles Schulz for June 23, 1981 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1981/06/23 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 3.0.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2013/000561.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|2.15.3
|2013-03-01
|Security Blanket
|<ref>{{Cite web |last=Schulz |first=Charles |date=1965-10-23 |title=Peanuts by Charles Schulz for October 23, 1965 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1965/10/23 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 2.15.3 is released |url=https://stat.ethz.ch/pipermail/r-announce/2013/000560.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|2.15.2
|2012-10-26
|Trick or Treat
|<ref>{{Cite web |last=Schulz |first=Charles |date=1969-10-31 |title=Peanuts by Charles Schulz for October 31, 1969 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1969/10/31 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 2.15.2 is released |url=https://stat.ethz.ch/pipermail/r-announce/2012/000557.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|2.15.1
|2012-06-22
|Roasted Marshmallows
|<ref>{{Cite web |last=Schulz |first=Charles |date=1987-06-06 |title=Peanuts by Charles Schulz for June 06, 1987 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1987/06/06 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 2.15.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2012/000554.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|2.15.0
|2012-03-30
|Easter Beagle
|<ref>{{Cite web |last=Schulz |first=Charles |date=1971-04-11 |title=Peanuts by Charles Schulz for April 11, 1971 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1971/04/11 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 2.15.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2012/000551.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|2.14.2
|2012-02-29
|Gift-Getting Season
|See ''[[It's the Easter Beagle, Charlie Brown]]''<ref>{{Cite AV media |url=https://www.imdb.com/title/tt0071679/quotes/ |title=It's the Easter Beagle, Charlie Brown! (TV Short 1974) - Quotes - IMDb |language=en-US |access-date=2024-04-08 |via=www.imdb.com}}</ref>
|<ref>{{Cite web |title=R 2.14.2 is released + R anniversary |url=https://stat.ethz.ch/pipermail/r-announce/2012/000550.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|2.14.1
|2011-12-22
|December Snowflakes
|<ref>{{Cite web |last=McGough |first=Nellah Bailey |date=2023-01-20 |title=Our Favorite Quotes and Sayings from "A Charlie Brown Christmas" |url=https://www.southernliving.com/culture/charlie-brown-christmas-quotes |access-date=2024-04-08 |website=Southern Living |language=en}}</ref>
|<ref>{{Cite web |title=R 2.14.1 is released |url=https://stat.ethz.ch/pipermail/r-announce/2011/000548.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|2.14.0
|2011-10-31
|Great Pumpkin
|See ''[[It's the Great Pumpkin, Charlie Brown]]''<ref>{{Cite web |last=Schulz |first=Charles |date=1973-10-29 |title=Peanuts by Charles Schulz for October 29, 1973 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1973/10/29 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref>{{Cite web |title=R 2.14.0 is released |url=https://stat.ethz.ch/pipermail/r-announce/2011/000544.html |access-date=2024-04-07 |website=stat.ethz.ch}}</ref>
|-
|r-devel
|N/A
|Unsuffered Consequences
|<ref>{{Cite web |last=Schulz |first=Charles |date=1967-08-17 |title=Peanuts by Charles Schulz for August 17, 1967 {{!}} GoComics.com |url=https://www.gocomics.com/peanuts/1967/08/17 |access-date=2024-04-07 |website=GoComics |language=en}}</ref>
|<ref name=":2" />
|}
 
== Interfaces ==
{{Gallery
|title=Examples of user interfaces for R
|width=160 | height=150 |noborder=yes
|align=center
|footer=
|File:RKWard_screenshot.png
|Screenshot of the RKWard front-end running on the KDE 4 environment
|alt1=
|File:RinEmacswithESS.png
|R running in the emacs editor with the ESS package
|alt2=
|File:RStudio 2023.12.1 Build 402 (256-135).png
|[[RStudio]] [[integrated development environment]] (IDE)
|mode=packed}}
 
R is installed with a [[Command-line interface|command line console]] by default, but there are multiple ways to interface with the language:
 
* [[Integrated development environment|Integrated development environment (IDE)]]:
** R.app<ref>{{Cite web |title=R for macOS |url=https://cran.r-project.org/bin/macosx/ |access-date=2024-09-05 |website=cran.r-project.org}}</ref> (OSX/[[macOS]] only)
** [[Rattle GUI]]
** [[R Commander]]
** [[RKWard]]
** [[RStudio]]
** Tinn-R<ref>{{Cite web |title=IDE/Editor para Linguagem R {{!}} Tinn-R - Home |url=https://tinn-r.org/en/ |access-date=2024-09-05 |website=Tinn-R |language=pt-br}}</ref>
* General-purpose IDEs:
** [[Eclipse (software)|Eclipse]] via the [https://marketplace.eclipse.org/content/statet-r/ StatET plugin]
** [[Microsoft Visual Studio|Visual Studio]] via [[R Tools for Visual Studio]].
* [[Source-code editor]]s:
** [[Emacs Speaks Statistics|Emacs]]
** [[Vim (text editor)|Vim]] via the [https://www.vim.org/scripts/script.php?script_id=2628 Nvim-R plugin]
** [[Kate (text editor)|Kate]]
** [[LyX]] via [[Sweave]]
** [[WinEdt]] ([https://cran.r-project.org/package=RWinEdt website])
** [[Jupyter]] ([https://docs.anaconda.com/anaconda/navigator/tutorials/r-lang/ website])
* Other [[scripting language]]s:
** [[Python (programming language)|Python]] ([https://rpy2.github.io website])
** [[Perl]] ([https://metacpan.org/module/Statistics::R website])
** [[Ruby (programming language)|Ruby]] ([https://github.com/alexgutteridge/rsruby source code])
** [[F Sharp (programming language)|F#]] ([https://bluemountaincapital.github.io/FSharpRProvider/ website])
** [[Julia (programming language)|Julia]] ([https://github.com/JuliaInterop/RCall.jl source code]).
* General-purpose programming languages:
** [[Java (programming language)|Java]] via the [https://cran.r-project.org/web/packages/Rserve/index.html Rserve socket server]
** [[C Sharp (programming language)|.NET C#]] ([https://rdotnet.github.io/rdotnet/ website])
 
Statistical frameworks that use R in the background include [[Jamovi]] and [[JASP]].{{citation needed|date=March 2025}}
 
== Implementations ==
The main R implementation is written primarily in [[C (programming language)|C]], [[Fortran]], and [[Self-hosting (compilers)|R itself]]. Other implementations include the following:
* [http://www.pqr-project.org pretty quick R] (pqR), by [[Radford M. Neal]], which attempts to improve [[memory management]].
* [[Renjin]] for the [[Java virtual machine|Java Virtual Machine]].
* [https://www.cs.kent.ac.uk/projects/cxxr CXXR] and Riposte<ref>{{cite book
|last1=Talbot
|first1=Justin
|last2=DeVito
|first2=Zachary
|last3=Hanrahan
|first3=Pat
|title=Proceedings of the 21st international conference on Parallel architectures and compilation techniques
|chapter=Riposte: A trace-driven compiler and parallel VM for vector code in R
|date=1 January 2012
|pages=43–52
|doi=10.1145/2370816.2370825
|publisher=ACM
|isbn=9781450311823
|s2cid=1989369}}</ref> written in [[C++]].
* [[Oracle Corporation|Oracle's]] [https://github.com/oracle/fastr FastR] built on [https://www.graalvm.org/ GraalVM].
* [[TIBCO Software|TIBCO]] Enterprise Runtime for R (TERR) to integrate with [[Spotfire]].<ref>Jackson, Joab (16 May 2013). [https://www.pcworld.com/article/2038944/tibco-offers-free-r-to-the-enterprise.html TIBCO offers free R to the enterprise]. ''PC World''. Retrieved 20 July 2015.</ref> (The company also created [[S-PLUS|S-Plus]], an implementation of the S language.)
 
Microsoft R Open (MRO) was an R implementation. As of 30 June 2021, Microsoft began to phase out MRO in favor of the CRAN distribution.<ref>{{cite web
|title=Looking to the future for R in Azure SQL and SQL Server
|date=30 June 2021
|access-date=7 November 2021
|url= https://cloudblogs.microsoft.com/sqlserver/2021/06/30/looking-to-the-future-for-r-in-azure-sql-and-sql-server/}}</ref>
 
== Commercial support ==
{{anchor|Commercialised versions of R|Commercialized versions of R}} <!--used in https://cran.r-project.org/doc/FAQ/R-FAQ.html#What-is-R_002dplus_003f-->
 
Although R is an [[open-source]] project, some companies provide commercial support:
* [[Oracle Corporation|Oracle]] provides commercial support for its [[Oracle Big Data Appliance|Big Data Appliance]], which integrates R into its other products.
* [[IBM]] provides commercial support for execution of R within [[Hadoop]].
 
== See also ==
* [[Comparison of numerical-analysis software]]
* [[Comparison of statistical packages]]
* [[List of numerical-analysis software]]
* [[List of statistical software]]
* [[Rmetrics]]
 
==Notes==
{{Notelist}}
 
== References ==
{{reflist}}
 
== Further reading ==
* {{Cite book |last1=Wickham |first1=Hadley |url=https://r4ds.hadley.nz/ |title=R for data science: import, tidy, transform, visualize, and model data |last2=Çetinkaya-Rundel |first2=Mine |last3=Grolemund |first3=Garrett |date=2023 |publisher=[[O'Reilly Media|O'Reilly]] |isbn=978-1-4920-9740-2 |edition=2nd |___location=Beijing Boston Farnham Sebastopol Tokyo}}
* {{Cite book |last=Gagolewski |first=Marek |year=2024 |isbn=978-0-6455719-2-9 |title=Deep R Programming |url=https://zenodo.org/record/7490464 |language=en |doi=10.5281/ZENODO.7490464}}
 
== External links ==
* [https://developer.r-project.org/TechDocs/ R Technical Papers]
* [https://www.bigbookofr.com/ Big Book of R], curated list of R-related programming books
* [https://www.r-project.org/doc/bib/R-books.html Books Related to R - R Project], partially annotated curated list of books relating to R or S.
 
{{R (programming language)}}
{{GNU}}
{{Numerical analysis software}}
{{Statistical software}}
{{Programming languages}}
 
{{Portal bar|Computer programming}}
 
{{Authority control}}
 
[[Category:R (programming language)| ]]
[[Category:Array programming languages]]
[[Category:Cross-platform free software]]
[[Category:Data mining and machine learning software]]
[[Category:Data-centric programming languages]]
[[Category:Dynamically typed programming languages]]
[[Category:Free plotting software]]
[[Category:Free statistical software]]
[[Category:Functional languages]]
[[Category:GNU Project software]]
[[Category:Literate programming]]
[[Category:Numerical analysis software for Linux]]
[[Category:Numerical analysis software for macOS]]
[[Category:Numerical analysis software for Windows]]
[[Category:Programming languages created in 1993]]
[[Category:Science software]]
[[Category:Statistical programming languages]]
[[Category:Articles with example R code]]