21 Set 2014 às 16:49 0 10890 Tecnologia
R é uma linguagem de programação, voltada para análise estatística e produção de gráficos. Seu desenvolvimento apareceu da necessidade de seus criadores, Ross Ihaka e Robert Gentleman, ambos iniciando a carreira como professores na universidade de Auckland na nova Zelândia. Na universidade, existia um laboratório de estatística com vários computadores, mas grande parte dos softwares disponíveis na época eram pagos. Para a maioria dos alunos que eles ensinavam, após esses saírem da universidade, dificilmente tinham acesso a softwares de estatística ou condições financeiras de comprar as licenças destes softwares. Isso se mostrava ainda pior com alunos estrangeiros, já que muitos países sequer tinham representantes comerciais para vender esses softwares.
Nessa época, Ross Ihaka teve acesso ao livro de Rick Becker e John Chambers, "New S language" (A nova linguagem S). Eles então tomaram base na idéias da linguagem S, que também era uma linguagem de computador voltada para cálculos estatísticos e produziram sua própria linguagem de computador para dar aulas de estatísticas. Assim surgiu o R, que tem seu nome devido tanto as iniciais de seus idealizadores, Ross e Robert, como uma menção a linguagem S, já que R é a próxima letra do alfabeto seguindo S.
Muitos alunos, que após as aulas de estatística, levavam com eles copias do recém criado R, começaram a distribuir essas cópias, aumentando o interesse sobre a linguagem. Até que em Junho de 1995, Ross e Robert resolveram autorizar a distribuição do R sobre uma licença livre GNU, disponibilizando ele num servidor ftp da universidade. Em 1997, já com uma visibilidade mundial, muitos desenvolvedores se juntaram ao time de desenvolvimento do R, entre eles um dos idealizadores e criadores da linguagem S, John Chambers.
Hoje o R pode ser baixado pelo CRAN, que é a Rede compreensiva de Arquivos do R ("Comprehensive R Archive Network"), uma coleção de sites que carregam material idêntico, denominados como espelhos, e nestes sites encontramos tanto o R básico, como pacotes para o R, que são expansões especificas para suas funcionalidades. No Brasil, contamos com espelhos do R na USP, UFPR e fundação Oswaldo Cruz.
Hoje R é uma das linguagens de computador para estatística que mais cresce no mundo. Parte devido ao crescente comunidade de usuários que contribui com pacotes, que são conjuntos de pequenos programas que expandem as funcionalidades do R.
Os seguintes exemplos ilustram a sintaxe básica da língua e o uso do interface de linha de comando.
> 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 de Gráficos.
Outro Exemplo de Gráficos
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,20)) # initialize output 3D array for (k in 1:20) { # loop with 20 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)
Fonte.: Wikipédia e Info Escola.