33

Linguagem R

Embed Size (px)

DESCRIPTION

Apresentação sobre a linguagem R.

Citation preview

Page 1: Linguagem R
Page 2: Linguagem R
Page 3: Linguagem R

● R é uma linguagem e um ambiente de desenvolvimento integrado, para cálculos estatísticos e gráficos.

● Foi criada originalmente por Ross Ihaka e por Robert Gentleman na universidade de Auckland,Nova Zelândia, e foi desenvolvido por um esforço colaborativo de pessoas em vários locais do mundo

● O nome R provêm em parte das iniciais dos criadores e também de um jogo figurado com a linguagem S (da Bell Laboratories, antiga AT&T).

Page 4: Linguagem R

● O ambiente R foi desenvolvido baseado na linguagem S, no final da década de 90 início dos anos 2000. É uma linguagem e ambiente similar ao S - pode ser considerado uma implementação distinta do S; embora com importantes diferenças, muitos códigos escritos para o S rodam inalterados no R. A implementação comercial de S é S-PLUS.

● A sua estrutura de código aberto (que vem da linguagem S) e de software público e gratuito atraiu um grande número de desenvolvedores, sendo que há hoje inúmeros pacotes para o R.

Page 5: Linguagem R

● R é também altamente expansível com o uso dos pacotes, que são bibliotecas para funções específicas ou áreas de estudo específicas.

● A linguagem está se tornando padrão porque os processos de mineração de dados vivem uma era dourada, quer estejam em uso para determinar preços de publicidade, descobrir novos medicamentos mais rápido ou fazer a sintonia fina de modelos financeiros. Empresas as mais diversas, como por exemplo Google, Pfizer, Merck, Bank of America, InterContinental Hotels Group e Shell, estão usando a linguagem R.

Page 6: Linguagem R

● Os co-criadores da R estão satisfeitos com o sucesso de seu trabalho e do trabalho de centenas de voluntários. Ihaka ainda leciona estatística em Auckland, e Gentleman hoje trabalha no Centro Fred Hutchinson de Pesquisa do Câncer, em Seattle.

● "A R é uma demonstração real do poder da colaboração, e não creio que fosse possível criar algo parecido de qualquer outra maneira", Ross Ihaka.

Page 7: Linguagem R
Page 8: Linguagem R

●Desde de Antigamente ●Como é conhecida a estatística ●O que é Estatística

Estatística

Page 9: Linguagem R

Alguns métodos para auxiliar na estatística: ●Planejamento●Análise●Processamento●Disseminação/Dispersão/Espalhamento● Inferência

Estatística

Page 10: Linguagem R

Estatística

Page 11: Linguagem R

ProgramaçãoEstatística

●O que é Programação Estatística ●Para que é utilizada

Page 12: Linguagem R

ProgramaçãoEstatística

Page 13: Linguagem R
Page 14: Linguagem R
Page 15: Linguagem R

Sintaxe Básica

Um comando no R em geral inclui uma ou mais funções, que seguem a seguinte sintaxe:

função(argumento1 = valor, argumento2 = valor , …)

Page 16: Linguagem R

Linha de Comando

O R é uma linguagem interativa, ou seja, que permite ao usuário enviar um comando por vez e receber o resultado. Para isso, usa-se a linha de comando, que tem o sinal ”>”

quando o R está pronto para receber um comando.

>> log(2+ )[1] 0.6931472>

Page 17: Linguagem R

Exemplo

> plot(x=area,y=riqueza)> plot(area, riqueza)> plot(area,riqueza,xlab="Área (ha)", ylab="Riqueza")

No primeiro caso, os argumentos estão explicitados. No segundo caso, os argumentos estão omitidos, então a linguagem R atribui os valores para os argumentos na ordem em que aparecem. No terceiro caso, ambas as formas de declarar variáveis foram utilizadas.

Page 18: Linguagem R

Alguns Comandos

● ls - lista todo conteúdo da área de trabalho.● rm - apaga objetos da área de trabalho.● help ou ? - ajuda.● help.start() - portal de ajuda aberto no navegador.● help.search() - pesquisas mais refinadas.● args - retorna os argumentos de uma função.● example - retorna os exemplos que estão na ajuda de

uma função.● q() - sair.● save.image() - salva o trabalho.● load - carrega o trabalho.

Page 19: Linguagem R

Particularidades dos Comandos no R

Como em toda linguagem, o R tem algumas regras básicas de sintaxe e grafia: 1. O nome de comandos e objetos no R pode ser compostos de: letras

(minúsculas ou maiúsculas), números, e o ponto.2. Deve-se evitar qualquer outro caracter especial, incluindo o espaço em

branco.3. O nome não pode ser iniciado por um número.4. O R é sensível a caixa: o comando q é diferente do comando Q.Para que um comando seja executado pelo R é necessário ser acompanhado de parênteses '()'. Compare esse comando

Page 20: Linguagem R
Page 21: Linguagem R
Page 22: Linguagem R

Estatística:●Auxiliar na Leitura, cálculo e interpretação de dados

estatísticos;●Cálculos para estatística sempre levam em conta

conjuntos de valores relacionados;●Estes conjuntos podem ser lidos diretamente pelo

interpretador ou em arquivos, como é mais comum.●Tais valores são armazenados

em vetores e matrizes, e a linguagem R possui inúmeras funções built-in para a realização de cálculos de Álgebra Linear e Não-Linear, bem como a manipulação dessas estruturas.

Page 23: Linguagem R

Principais aplicações

●Leitura e cálculo de dados ●a partir de arquivos:

○x <- read.table("valores.txt")○print(x)○y <- x[,1]○z <- x[,2]○k = sum(z) - x[6,2]○prod(y)○log(z[5])

V1 V21 1152 14532 1257 76323 1550 40004 1748 34165 1753 20986 1762 16507 2043 17538 2098 21699 2142 176210 4000 908011 6186 155012 8517 5025

Page 24: Linguagem R

Principais aplicações

Funções de Álgebra linear aplicáveis em estatística:

●Média aritmética simples:○mean(y)

● Média aritmética ponderada:○ weighted.mean(y)

●Desvio padrão:○sd(y)

●Estimativa de densidade pelo método Kernel:○density(y)

Page 25: Linguagem R

Principais aplicações

●Plotagem de gráficos em 2D e 3D●através da GLU -●OpenGL Utility Library:●plot.new()

○pie(y), plot(y, type="l"),○barplot(y), etc..

Page 26: Linguagem R

Principais aplicações

Fractais:

Page 27: Linguagem R

Principais aplicaçõesLimits=c(-2,0.8)

MaxIter=25cl=colours()Step=seq(Limits[1],Limits[2],by=0.005)S=floor(length(cl)/MaxIter)Dist=0PointsMatrix=array(0,dim=c(length(Step)*length(Step),3))t=0for(a in Step){

for(b in Step+0.6){

x=0;y=0;n=0;Dist=0while(n<MaxIter &

Dist<4){

n=n+1newx=a+x^2-y^2newy=b+2*x*yDist=newx^2+newy

^2x=newx;y=newy

}if(Dist<4) colour=24 #

black colourelse colour=n*St=t+1PointsMatrix[t,]=c(a,b,

colour)}

}X11()plot(PointsMatrix[,1], PointsMatrix[,2], xlim=Limits, ylim=Limits+0.6, col=cl[PointsMatrix[,3]], pch=".")

Page 28: Linguagem R
Page 29: Linguagem R

Os exemplos a seguir necessitam do interpretador R instalado, além dos pacotes rgl e animation instalados. Para instalar o interpretador R consulte: http://cran.r-project.org/Os demais pacotes podem ser instalados da seguinte forma (sendo $ o seu shell e > o interpretador R): # Executa o interpretador R$R>install.packages("rgl")>install.packages("animation")# Para executar os exemplos >source("arquivoComOExemplo.r")

Page 30: Linguagem R

library(animation)

oopt = ani.options(nmax = 500, interval = 0)opar = par(mar = c(3, 2.5, 0.5, 0.2), pch = 20, mgp = c(1.5, 0.5, 0))buffon.needle()

# Torna mais rápidobuffon.needle(redraw = FALSE)

par(opar)

# Cria uma página html de animaçãoani.options(nmax = 100, interval = 0.1, ani.height = 500, ani.width = 600, outdir = getwd(), title = "Simulation of Buffon's Needle", description = "There are three graphs made in each step: the top-left one is a simulation of the scenario, the top-right one is to help us understand the connection between dropping needles and the mathematical method to estimate pi, and the bottom one is the result for each dropping.")

ani.start()par(mar = c(3, 2.5, 1, 0.2), pch = 20, mgp = c(1.5, 0.5, 0))buffon.needle(type = "S")

ani.stop() ani.options(oopt)

Page 31: Linguagem R

library(animation)

# Cria uma animação em página html do movimento brownianooopt = ani.options(interval = 0.05, nmax = 100, ani.dev = png, ani.type = "png", title = "Demonstration of Brownian Motion", description = "Random walk on the 2D plane: for each point (x, y), x = x + rnorm(1) and y = y + rnorm(1).")ani.start()opar = par(mar = c(3, 3, 1, 0.5), mgp = c(2, .5, 0), tcl = -0.3, cex.axis = 0.8, cex.lab = 0.8, cex.main = 1)brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow")par(opar)ani.stop()ani.options(oopt)

Page 32: Linguagem R

clifford <- function(a,b,c,d,n=2000){ x<-rep(NA,n) y<-rep(NA,n) z<-rep(3,n) x[1]<-pi/2 y[1]<-pi/2 for (i in 2:n) { x[i]<-sin(a*y[i-1])+c*cos(a*x[i-1]) y[i]<-sin(b*x[i-1])+d*cos(b*y[i-1]) } require(rgl) rgl.clear() rgl.points(x,y,z, color=heat.colors(n), size=1)}

clifford(-1.4,1.6,1.0,0.7)

Page 33: Linguagem R

rossler<-function(n=2000,a=.2,b=.2,c=1.7,x0=0.0001,y0=0.0001,z0=0.0001){ x<-c(x0,rep(NA,n-1)) y<-c(y0,rep(NA,n-1)) z<-c(z0,rep(NA,n-1)) h<-0.015 for (i in 2:n) { x[i]<-x[i-1]-h*(y[i-1]+z[i-1]) y[i]<-y[i-1]+h*(x[i-1]+a*y[i-1]) z[i]<-z[i-1]+h*(b+z[i-1]*(x[i-1]-c)) } require(rgl) rgl.clear() rgl.points(x,y,z, color=heat.colors(n), size=1)}

rossler(2000,x0=3,y0=4,z0=.4)