R (programming language)
![]() | |
![]() R terminal | |
Paradigms | Multi-paradigm: procedural, object-oriented, functional, reflective, imperative, array[1] |
---|---|
Designed by | Ross Ihaka and Robert Gentleman |
Developer | R Core Team |
First appeared | August 1993 |
Stable release | 4.4.1[2] ![]() |
Typing discipline | Dynamic |
Platform | arm64 and x86-64 |
License | GPL-2.0-or-later[3] |
Filename extensions | |
Website | www |
Influenced by | |
Influenced | |
Julia[7] pandas[8] | |
|
R is a programming language for statistical computing and data visualization. It has been adopted in the fields of data mining, bioinformatics, and data analysis.[9]
The core R language is augmented by a large number of extension packages, containing reusable code, documentation, and sample data.
R software is open-source and free software. It is licensed by the GNU Project and available under the GNU General Public License.[3] It is written primarily in C, Fortran, and R itself. Precompiled executables are provided for various operating systems.
As an interpreted language, R has a native command line interface. Moreover, multiple third-party graphical user interfaces are available, such as RStudio—an integrated development environment—and Jupyter—a notebook interface.
History
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Ross_Ihaka_%285189180796%29.jpg/220px-Ross_Ihaka_%285189180796%29.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Robert_Gentleman_on_R_Consortium.jpg/170px-Robert_Gentleman_on_R_Consortium.jpg)
R was started by professors Ross Ihaka and Robert Gentleman as a programming language to teach introductory statistics at the University of Auckland.[10] The language was inspired by the S programming language, with most S programs able to run unaltered in R.[6] The language was also inspired by Scheme's lexical scoping, allowing for local variables.[1]
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.[11] In August 1993, Ihaka and Gentleman posted a binary of R on StatLib — a data archive website. At the same time, they announced the posting on the s-news mailing list.[12] On December 5, 1997, R became a GNU project when version 0.60 was released.[13] On February 29, 2000, the first official 1.0 version was released.[14]
Packages
[edit]![refer to caption](http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Ggplot2_Violin_Plot.png/220px-Ggplot2_Violin_Plot.png)
R packages are collections of functions, documentation, and data that expand R.[15] For example, packages add report features such as RMarkdown, Quarto, knitr and Sweave. Easy package installation and use have contributed to the language's adoption in data science.[16]
Base packages are immediately available when starting R and provide the necessary syntax and commands for programming, computing, graphics production, basic arithmetic, and statistical functionality.[17]
The Comprehensive R Archive Network (CRAN) was founded in 1997 by Kurt Hornik and Fritz Leisch to host R's source code, executable files, documentation, and user-created packages.[18] Its name and scope mimic the Comprehensive TeX Archive Network and the Comprehensive Perl Archive Network.[18] CRAN originally had three mirrors and 12 contributed packages.[19] As of June 2024, it has 104 mirrors[20] and 20,853 contributed packages.[21] Packages are also available on repositories R-Forge, Omegahat, and GitHub.
The Task Views on the CRAN website lists packages in fields such as finance, genetics, high-performance computing, machine learning, medical imaging, meta-analysis, social sciences, and spatial statistics.
The Bioconductor project provides packages for genomic data analysis, complementary DNA, microarray, and high-throughput sequencing methods.
Packages add the capability to implement various statistical techniques such as linear, generalized linear and nonlinear modeling, classical statistical tests, spatial analysis, time-series analysis, and clustering.
An example package is the tidyverse package. Its focus is having a common interface around accessing and processing data contained in a data frame data structure, a two-dimensional table of rows and columns called "tidy data".[22] Each function in the package is designed to couple together all the other functions in the package.[23]
Installing a package occurs only once. To install tidyverse:[23]
> install.packages("tidyverse")
To instantiate the functions, data, and documentation of a package, execute the library()
function. To instantiate tidyverse:[a]
> library(tidyverse)
Interfaces
[edit]R comes installed with a command line console. Available for installation are various integrated development environments (IDE). IDEs for R include R.app (OSX/macOS only), Rattle GUI, R Commander, RKWard, RStudio, and Tinn-R.
General purpose IDEs that support R include Eclipse via the StatET plugin and Visual Studio via R Tools for Visual Studio.
Editors that support R include Emacs, Vim via the Nvim-R plugin, Kate, LyX via Sweave, WinEdt (website), and Jupyter (website).
Scripting languages that support R include Python (website), Perl (website), Ruby (source code), F# (website), and Julia (source code).
General purpose programming languages that support R include Java via the Rserve socket server, and .NET C# (website).
Statistical frameworks which use R in the background include Jamovi and JASP.
Community
[edit]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. These groups include:
- UseR!: an annual international R user conference (website)
- Directions in Statistical Computing (DSC) (website)
- R-Ladies: an organization to promote gender diversity in the R community (website)
- SatRdays: R-focused conferences held on Saturdays (website)
- R Conference (website)
- posit::conf (formerly known as rstudio::conf) (website)
Implementations
[edit]The main R implementation is written primarily in C, Fortran, and R itself. Other implementations include:
- pretty quick R (pqR), by Radford M. Neal, attempts to improve memory management.
- Renjin is an implementation of R for the Java Virtual Machine.
- CXXR and Riposte[24] are implementations of R written in C++.
- Oracle's FastR is an implementation of R, built on GraalVM.
- TIBCO Software, creator of S-PLUS, wrote TERR — an R implementation to integrate with Spotfire.[25]
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.[26]
Commercial support
[edit]
Although R is an open-source project, some companies provide commercial support:
- Revolution Analytics provides commercial support for Revolution R.
- Oracle provides commercial support for the Big Data Appliance, which integrates R into its other products.
- IBM provides commercial support for in-Hadoop execution of R.
Examples
[edit]Hello, World!
[edit]> print("Hello, World!") [1] "Hello, World!"
Basic syntax
[edit]The following examples illustrate the basic syntax of the language and use of the command-line interface. (An expanded list of standard language features can be found in the R manual, "An Introduction to R".[27])
In R, the generally preferred assignment operator is an arrow made from two characters <-
, although =
can be used in some cases.[28]
> 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
Structure of a function
[edit]One of R's strengths is the ease of creating new functions.[29] Objects in the function body remain local to the function, and any data type may be returned. In R, almost all functions and all user-defined functions are closures.[30]
Create a function:
# The input parameters are x and y. # The function 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) }
Usage output:
> f(1, 2) [1] 11 > f(c(1, 2, 3), c(5, 3, 4)) [1] 23 18 25 > f(1:3, 4) [1] 19 22 25
It is possible to define functions to be used as infix operators with the special syntax `%name%`
where "name" is the function variable name:
> `%sumx2y2%` <- function(e1, e2) {e1 ^ 2 + e2 ^ 2} > 1:3 %sumx2y2% -(1:3) [1] 2 8 18
Since version 4.1.0 functions can be written in a short notation, which is useful for passing anonymous functions to higher-order functions:[31]
> sapply(1:5, \(i) i^2) # here \(i) is the same as function(i) [1] 1 4 9 16 25
Native pipe operator
[edit]In R version 4.1.0, a native pipe operator, |>
, was introduced.[32] This operator allows users to chain functions together one after another, instead of a nested function call.
> nrow(subset(mtcars, cyl == 4)) # Nested without the pipe character [1] 11 > mtcars |> subset(cyl == 4) |> nrow() # Using the pipe character [1] 11
Another alternative to nested functions, in contrast to using the pipe character, is using intermediate objects. However, some argue that using the pipe operator will produce code that is easier to read.[23]
> mtcars_subset_rows <- subset(mtcars, cyl == 4) > num_mtcars_subset <- nrow(mtcars_subset_rows) > print(num_mtcars_subset) [1] 11
Object-oriented programming
[edit]The R language has native support for object-oriented programming. There are two native 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 Common Lisp Object System (CLOS)-like system of formal classes (also derived from S) and generic methods that supports multiple dispatch and multiple inheritance[33]
In the example, summary
is a generic function that dispatches to different methods depending on whether its argument is a numeric vector or a "factor":
> 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
Modeling and plotting
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Plots_from_lm_example.svg/200px-Plots_from_lm_example.svg.png)
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.
# 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)
Output:
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
Mandelbrot set
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Mandelbrot_Creation_Animation.gif/200px-Mandelbrot_Creation_Animation.gif)
This Mandelbrot set example highlights the use of complex numbers. It models the first 20 iterations of the equation z = z2 + c
, where c
represents different complex constants.
Install the package that provides the write.gif()
function beforehand:
install.packages("caTools")
R Source code:
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)
Version names
[edit]![A CD with autographs on it](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/CD_of_R_1_0_0.png/180px-CD_of_R_1_0_0.png)
All R version releases from 2.14.0 onward have codenames that make reference to Peanuts comics and films.[34][35][36]
In 2018, core R developer Peter Dalgaard presented a history of R releases since 1997.[37] Some notable early releases before the named releases include:
- Version 1.0.0 released on February 29, 2000 (2000-02-29), a leap day
- Version 2.0.0 released on October 4, 2004 (2004-10-04), "which at least had a nice ring to it"[37]
The idea of naming R version releases was inspired by the Debian and 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-nut".[37]
Version | Release date | Name | Peanuts reference | Reference |
---|---|---|---|---|
4.4.1 | 2024-06-14 | Race for Your Life | [38] | [39] |
4.4.0 | 2024-04-24 | Puppy Cup | [40] | [41] |
4.3.3 | 2024-02-29 | Angel Food Cake | [42] | [43] |
4.3.2 | 2023-10-31 | Eye Holes | [44] | [45] |
4.3.1 | 2023-06-16 | Beagle Scouts | [46] | [47] |
4.3.0 | 2023-04-21 | Already Tomorrow | [48][49][50] | [51] |
4.2.3 | 2023-03-15 | Shortstop Beagle | [52] | [53] |
4.2.2 | 2022-10-31 | Innocent and Trusting | [54] | [55] |
4.2.1 | 2022-06-23 | Funny-Looking Kid | [56][57][58][59][60][61] | [62] |
4.2.0 | 2022-04-22 | Vigorous Calisthenics | [63] | [64] |
4.1.3 | 2022-03-10 | One Push-Up | [63] | [65] |
4.1.2 | 2021-11-01 | Bird Hippie | [66][67] | [65] |
4.1.1 | 2021-08-10 | Kick Things | [68] | [69] |
4.1.0 | 2021-05-18 | Camp Pontanezen | [70] | [71] |
4.0.5 | 2021-03-31 | Shake and Throw | [72] | [73] |
4.0.4 | 2021-02-15 | Lost Library Book | [74][75][76] | [77] |
4.0.3 | 2020-10-10 | Bunny-Wunnies Freak Out | [78] | [79] |
4.0.2 | 2020-06-22 | Taking Off Again | [80] | [81] |
4.0.1 | 2020-06-06 | See Things Now | [82] | [83] |
4.0.0 | 2020-04-24 | Arbor Day | [84] | [85] |
3.6.3 | 2020-02-29 | Holding the Windsock | [86] | [87] |
3.6.2 | 2019-12-12 | Dark and Stormy Night | See It was a dark and stormy night#Literature[88] | [89] |
3.6.1 | 2019-07-05 | Action of the Toes | [90] | [91] |
3.6.0 | 2019-04-26 | Planting of a Tree | [92] | [93] |
3.5.3 | 2019-03-11 | Great Truth | [94] | [95] |
3.5.2 | 2018-12-20 | Eggshell Igloos | [96] | [97] |
3.5.1 | 2018-07-02 | Feather Spray | [98] | [99] |
3.5.0 | 2018-04-23 | Joy in Playing | [100] | [101] |
3.4.4 | 2018-03-15 | Someone to Lean On | [102][better source needed] | [103] |
3.4.3 | 2017-11-30 | Kite-Eating Tree | See Kite-Eating Tree[104] | [105] |
3.4.2 | 2017-09-28 | Short Summer | See It Was a Short Summer, Charlie Brown | [106] |
3.4.1 | 2017-06-30 | Single Candle | [107] | [108] |
3.4.0 | 2017-04-21 | You Stupid Darkness | [107] | [109] |
3.3.3 | 2017-03-06 | Another Canoe | [110] | [111] |
3.3.2 | 2016-10-31 | Sincere Pumpkin Patch | [112] | [113] |
3.3.1 | 2016-06-21 | Bug in Your Hair | [114] | [115] |
3.3.0 | 2016-05-03 | Supposedly Educational | [116] | [117] |
3.2.5 | 2016-04-11 | Very, Very Secure Dishes | [118] | [119][120][121] |
3.2.4 | 2016-03-11 | Very Secure Dishes | [118] | [122] |
3.2.3 | 2015-12-10 | Wooden Christmas-Tree | See A Charlie Brown Christmas[123] | [124] |
3.2.2 | 2015-08-14 | Fire Safety | [125][126] | [127] |
3.2.1 | 2015-06-18 | World-Famous Astronaut | [128] | [129] |
3.2.0 | 2015-04-16 | Full of Ingredients | [130] | [131] |
3.1.3 | 2015-03-09 | Smooth Sidewalk | [132][page needed] | [133] |
3.1.2 | 2014-10-31 | Pumpkin Helmet | See You're a Good Sport, Charlie Brown | [134] |
3.1.1 | 2014-07-10 | Sock it to Me | [135][136][137][138] | [139] |
3.1.0 | 2014-04-10 | Spring Dance | [90] | [140] |
3.0.3 | 2014-03-06 | Warm Puppy | [141] | [142] |
3.0.2 | 2013-09-25 | Frisbee Sailing | [143] | [144] |
3.0.1 | 2013-05-16 | Good Sport | [145] | [146] |
3.0.0 | 2013-04-03 | Masked Marvel | [147] | [148] |
2.15.3 | 2013-03-01 | Security Blanket | [149] | [150] |
2.15.2 | 2012-10-26 | Trick or Treat | [151] | [152] |
2.15.1 | 2012-06-22 | Roasted Marshmallows | [153] | [154] |
2.15.0 | 2012-03-30 | Easter Beagle | [155] | [156] |
2.14.2 | 2012-02-29 | Gift-Getting Season | See It's the Easter Beagle, Charlie Brown[157] | [158] |
2.14.1 | 2011-12-22 | December Snowflakes | [159] | [160] |
2.14.0 | 2011-10-31 | Great Pumpkin | See It's the Great Pumpkin, Charlie Brown[161] | [162] |
r-devel | N/A | Unsuffered Consequences | [163] | [37] |
See also
[edit]- Comparison of numerical-analysis software
- Comparison of statistical packages
- List of numerical-analysis software
- List of statistical software
- Rmetrics
Further reading
[edit]- Wickham, Hadley; Çetinkaya-Rundel, Mine; Grolemund, Garrett (2023). R for data science: import, tidy, transform, visualize, and model data (2nd ed.). Beijing Boston Farnham Sebastopol Tokyo: O'Reilly. ISBN 978-1-4920-9740-2.
- Gagolewski, Marek (2024). Deep R Programming. doi:10.5281/ZENODO.7490464. ISBN 978-0-6455719-2-9.
Portal
[edit]Notes
[edit]- ^ This displays to standard error a listing of all the packages that tidyverse depends upon. It may also display warnings showing two namespace conflicts, which may typically be ignored.
External links
[edit]- R Technical Papers
- Free Software Foundation
- R FAQ
- Big Book of R, curated list of R-related programming books
- Books Related to R - R Project, partially annotated list of books that are related to S or R and may be useful to the R user community
References
[edit]- ^ a b c Morandat, Frances; Hill, Brandon; Osvald, Leo; Vitek, Jan (11 June 2012). "Evaluating the design of the R language: objects and functions for data analysis". European Conference on Object-Oriented Programming. 2012: 104–131. doi:10.1007/978-3-642-31057-7_6. Retrieved 17 May 2016 – via SpringerLink.
- ^ Peter Dalgaard (14 June 2024). "R 4.4.1 is released". Retrieved 15 June 2024.
- ^ a b "R - Free Software Directory". directory.fsf.org. Retrieved 26 January 2024.
- ^ "R scripts". mercury.webster.edu. Retrieved 17 July 2021.
- ^ "R Data Format Family (.rdata, .rda)". Loc.gov. 9 June 2017. Retrieved 17 July 2021.
- ^ a b Hornik, Kurt; The R Core Team (12 April 2022). "R FAQ". The Comprehensive R Archive Network. 3.3 What are the differences between R and S?. Archived from the original on 28 December 2022. Retrieved 27 December 2022.
- ^ "Introduction". The Julia Manual. Archived from the original on 20 June 2018. Retrieved 5 August 2018.
- ^ "Comparison with R". pandas Getting started. Retrieved 15 July 2024.
- ^ Giorgi, Federico M.; Ceraolo, Carmine; Mercatelli, Daniele (27 April 2022). "The R Language: An Engine for Bioinformatics and Data Science". Life. 12 (5): 648. Bibcode:2022Life...12..648G. doi:10.3390/life12050648. PMC 9148156. PMID 35629316.
- ^ Ihaka, Ross. "The R Project: A Brief History and Thoughts About the Future" (PDF). p. 12. Archived (PDF) from the original on 28 December 2022. Retrieved 27 December 2022.
We set a goal of developing enough of a language to teach introductory statistics courses at Auckland.
- ^ Hornik, Kurt; The R Core Team (12 April 2022). "R FAQ". The Comprehensive R Archive Network. 2.13 What is the R Foundation?. Archived from the original on 28 December 2022. Retrieved 28 December 2022.
- ^ Ihaka, Ross. "R: Past and Future History" (PDF). p. 4. Archived (PDF) from the original on 28 December 2022. Retrieved 28 December 2022.
- ^ Ihaka, Ross (5 December 1997). "New R Version for Unix". stat.ethz.ch. Archived from the original on 12 February 2023. Retrieved 12 February 2023.
- ^ Ihaka, Ross. "The R Project: A Brief History and Thoughts About the Future" (PDF). p. 18. Archived (PDF) from the original on 28 December 2022. Retrieved 27 December 2022.
- ^ Wickham, Hadley; Cetinkaya-Rundel, Mine; Grolemund, Garrett (2023). R for Data Science, Second Edition. O'Reilly. p. xvii. ISBN 978-1-492-09740-2.
- ^ Chambers, John M. (2020). "S, R, and Data Science". The R Journal. 12 (1): 462–476. doi:10.32614/RJ-2020-028. ISSN 2073-4859.
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.
- ^ Davies, Tilman M. (2016). "Installing R and Contributed Packages". The Book of R: A First Course in Programming and Statistics. San Francisco, California: No Starch Press. p. 739. ISBN 9781593276515.
- ^ a b Hornik, Kurt (2012). "The Comprehensive R Archive Network". WIREs Computational Statistics. 4 (4): 394–398. doi:10.1002/wics.1212. ISSN 1939-5108. S2CID 62231320.
- ^ Kurt Hornik (23 April 1997). "Announce: CRAN". r-help. Wikidata Q101068595..
- ^ "The Status of CRAN Mirrors". cran.r-project.org. Retrieved 30 December 2022.
- ^ "CRAN - Contributed Packages". cran.r-project.org. Retrieved 29 December 2022.
- ^ Wickham, Hadley (2014). "Tidy Data" (PDF). Journal of Statistical Software. 59 (10). doi:10.18637/jss.v059.i10.
- ^ a b c Wickham, Hadley; Cetinkaya-Rundel, Mine; Grolemund, Garrett (2023). R for Data Science, Second Edition. O'Reilly. ISBN 978-1-492-09740-2.
- ^ Talbot, Justin; DeVito, Zachary; Hanrahan, Pat (1 January 2012). "Riposte: A trace-driven compiler and parallel VM for vector code in R". Proceedings of the 21st international conference on Parallel architectures and compilation techniques. ACM. pp. 43–52. doi:10.1145/2370816.2370825. ISBN 9781450311823. S2CID 1989369.
- ^ Jackson, Joab (16 May 2013). TIBCO offers free R to the enterprise. PC World. Retrieved 20 July 2015.
- ^ "Looking to the future for R in Azure SQL and SQL Server". 30 June 2021. Retrieved 7 November 2021.
- ^ "An Introduction to R. Notes on R: A Programming Environment for Data Analysis and Graphics" (PDF). Retrieved 3 January 2021.
- ^ R Development Core Team. "Assignments with the = Operator". Retrieved 11 September 2018.
- ^ Kabacoff, Robert (2012). "Quick-R: User-Defined Functions". statmethods.net. Retrieved 28 September 2018.
- ^ Wickham, Hadley. "Advanced R - Functional programming - Closures". adv-r.had.co.nz.
- ^ "NEWS". r-project.org.
- ^ "R: R News". cran.r-project.org. Retrieved 14 March 2024.
- ^ "Class Methods". Retrieved 25 April 2024.
- ^ Monkman, Martin. Chapter 5 R Release Names | Data Science with R: A Resource Compendium.
- ^ McGowan, Lucy D’Agostino (28 September 2017). "R release names". livefreeordichotomize.com. Retrieved 7 April 2024.
- ^ r-hub/rversions, The R-hub project of the R Consortium, 29 February 2024, retrieved 7 April 2024
- ^ a b c d Dalgaard, Peter (15 July 2018). "What's in a name? 20 years of R release management" (video). YouTube. Retrieved 9 April 2024.
- ^ "Race for Your Life, Charlie Brown". IMDB. 3 August 1977. Retrieved 18 June 2024.
- ^ "R 4.4.1 is released". stat.ethz.ch. Retrieved 18 June 2024.
- ^ Schulz, Charles (29 June 1980). "Peanuts by Charles Schulz for June 29, 1980 | GoComics.com". GoComics. Retrieved 24 April 2024.
- ^ "R 4.4.0 is released". stat.ethz.ch. Retrieved 24 April 2024.
- ^ Schulz, Charles (29 June 1980). "Peanuts by Charles Schulz for June 29, 1980 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "R 4.3.3 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (31 October 1996). "Peanuts by Charles Schulz for October 31, 1996 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.3.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (28 April 1979). "Peanuts by Charles Schulz for April 28, 1979 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.3.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (13 June 1980). "Peanuts by Charles Schulz for June 13, 1980 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (16 June 1980). "Peanuts by Charles Schulz for June 16, 1980 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (26 November 1964). "Peanuts by Charles Schulz for November 26, 1964 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.3.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (30 March 2001). "Peanuts by Charles Schulz for March 30, 2001 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.2.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (30 October 1962). "Peanuts by Charles Schulz for October 30, 1962 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.2.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (22 November 1970). "Peanuts by Charles Schulz for November 22, 1970 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (29 July 1971). "Peanuts by Charles Schulz for July 29, 1971 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (25 September 1969). "Peanuts by Charles Schulz for September 25, 1969 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (13 October 1973). "Peanuts by Charles Schulz for October 13, 1973 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (8 February 1974). "Peanuts by Charles Schulz for February 08, 1974 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (8 January 1970). "Peanuts by Charles Schulz for January 08, 1970 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.2.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ a b Schulz, Charles (6 March 1967). "Peanuts by Charles Schulz for March 06, 1967 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.2.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ a b "[Rd] R 4.1.2 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (1 November 1967). "Peanuts by Charles Schulz for November 01, 1967 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (12 July 1967). "Peanuts by Charles Schulz for July 12, 1967 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ Schulz, Charles (17 May 1978). "Peanuts by Charles Schulz for May 17, 1978 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "[Rd] R 4.1.1 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (12 February 1986). "Peanuts by Charles Schulz for February 12, 1986 | GoComics.com". GoComics. Retrieved 8 April 2024.
- ^ "[Rd] R 4.1.0 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (30 July 1978). "Peanuts by Charles Schulz for July 30, 1978 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[Rd] R 4.0.5 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (2 March 1959). "Peanuts by Charles Schulz for March 02, 1959 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ Schulz, Charles (27 February 2006). "Peanuts by Charles Schulz for February 27, 2006 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ Schulz, Charles (13 March 1959). "Peanuts by Charles Schulz for March 13, 1959 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[Rd] R 4.0.4 scheduled for February 15". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (23 October 1972). "Peanuts by Charles Schulz for October 23, 1972 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[Rd] R 4.0.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (14 April 1962). "Peanuts by Charles Schulz for April 14, 1962 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 4.0.2 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (6 February 1962). "Peanuts by Charles Schulz for February 06, 1962 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 4.0.1 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (24 April 1970). "Peanuts by Charles Schulz for April 24, 1970 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 4.0.0 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (29 February 2000). "Peanuts by Charles Schulz for February 29, 2000 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.6.3 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (12 July 1965). "Peanuts by Charles Schulz for July 12, 1965 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.6.2 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ a b Schulz, Charles (22 March 1971). "Peanuts by Charles Schulz for March 22, 1971 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.6.1 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (3 March 1963). "Peanuts by Charles Schulz for March 03, 1963 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.6.0 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (11 March 1959). "Peanuts by Charles Schulz for March 11, 1959 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.5.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (25 January 1960). "Peanuts by Charles Schulz for January 25, 1960 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.5.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (9 March 1972). "Peanuts by Charles Schulz for March 09, 1972 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.5.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (27 January 1973). "Peanuts by Charles Schulz for January 27, 1973 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.5.0 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ https://collectpeanuts.com/Collection/ImagesW/Plaques/201405/IMG_4892.jpg [bare URL image file]
- ^ "R 3.4.4 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (19 February 1967). "Peanuts by Charles Schulz for February 19, 1967 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.4.3 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ "R 3.4.2 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ a b Schulz, Charles (9 September 1965). "Peanuts by Charles Schulz for September 09, 1965 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.4.1 is released". hypatia.math.ethz.ch. Retrieved 7 April 2024.
- ^ "R 3.4.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (29 June 1966). "Peanuts by Charles Schulz for June 29, 1966 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[R] R 3.3.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (30 October 1968). "Peanuts by Charles Schulz for October 30, 1968 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[R] R 3.3.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (15 June 1967). "Peanuts by Charles Schulz for June 15, 1967 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[R] R 3.3.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (7 May 1971). "Peanuts by Charles Schulz for May 07, 1971 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[R] R 3.3.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ a b Schulz, Charles (20 February 1964). "Peanuts by Charles Schulz for February 20, 1964 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "VERSION-NICK". Retrieved 7 April 2024.
- ^ "R 3.2.5 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ "R 3.2.4-revised is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ "R 3.2.4 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (18 December 1980). "Peanuts by Charles Schulz for December 18, 1980 | GoComics.com". GoComics. Retrieved 9 April 2024.
- ^ "R 3.2.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ MarketScreener (7 October 2008). "METLIFE : Brush Up on Fire Safety Basics -October 07, 2008 at 04:03 pm EDT | MarketScreener". www.marketscreener.com. Retrieved 7 April 2024.
- ^ "MetLife Advises People to Brush Up on Fire Safety Basics to Stay Safe". Claims Journal. 12 October 2005. Retrieved 7 April 2024.
- ^ "R 3.2.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (10 March 1969). "Peanuts by Charles Schulz for March 10, 1969 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[R] R 3.2.1 liftoff". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (7 April 1966). "Peanuts by Charles Schulz for April 07, 1966 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "[R] R 3.2.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles M. (2019). Happiness is a warm puppy. New York : Penguin Workshop. ISBN 978-1-5247-8995-4.
- ^ "R 3.1.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ "[R] R 3.1.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ https://i.ebayimg.com/images/g/9XoAAOSwI51iIBwR/s-l1600.webp [bare URL image file]
- ^ https://cdn11.bigcommerce.com/s-qc6bb7/images/stencil/1280x1280/products/11697/21379/pzl7274__10391.1456100538.jpg?c=2 [bare URL]
- ^ https://i.etsystatic.com/12512391/r/il/23f45c/5091663835/il_680x540.5091663835_dqpa.jpg [bare URL image file]
- ^ "Peanuts Springbok Puzzles".
- ^ "[R] R 3.1.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ "[R] R 3.1.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (11 January 1965). "Peanuts by Charles Schulz for January 11, 1965 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.0.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (3 September 1971). "Peanuts by Charles Schulz for September 03, 1971 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.0.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (22 November 1953). "Peanuts by Charles Schulz for November 22, 1953 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.0.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (23 June 1981). "Peanuts by Charles Schulz for June 23, 1981 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 3.0.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (23 October 1965). "Peanuts by Charles Schulz for October 23, 1965 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 2.15.3 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (31 October 1969). "Peanuts by Charles Schulz for October 31, 1969 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 2.15.2 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (6 June 1987). "Peanuts by Charles Schulz for June 06, 1987 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 2.15.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (11 April 1971). "Peanuts by Charles Schulz for April 11, 1971 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 2.15.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ It's the Easter Beagle, Charlie Brown! (TV Short 1974) - Quotes - IMDb. Retrieved 8 April 2024 – via www.imdb.com.
- ^ "R 2.14.2 is released + R anniversary". stat.ethz.ch. Retrieved 7 April 2024.
- ^ McGough, Nellah Bailey (20 January 2023). "Our Favorite Quotes and Sayings from "A Charlie Brown Christmas"". Southern Living. Retrieved 8 April 2024.
- ^ "R 2.14.1 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (29 October 1973). "Peanuts by Charles Schulz for October 29, 1973 | GoComics.com". GoComics. Retrieved 7 April 2024.
- ^ "R 2.14.0 is released". stat.ethz.ch. Retrieved 7 April 2024.
- ^ Schulz, Charles (17 August 1967). "Peanuts by Charles Schulz for August 17, 1967 | GoComics.com". GoComics. Retrieved 7 April 2024.