R (linguagem de programação)
As referências deste artigo necessitam de formatação. (Março de 2019) |
R | |
---|---|
Paradigma | multiparadigma: sequencialização, orientado a objectos, imperativo, dinâmico, processual, recíproco |
Surgido em | 1993[1] |
Última versão | 4.4.2[2] [3] (31 outubro 2024) |
Criado por | Ross Ihaka e Robert Gentleman |
Estilo de tipagem | Fraca |
Dialetos | Microsoft R |
Influenciada por | S, Common Lisp, Scheme, Haskell |
Influenciou | Julia |
Licença | GPL |
Página oficial | www |
R é uma linguagem de programação multi-paradigma orientada a objetos, programação funcional, dinâmica, fracamente tipada, voltada à manipulação, análise e visualização de dados. Foi criado originalmente por Ross Ihaka e por Robert Gentleman no departamento de Estatística da Universidade de Auckland, Nova Zelândia. Atualmente é mantido por uma comunidade de colaboradores voluntários[4] que contribuem com código fonte da linguagem e com a expansão de funcionalidades por bibliotecas.
O nome R provém em parte das iniciais dos criadores (Ross e Robert) [5] e também de um jogo figurado com a linguagem S (da Bell Laboratories, antiga AT&T).
R é um ambiente e uma linguagem de programação similar ao S, contudo, é uma implementação distinta do S. Muitos códigos escritos para o S podem ser executados inalterados no R e vice-versa. A implementação comercial de S é S-PLUS.
O código fonte do R está disponível sob a licença GNU[6][7] GPL e as versões binárias pré-compiladas são fornecidas para Windows, Macintosh, e muitos sistemas operacionais Unix/Linux.
Um conjunto básico de pacotes vem embutido na instalação do R, com muito outros disponíveis na rede de distribuição do R (em inglês CRAN).
A linguagem R é largamente usada entre estatísticos e analistas de dados para desenvolver software de estatística[8][9] e análise de dados.[9] Pesquisas e levantamentos com profissionais da área mostram que a popularidade do R aumentou substancialmente nos últimos anos.[10][11][12]
História
Ross Ihaka e Robert Gentleman trabalhavam e eram colegas no departamento de estatística na Universidade de Auckland. Os dois compartilhavam o interesse por estatística computacional e viram a necessidade de um melhor ambiente de software para o laboratório da área. Os dois não acharam nenhum software compatível no mercado e começaram a tentar desenvolver um eles mesmos.
Por conta do contato prévio de Ihaka com a linguagem Scheme pareceu natural para eles começar com um interpretador baseado no dessa mesma linguagem porém já prevendo a necessidade de alterações internas consideráveis decidiram escrever o interpretador por conta própria. Segundo Ihaka a tarefa não foi tão difícil quanto parecia graças ao mapeamento do processo existente em livros como o de Hal Abelson e Gerald Sussman The Structure and Interpretation of Computer Programs e ter acesso ao código fonte de diversos interpretadores Scheme também os ajudaram nos detalhes da implementação.
A primeira versão do interpretador consistia em aproximadamente 1000 linhas de código em C e já contava com diversas funcionalidades da linguagem encontradas em posteriores versões. Para tornar o interpretador útil eles precisavam adicionar estruturas de dados para suportar uso estatístico e escolher uma interface de usuário. Optaram por uma interface de linha de comando e como ambos estavam bem familiarizados com a sintaxe de S, foi natural usarem uma parecida. Essa decisão direcionou o desenvolvimento de R no caminho que ele tomou e produziu algo que parecia muito próximo ao S, a partir daí mais e mais características foram adotadas dessa linguagem.
Porém apesar das semelhanças entre S e R, existem diversas diferenças chaves. As duas fundamentais são resultado da influência do Scheme no R, a primeira refere-se ao gerenciamento de memória. No R uma quantidade fixa de memória é alocada na inicialização e é gerenciada com um coletor de lixo simultâneo à execução.
Isso resulta em pequenos problemas de crescimento de heap e menos problemas com paginação que são vistos em S. A segunda diferença refere-se ao escopo, em S as variáveis de funções ou são globais ou são locais já em R as funções acessam as variáveis que estavam em vigor quando a função foi definida; uma ideia que vem de linguagens mais antigas como o Algol 60 e presente em Scheme e outras com escopo léxico.
Em geral as regras de escopo usadas em R são bem aceitas porque promovem um estilo de programação limpo e foram mantidas pelos criadores apesar do fato delas complicarem a implementação do interpretador.
Depois de aproximadamente um ano Gentleman e Ihaka desenvolveram o que parecia ser um software com uso potencial e começaram a prepará-lo para ser usado pelos alunos no laboratório. Motivados pelo trabalho feito os dois disponibilizaram algumas cópias binárias do R no diretório da Statlib e fizeram um pequeno anúncio na lista de emails da S-news em 3 de Agosto de 1993. Diversas pessoas utilizaram os binários disponibilizados e ofereceram feedback. Ihaka destaca uma pessoa em especial como sendo a mais persistente, Martin Mächler do Instituto Federal Suíço de Tecnologia em Zurique na sigla em Alemão ETH Zurich, quem os encorajou para lançar o código fonte do R como software livre.
Apesar de algumas dúvidas iniciais em Junho de 1995 os dois concordaram em disponibilizar o código fonte por FTP sob os termos da licença geral promovida pela Free Software Foundation. Na época o desenvolvimento do R era um processo relativamente fechado, Robert, Ross e posteriormente Martin recebiam os relatórios de bugs e de tempo em tempo disponibilizavam versões atualizadas da linguagem. Não havia nenhum forum para os usuários discutirem entre si, então foi decidido criar uma pequena lista de email por onde as discussões voltadas à linguagem aconteceriam. Com o crescimento do interesse pela linguagem manter a lista de email começava a não parecer mais uma opção viável, até porque em Auckland eles estavam pagando pelo serviço de email e o custo começava a ficar notavel. Matin então se voluntariou em hospedar o serviço de manutenção automatizado das listas de email na ETH Zurich. Em março de 1996 a lista r-testers foi criada e aproximadamente um ano depois foi substituída por três novos grupos de notícias: r-announce, r-help e r-devel. Foi percebido também a necessidade de uma de uma forma melhor de distribuição Kurt Hornik e Fritz Leisch então tomaram a tarefa e estabeleceram o Comprehensive R Archive Network com a sigla CRAN.
Com a criação desses grupos o desenvolvimento do R acelerou por conta das contribuições que variavam desde correções de erros ortográficos até mudanças significativas em funcionalidades e performance. O nível de contribuição era tão alto que os três não conseguiam realizar mudanças na frequência desejada por aqueles que pediam. Com o objetivo de mudar isso em meados de 1997 foi estabelecido um maior grupo principal de pessoas que poderiam fazer mudanças no código fonte.[13]
Em 29 de Fevereiro de 2000, o software foi considerado com funcionalidades e estável o suficiente para a versão 1.0. R contava com um ciclo regular de seis meses de atualizações e havia algo em torno de 20 desenvolvedores, incluindo pesquisadores bem conhecidos no meio estatístico, no grupo principal mantendo e expandindo as funcionalidades básicas do interpretador da linguagem. A partir daí R se tornou um projeto colaborativo internacional de desenvolvimento e pesquisa mantido formalmente pela R Foundation, uma fundação sem fins lucrativos situada em Vienna, distribuído pelo CRAN e ainda sob a licença de software livre.[14]
Ferramentas de produtividade
Existem diversas GUI para R, incluindo JGR, RKWard, SciViews-R, Rcmdr e, mais recentemente, RStudio.
Muitos editores oferecem recursos que facilitam o trabalho com o R: Emacs, Vim, NeoVim, jEdit, Kate, Tinn-R, entre outros. Existem plug-ins para uso com as IDEs Eclipse e Visual Studio.
Software construído de modo colaborativo, com novos pacotes e GUIs incluídos a cada intervalo de tempo, antecipando-se até a alguns outros pacotes proprietários, como o complemento com o teste de Scott-Knott [15]para a Análise de Variâncias ANOVA.
Recursos estatísticos
A R disponibiliza uma ampla variedade de técnicas estatísticas e gráficas, incluindo modelação linear e não linear, testes estatísticos clássicos, análise de séries temporais (time-series analysis), classificação, agrupamento e outras. A R é facilmente extensível através de funções e extensões, e a comunidade R é reconhecida pelos seus contributos ativos em termos de pacotes. Existem diferenças importantes, mas muito código escrito para S corre inalterado. Muitas das funções padrão do R são escritas no próprio R, o que torna fácil para os usuários seguir as escolhas algorítmicas feitas. Para tarefas computacionais intensivas, os códigos C, C++, e Fortran podem ser ligados e chamados durante a execução. Usuários experientes podem escrever código C ou Java[16] para manipular diretamente objetos R.
O R é fortemente extensível através do uso de pacotes enviados pelo utilizador para funções específicas ou áreas específicas de estudo. Devido à sua herança do S, o R possui fortes recursos de programação orientada por objetos, mais que a maioria das linguagens de computação estatística. Ampliar o R também é facilitado pelas suas regras de contexto lexical.[17]
Outra força do R são os gráficos estáticos, que podem produzir imagens com qualidade para publicação, incluindo símbolos matemáticos. Gráficos dinâmicos e interativos estão disponíveis através de pacotes adicionais.[18]
O R tem a sua própria documentação em formato LaTeX, a qual é usada para fornecer documentação de fácil compreensão, simultaneamente on-line em diversos formatos e em papel.
Recursos de programação
A R é uma linguagem interpretada tipicamente utilizada através de um Interpretador de comandos. Se um usuário escreve "2+2" no comando de inserção e pressiona enter, o computador responde com "4", conforme se mostra abaixo:
> 2+2
[1] 4
Como muitas outras linguagens, a R suporta matrizes aritméticas. A estrutura de dados da R inclui escalares, vetores, matrizes, quadros de dados (similares a tabelas numa base de dados relacional) e listas.[19] O sistema de objetos da R é extensível e inclui objectos para, entre outros, modelos de regressão, séries temporais e coordenadas geoespaciais.
A R suporta programação processual com funções e, para algumas funções, programação orientada a objetos com funções genéricas. Uma função genérica atua de forma diferente dependendo do tipo de argumentos que é passado. Por outras palavras a função genérica determina (dispatches) a função (método) específica para aquele tipo de objeto. Por exemplo, a R tem uma função genérica print() que pode imprimir quase qualquer tipo de objeto em R com uma simples sintaxe "print(nomedoobjeto)".
Enquanto a R é maioritariamente usada por estatísticos e outros utilizadores que requerem um ambiente para computação estatística e desenvolvimento de software, pode ser igualmente usada como uma caixa de ferramentas para cálculo matricial geral com benchmarks de desempenho comparáveis ao GNU Octave ou ao MATLAB.[20]
Exemplos
Exemplo 1
Os seguintes exemplos ilustram a sintaxe básica da língua e o uso do interface de linha de comando.
Na R, o largamente preferido[21][22][23][24] operador de atribuição é uma seta formada por dois caracteres "←", embora "=" possa ser usado em sua vez.[25]
> x ← c(1,2,3,4,5,6) # Create ordered collection (vector)
> y ← x^2 # Square the elements of x
> print(y) # print (vector) y
[1] 1 4 9 16 25 36
> mean(y) # Calculate average (arithmetic mean) of (vector) y; result is scalar
[1] 15.16667
> var(y) # Calculate sample variance
[1] 178.9667
> lm_1 ← lm(y ~ x) # Fit a linear regression model "y = f(x)" or "y = B0 + (B1 * x)"
# store the results as lm_1
> print(lm_1) # Print the model from the (linear model object) lm_1
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
-9.333 7.000
> summary(lm_1) # Compute and print statistics for the fit
# of the (linear model object) lm_1
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4 5 6
3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.3333 2.8441 -3.282 0.030453 *
x 7.0000 0.7303 9.585 0.000662 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.055 on 4 degrees of freedom
Multiple R-squared: 0.9583, Adjusted R-squared: 0.9478
F-statistic: 91.88 on 1 and 4 DF, p-value: 0.000662
> par(mfrow=c(2, 2)) # Request 2x2 plot layout
> plot(lm_1) # Diagnostic plot of regression model
Exemplo 2
Código R curto calcula o conjunto de Mandelbrot através das primeiras 20 iterações da equação z = z² + c mapeados para diferentes constantes complexas c. Este exemplo demonstra:
- O uso de bibliotecas externas (chamadas pacotes) desenvolvidas pela comunidade, neste caso, o pacote caTools
- Manipulação de número complexo.
- Matrizes multidimensionais de números usados como tipos de dados básicos, ver variáveis C, Z e X.
library(caTools) # external package providing write.gif function
jet.colors ← colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
m ← 1200 # define size
C ← complex( real=rep(seq(-1.8,0.6, length.out=m), each=m ),
imag=rep(seq(-1.2,1.2, length.out=m), m ) )
C ← matrix(C,m,m) # reshape as square matrix of complex numbers
Z ← 0 # initialize Z to zero
X ← array(0, c(m,m,50)) # initialize output 3D array
for (k in 1:50) { # loop with 50 iterations
Z ← Z^2+C # the central difference equation
X[,,k] ← exp(-abs(Z)) # capture results
}
write.gif(X, "Mandelbrot.gif", col=jet.colors, delay=100)
Exemplo 3
## Leitura do conjunto de dados. Também pode-se usar read.csv() quando os dados estiverem em arquivos .csv
dados <- read.table("escreva a localização do arquivo...", header=TRUE)
## Preparação de dados
dados.vetor <- c(dados$trat1, dados$trat2, dados$trat3, dados$trat4) %pode ser com qualquer quantidade de tratamentos.
N <- gl(trat, repeticoes) %escreva o número de tratamentos e o tratamento com maior número de repetições.
dados.vert <- data.frame(N, dados.vetor)
fator <- factor(Loc) % fatores são variáveis tratadas como variáveis categóricas no R.
## Cáculo da tabela ANOVA
pre_anova <- aov(dados.vetor~fator)
ANOVA <- summary(pre_anova)
## Fazendo teste de Tukey, teremos:
TukeyHSD(pre_anova, ordered=TRUE)
plot(TukeyHSD(bruto.aov, ordered=TRUE))
library(ScottKnott)
sk5 <- SK(x=dados, y=dados.vert$dados.vetor, model="y~fator", which="fator",sig.level=0.05)
summary(sk5)
plot(sk5)
Pacotes
As capacidades da R são estendidas através de pacotes criados pelo usuário, que permitem técnicas estatísticas especializadas, dispositivos gráficos, capacidades de importação/exportação, ferramentas de relatórios, etc. Estes pacotes são primeiro desenvolvidos em R, e por vezes em Java, C e Fortran. Um conjunto básico de pacotes são incluídos com a instalação do R, com 5300 pacotes adicionais (a partir de abril 2012) disponíveis em Comprehensive R Archive Network (CRAN), Bioconductor, e outros repositórios.[26]
A página "Task Views" (lista de assuntos) no website da CRAN lista a vasta gama de aplicações (Finança, genética, aprendizagem de máquinas, imagiologia médica, ciências sociais e estatísticas espaciais) nos quais R tem sido aplicada e para que pacotes está disponível.
Outros recursos do pacote R incluem Crantastic, um site comunitário para avaliação e revisão de todos os pacotes CRAN, e também R-Forge, uma plataforma central para o desenvolvimento colaborativo de pacotes R, software relacionado com R, e projetos. Tem muitos documentos não publicados, pacotes beta e versões de desenvolvimento de pacotes CRAN.
O projeto Bioconductor disponibiliza pacotes R para a análise de dados genómicos, tais como Affymetrix e cDNA de análise e manipulação de dados orientadas a objetos, e começou disponibilizar ferramentas para a análise de dados da próxima geração de métodos de alto rendimento de sequenciação.
A pesquisa reprodutível e geração automática de relatórios pode ser realizada com pacotes que suportam a execução de código R incorporado em LaTeX, OpenDocument format e outros marcadores (markups).[27]
Acelerador e eficiência de memória
Teste é um pacote jit que disponibiliza compilação JIT, e outro pacote compilador que oferece um compilador de byte-code para o R.[28]
Existem diversos pacotes (snow, multicore, parallel) que disponibilizam paralelismo para o R.[29]
O pacote ff economiza memória arquivando dados no disco. As estruturas de dados comportam-se como se estivessem na RAM. O pacote ffbase disponibiliza funções estatísticas básicas para o 'ff'.
Versões
A lista completa de alterações é mantida no arquivo "R News" no site CRAN.[30] Alguns destaques para algumas das principais versões estão listados abaixo.[carece de fontes]
Versão | Data | Descrição |
---|---|---|
0.16 | Essa foi a última versão alpha desenvolvida primariamente por Ihaka e Gentleman. Muitas das funcionalidades descritas no "Livro Branco" (Modelos Estatísticos em S) foram implementadas. A lista de emails começou em 1 de Abril de 1997. | |
0.49 | 1997-04-23 | Esse é o código fonte mais antigo disponível no CRAN.[31] O próprio CRAN foi lançado nessa data, com 3 mirrors hospedando inicialmente 12 pacotes.[32] Versões Alpha do R para Microsoft Windows e Mac OS foram disponibilizadas logo depois dessa versão. |
0.60 | 1997-12-05 | R se torna parte do Projeto GNU. O código passa a ser hospedado e mantido usando CVS. |
0.65.1 | 1999-10-07 | Primeiras versões das funções update.packages e install.packages para download e instalação de pacotes do CRAN.[33] |
1.0 | 2000-02-29 | Considerada pelos desenvolvedores como estável para uso em produção.[34] |
1.4 | 2001-12-19 | Métodos S4 foram introduzidos e a primeira versão para Mac OS X foi lançada pouco depois. |
2.0 | 2004-10-04 | Introduzido lazy loading, que permite carregamento mais rápido de dados e gasto de memória reduzido. |
2.1 | 2005-04-18 | Suporte para UTF-8 e esforços iniciais para localização e internacionalização para outros idiomas. |
2.11 | 2010-04-22 | Suporte para sistemas Windows de 64 bits. |
2.13 | 2011-04-14 | Adicionada uma nova função ao compilador que permite acelerar a execução das instruções traduzindo-as para byte-code. |
2.14 | 2011-10-31 | Adicionados namespaces mandatórios para os pacotes. Adicionado um novo pacote parallel. |
2.15 | 2012-03-30 | Novas funções de balanceamento de carga. Velocidade de serialização melhorada para vetores longos. |
3.0 | 2013-04-03 | Suporte para indexadores numéricos de valor 231 e maiores em sistemas de 64 bits. |
Interfaces
Interfaces de usuário gráficas
- RGUI – vem com uma versão pré-compilada do R para Microsoft Windows.
- Tinn-R – Editor/processador de texto disponível apenas para Windows.
- Java Gui for R – Editor baseado em Java, multi-plataforma e independente de terminais R (também conhecido como JGR).
- Deducer – Interface gráfica para análise de dados orientado ao uso de menus (similar ao SPSS/JMP/Minitab).
- Rattle GUI – Interface gráfica multi-plataforma baseada no RGtk2 e criada especificamente para data mining.
- R Commander – multi-plataforma baseada em menus orientados sobre interface de usuário gráfica baseada no tcltk (vários plug-ins para Rcmdr também estão disponíveis).
- RapidMiner[35]
- RExcel – usando R e Rcmdr a partir do Microsoft Excel.
- RKWard – Interface de usário gráfica extensível e IDE para R.
- RStudio – multi-plataforma de fonte aberta IDE (que também pode ser corrida num servidor remoto linux).
- RTVS - Suporte para a linguagem R no Visual Studio da Microsoft fornecido pela Revolution Analytics.
- Weka - permite a utilização de recursos de mineração de dados em Weka e análise estatística em R.
- Existe um número especial do Journal of Statistical Software (de junho de 2012) que discute as interfaces de usuário gráficas para o R.
Editores e IDEs
Editores de texto e ambientes integrados de desenvolvimento (IDEs) com algum suporte para R incluem: Tinn-R, Bluefish, Crimson Editor, ConTEXT, Eclipse (StatET), Emacs (Emacs Speaks Statistics), LyX (módulos para knitr e Sweave), Vim, Geany, jEdit, Kate, R Productivity Environment (parte da Revolution R Enterprise) RStudio, TextMate, gedit, SciTE, WinEdt (R Package RWinEdt) e Notepad++.
Linguagens de Script
As funcionalidades do R foram tornadas acessíveis a partir de diversas linguagens de script como a Python (pelo pacote de interface do RPy), Perl(pelo módulo Statistics::R), e Ruby (com o rsruby rubygem). PL/R pode ser usado juntamente, ou em vez da linguagem de script PL/pgSQL no sistema de gestão de bases de dados PostgreSQL e Greenplum. Scripts no próprio R são possíveis via littler bem como via Rscript.
useR! conferências
"useR!" é o nome dado à reunião anual oficial dos usuários do R. O primeiro destes eventos foi o useR! 2004 em maio de 2004, em Viena de Áustria.[36] Depois de saltar 2005, a conferência useR tem tido lugar anualmente, alternando habitualmente entre localizações na Europa e na América do Norte.[37]
Esta é lista das conferências useR!:
- useR! 2004, Viena, Áustria
- useR! 2006, Viena, Áustria
- useR! 2007, Ames, Iowa, Estados Unidos da América
- useR! 2008, Dortmund, Alemanha
- useR! 2009, Rennes, França
- useR! 2010, Gaithersburg, Maryland, Estados Unidos da América
- useR! 2011, Coventry, Reino Unido
- useR! 2012, Nashville, Tennessee, Estados Unidos da América
- useR! 2013, Albacete, Espanha
- useR! 2014, Los Angeles, Califórnia, Estados Unidos da América
- useR! 2015, Aalborg, Dinamarca
- useR! 2016, Stanford University, Stanford, Califória, Estados Unidos da América
- useR! 2017, Bruxelas, Bélgica
- useR! 2018, Brisbane, Austrália
- useR! 2019, Toulouse, França[38]
- useR! 2020, Online[39]
Comparação com SAS, SPSS e Stata
O consenso geral é que o R se compara bem com outros populares pacotes estatísticos, tais como SAS, SPSS e Stata.[40] Em janeiro de 2009, o New York Times publicou um artigo sobre o aumento de aceitação do R entre os analistas de dados e apresentando uma potencial ameaça para a quota de mercado ocupada por pacotes estatísticos comerciais, como o SAS.[41]
Suporte comercial para o R
Em 2007, a empresa Revolution Analytics foi fundada para disponibilizar suporte comercial para a Revolution R, a sua distribuição do R, que também inclui componentes desenvolvidos pela companhia. Os principais componentes adicionais incluem: ParallelR, o ambiente de produtividade IDE para o R, ScaleR (para análise de grandes dados), DeployR, quadro de serviços web, e a capacidade para ler e escrever dados no formato de arquivos do SAS.[42] Em Abril de 2015 a empresa foi adquirida pela Microsoft e seus produtos estão sendo gradativamente integrados a serviços do Microsoft Azure, a plataforma de cloud computing da Microsoft.[43]
Em outubro de 2011, a Oracle Corporation anunciou o Big Data Appliance, que integra o R, o Apache Hadoop, o Oracle Enterprise Linux, e uma base de dados NoSQL com o hardware Exadata.[44][45][46] O Oracle R Enterprise[47] é agora um dos dois componentes do "Oracle Advanced Analytics Option"[48] (o outro componente é o Oracle Data Mining).
Outros grandes sistemas de software comercial que suportam conexões ou integração com o R incluem: JMP, Mathematica, MATLAB, Spotfire, SPSS, STATISTICA, Platform Symphony e SAS.
TIBCO, o atual proprietário da linguagem S-Plus, está a permitir que alguns dos seus empregados apoiem ativamente o R participando na sua lista de discussão R-Help (anteriormente mencionada), e pelo patrocínio da série useR das reuniões de grupos de usuários. A Google é um grande utilizador interno do R e publica um guia de estilo. Patrocina os projetos R nos seus trabalhos Summer-of-Code, e também suporta financeiramente as séries de reuniões useR.
RStudio oferece software, educação e serviços para a comunidade R.
Ver também
Referências
- ↑ «A Brief History» R: Past and Future History, Ross Ihaka, Statistics Department, The University of Auckland, Auckland, New Zealand, available from the CRAN website
- ↑ «4.4.2 is released» (em inglês). 31 outubro 2024. Consultado em 1 novembro 2024
- ↑ «The Comprehensive R Archive Network»
- ↑ «Contributors» site www.r-project.org
- ↑ Kurt Hornik. The R FAQ: Why is R named R?. [S.l.: s.n.] ISBN 3-900051-08-9. Consultado em 29 de janeiro de 2008
- ↑ «Free Software Foundation (FSF) Free Software Directory: GNU R». Consultado em 13 de novembro de 2012
- ↑ «What is R?». Consultado em 28 de abril de 2009
- ↑ Fox, John and Andersen, Robert (janeiro de 2005). «Using the R Statistical Computing Environment to Teach Social Statistics Courses» (PDF). Department of Sociology, McMaster University. Consultado em 3 de agosto de 2006
- ↑ a b Vance, Ashlee (6 de janeiro de 2009). «Data Analysts Captivated by R's Power». New York Times. Consultado em 28 de abril de 2009.
R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca...
- ↑ David Smith (2012); R Tops Data Mining Software Poll Arquivado em 27 de dezembro de 2016, no Wayback Machine., Java Developers Journal, May 31, 2012.
- ↑ Karl Rexer, Heather Allen, & Paul Gearan (2011); 2011 Data Miner Survey Summary, presented at Predictive Analytics World, Oct. 2011.
- ↑ Robert A. Muenchen (2012);The Popularity of Data Analysis Software.
- ↑ «R : Past and Future History». cran.r-project.org. Consultado em 17 de março de 2019
- ↑ Ihaka, Ross (20 de abril de 2011). «The R Project: A Brief History and Thoughts About the Future.» (PDF). University of Otago. Consultado em 9 de março de 2019
- ↑ Jelihovschi, Enio; Faria, José Cláudio; Allaman, Ivan Bezerra (5 de março de 2014). «ScottKnott: A Package for Performing the Scott-Knott Clustering Algorithm in R». TEMA (São Carlos) (em inglês). 15 (1): 003–017. ISSN 2179-8451. doi:10.5540/tema.2014.015.01.0003
- ↑ Duncan Temple Lang, Calling R from Java (PDF)
- ↑ Jackman, Simon (primavera de 2003). «R For the Political Methodologist» (PDF). Political Methodology Section,American Political Science Association. The Political Methodologist. 11 (1): 20–22. Consultado em 3 de agosto de 2006. Arquivado do original (PDF) em 21 de julho de 2006
- ↑ «CRAN Task View: Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization». The Comprehensive R Archive Network. Consultado em 1 de agosto de 2011
- ↑ Dalgaard, Peter (2002). Introductory Statistics with R. New York, Berlin, Heidelberg: Springer-Verlag. pp. 10–18, 34. ISBN 0387954759
- ↑ «Speed comparison of various number crunching packages (version 2)». SciView. Consultado em 3 de novembro de 2007. Arquivado do original em 25 de junho de 2013
- ↑ R Development Core Team. «Writing R Extensions». Consultado em 14 de junho de 2012.
[...] we recommend the consistent use of the preferred assignment operator ‘←’ (rather than ‘=’) for assignment.
- ↑ «Google's R Style Guide». Consultado em 14 de junho de 2012. Arquivado do original em 1 de março de 2013
- ↑ Wickham, Hadley. «Style Guide». Consultado em 14 de junho de 2012
- ↑ Bengtsson, Henrik. «R Coding Conventions (RCC) - a draft». Consultado em 14 de junho de 2012
- ↑ «Assignments with the =Operator». Consultado em 14 de junho de 2012
- ↑ Robert A. Muenchen. «The Popularity of Data Analysis Software»
- ↑ CRAN Task View: Reproducible Research
- ↑ up your R code using a just-in-time (JIT) compiler
- ↑ «Package 'parallel'» (PDF) (em inglês)
- ↑ «R News». cran.r-project.org. Consultado em 3 de julho de 2014
- ↑ https://cran.r-project.org/src/base/R-0/
- ↑ https://stat.ethz.ch/pipermail/r-announce/1997/000001.html
- ↑ https://cran.r-project.org/src/base/NEWS.0
- ↑ Peter Dalgaard. «R-1.0.0 is released». Consultado em 6 de junho de 2009
- ↑ «Data Mining / Analytic Tools Used Poll (May 2010)»
- ↑ useR 2004
- ↑ useR! – International R User Conference
- ↑ «useR! 2019 - Toulouse». user2019.r-project.org. Consultado em 24 de junho de 2021
- ↑ «useR 2020». user2020.r-project.org (em inglês). Consultado em 24 de junho de 2021
- ↑ of R to SAS, Stata and SPSS
- ↑ Vance, Ashlee (7 de janeiro de 2009). «Data Analysts Captivated by R's Power». The New York Times
- ↑ Timothy Prickett Morgan (2011); 'Red Hat for stats' goes toe-to-toe with SAS, The Register, February 7, 2011.
- ↑ «Microsoft Closes Acquisition of Revolution Analytics». blogs.technet.com. Consultado em 25 de fevereiro de 2016
- ↑ Doug Henschen (2012);Oracle Makes Big Data Appliance Move With Cloudera, InformationWeek, January 10, 2012.
- ↑ Jaikumar Vijayan (2012);Oracle's Big Data Appliance brings focus to bundled approach, ComputerWorld, January 11, 2012.
- ↑ Timothy Prickett Morgan (2011);Oracle rolls its own NoSQL and Hadoop Oracle rolls its own NoSQL and Hadoop, The Register, October 3, 2011.
- ↑ Chris Kanaracus (2012);Oracle Stakes Claim in R With Advanced Analytics Launch, PC World, February 8, 2012.
- ↑ Doug Henschen (2012);Oracle Stakes Claim in R With Advanced Analytics Launch, InformationWeek, April 4, 2012.
Ligações externas
- Sítio oficial
- The R Reference Manual - Base Package para os interessados no desenvolvimento do R
- Tutorial de R LEG: Laboratório de Estatística e Geoinformação da UFPR
- Enciclopédia sobre Linguagem de Programação R mantida na Universidade Federal do Rio Grande do Sul