Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
R (programming language)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Technical|introduction|date=May 2025}} {{Short description|Programming language for statistics}} {{About|the programming language|the eighteenth letter of the English alphabet|R|other uses|R (disambiguation)}} {{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 = R terminal | 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>}} }} '''R''' is a [[programming language]] for [[statistical computing]] and [[Data and information visualization|data visualization]]. It has been adopted in the [[Academic discipline|fields]] of [[data mining]], [[bioinformatics]] and [[data analysis]]/[[data science]].<ref>{{Cite journal |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 augmented by a large number of [[R package|extension software packages]], which contain [[Reusability|reusable code]], documentation, and sample data. ''R'' software is [[Open source|open-source]] and [[free software]]. R is a [[GNU Project]] and licensed 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> It is written primarily in [[C (programming language)|C]], [[Fortran]], and [[Self-hosting (compilers)|R itself]]. [[Preprocessor|Precompiled]] [[executable]]s are provided for various [[operating system]]s. As an [[interpreted language]], ''R'' has a native [[command line interface]]. Moreover, multiple [[Third-party software component|third-party]] [[graphical user interface]]s are available, such as [[RStudio]]—an [[integrated development environment]]—and [[Jupyter]]—a [[notebook interface]]. == History == {{Gallery |title=Co-originators of the R language |width=160 | height=170 |noborder=yes |align=center |footer= |File:Ross Ihaka (5189180796).jpg |Ross Ihaka |alt1= |File:Robert Gentleman on R Consortium.jpg |Robert Gentleman |alt2= }} ''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 as well as the shared first letter of the authors, Ross and Robert.<ref>{{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#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]] 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 == {{Main|R package}} [[File:Ggplot2 PlantGrowth violin plot.svg|alt=refer to caption|thumb|[[Violin plot]] created from the R visualization package [[ggplot2]]]] [[R package]]s are collections of functions, documentation, and data that expand R.<ref name="rds_pagexvii">{{cite book | last1 = Wickham | first1 = Hadley | 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 like [[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 the capability to implement 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]]). Perceived easy package installation and usability 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, base packages provide the basic 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 R package is the [[tidyverse]] package, which bundles several subsidiary packages to provide a [[User experience|common interface]]. It 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'' package:<ref name="rds" /> <syntaxhighlight lang="rout"> > install.packages("tidyverse") </syntaxhighlight> To load the functions, data, and documentation of a package, one executes the <code>library()</code> function. To load ''tidyverse'':{{efn|This displays to [[Standard streams|standard error]] a listing of all the packages that ''tidyverse'' depends upon. It may also display warnings showing namespace conflicts, which may typically be ignored.}} <syntaxhighlight lang="rout"> > # Package name can be enclosed in quotes > library("tidyverse") > # But also the package name can be called 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" /> Its 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 three [[Mirror site|mirroring sites]] and twelve contributed packages.<ref>{{cite Q|Q101068595}}<!-- Announce: CRAN -->.</ref> {{As of|2024|10|16}}, it has 99 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 21,513 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 on [[Repository (version control)|repositories]] like 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> On the CRAN web site as a form of guidance, [https://cran.r-project.org/web/views/ Task Views] lists packages on CRAN that are relevant for tasks related to a certain topics, such as [[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 == 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]] which features short to medium-length articles on the use and development of R. It includes articles on packages, programming tips, CRAN news, and foundation news. The R community hosts many conferences and in-person meetups.{{efn|See here for a community maintained GitHub list {{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.org/ website]) * R Conference ([https://rstats.ai/ website]) * posit::conf (formerly known as rstudio::conf) ([https://www.posit.co/conference/ website]) On social media sites like Twitter, the hashtag <code>#rstats</code> can be used to keep up with 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]] |year=2017 |isbn=978-1491910399 |edition=1st |language=en}}</ref> == Examples == === Hello, World! === [["Hello, World!" program]]: <syntaxhighlight lang="rout">> print("Hello, World!") [1] "Hello, World!"</syntaxhighlight>Alternatively:<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 R 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 # Create 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 turns 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 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 data.frame 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 new_df 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 data.frame column Z can be accessed using $Z, ['Z'], or [3] syntax and the values are the same. [1] TRUE > attributes(new_df) # Print attributes information about the new_df object $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; can also be done using rownames() > 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]] to add new functionality for 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|only accessible]] 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> Example of creating a function to perform some arithmetic calculation: <syntaxhighlight lang="r"># The input parameters are x and y. # The function, being 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, could be replaced with simply `z`. return(z) } # Alternatively, the last statement executed is implicitly returned. f <- function(x, y) 3 * x + 4 * y</syntaxhighlight> Usage output: <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]] with 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 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 one after another, instead of a nested function call. <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> Another alternative to nested functions, in contrast to using the pipe character, is using intermediate objects: <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, it has been advised to pipe together at most 10 to 15 lines and chunk code into [[Task (project management)|sub-tasks]] which are saved into objects with meaningful names.<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> Here is an example with fewer than 10 lines that some readers may still struggle to grasp without intermediate named steps:<syntaxhighlight lang="r" line="1">(\(x, n = 42, key = c(letters, LETTERS, " ", ":", ")")) strsplit(x, "")[[1]] |> (Vectorize(\(chr) which(chr == key) - 1))() |> (`+`)(n) |> (`%%`)(length(key)) |> (\(i) key[i + 1])() |> paste(collapse = "") )("duvFkvFksnvEyLkHAErnqnoyr")</syntaxhighlight> === 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 by just setting a "class" attribute in each object. The latter is a [[CLOS|Common Lisp Object System (CLOS)-like system]] of formal classes (also derived from [[S (programming language)#S4|S]]) and generic methods that 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, <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 from plotting "model" (q.v. "plot.lm()" function). Notice the mathematical notation allowed in labels (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> Output: <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|"Mandelbrot.gif" graphic created in R. (Note: Colors differ from actual output.)]] This [[Mandelbrot set]] example 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]]. Install the package that provides the <code>write.gif()</code> function beforehand: <syntaxhighlight lang="r"> install.packages("caTools") </syntaxhighlight> R Source code: <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|CD of R Version 1.0.0, autographed by the core team of R, photographed R 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: * Version 1.0.0 released on 29 February 2000 (2000-02-29), a [[Leap days|leap day]] * Version 2.0.0 released on 4 October 2004 (2004-10-04), "which at least had a nice ring to it"<ref name=":2" /> The idea of naming R version releases was inspired by the [[Debian version history|Debian]] and [[Ubuntu version history|Ubuntu]] version naming system. Dalgaard also noted that another reason for the use of Peanuts references for R codenames is because, "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.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=New York : Penguin Workshop |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 == R comes installed with a [[Command-line interface|command line console]], but it is not the only way to interface with R. * By [[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> * By 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]]. * By [[Source-code editor|source-code editors]]: ** [[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]) * By 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]). * By 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 which use R in the background include [[Jamovi]] and [[JASP]].{{fact|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: * [http://www.pqr-project.org pretty quick R] (pqR), by [[Radford M. Neal]], attempts to improve [[memory management]]. * [[Renjin]] is an implementation of ''R'' 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> are implementations of ''R'' written in [[C++]]. * [[Oracle Corporation|Oracle's]] [https://github.com/oracle/fastr FastR] is an implementation of ''R'', built on [https://www.graalvm.org/ GraalVM]. * [[TIBCO Software]], creator of [[S-PLUS]], wrote TERR — an ''R'' implementation to integrate with [[Spotfire]].<ref>Jackson, Joab (16 May 2013). [http://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> Microsoft R Open (MRO) was an ''R'' implementation. As of 30 June 2021, Microsoft started 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 the ''[[Oracle Big Data Appliance|Big Data Appliance]]'', which integrates R into its other products. * [[IBM]] provides commercial support for in-[[Hadoop]] execution of R. == 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]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:Ambox
(
edit
)
Template:Anchor
(
edit
)
Template:As of
(
edit
)
Template:Authority control
(
edit
)
Template:Citation
(
edit
)
Template:Cite AV media
(
edit
)
Template:Cite Q
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Efn
(
edit
)
Template:Fact
(
edit
)
Template:GNU
(
edit
)
Template:Gallery
(
edit
)
Template:Infobox programming language
(
edit
)
Template:Main
(
edit
)
Template:Notelist
(
edit
)
Template:Numerical analysis software
(
edit
)
Template:Page needed
(
edit
)
Template:Portal bar
(
edit
)
Template:Programming languages
(
edit
)
Template:R (programming language)
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Statistical software
(
edit
)
Template:Technical
(
edit
)
Template:Use dmy dates
(
edit
)