30
Tutorial Ultra- Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Embed Size (px)

Citation preview

Page 1: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Tutorial Ultra-Concentrado de R e aRT

Pedro Ribeiro de AndradeDSA/CCST/INPESão José dos Campos, 2009

Page 2: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Apresentação

Professor: Pedro Ribeiro de AndradeAssitentes: Miguel Monteiro e Giovana Espindola

http://wiki.dpi.inpe.br/doku.php?id=geopro:pedro:cursoart

4 aulas de 3 horas Aula 1: Introdução ao R Aula 2: Introdução ao Pacote sp Aula 3: Introdução ao aRT Aula 4: aRT avançado

Page 3: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

O que é o aRT?

SGBD

Page 4: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Aula 1:Introdução ao RPedro Ribeiro de AndradeDSA/CCST/INPESão José dos Campos, 2009

Apresentação baseada no curso “Introdução ao R” (http://www.leg.ufpr.br/Rtutorial/)

Page 5: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

www.r-project.org

Page 6: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Sobre o R Linguagem e ambiente Software livre Similar à linguagem e ambiente S Multiplataforma

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)group <- gl(2,10,20, labels=c("Ctl","Trt"))weight <- c(ctl, trt)anova(lm.D9 <- lm(weight ~ group))summary(lm.D90 <- lm(weight ~ group - 1))opar <- par(mfrow = c(2,2), oma = c(0, 0, 1.1, 0)) plot(lm.D9, las = 1)

Page 7: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Interface gráfica X Linguagem de programação

Curva de aprendizado mais lenta Flexibilidade R em específico: métodos refletindo o estado-da-arte

Reprodutibilidade: “the ability of a test or experiment to be accurately reproduced, or replicated, by someone else working independently.”

Page 8: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

“Como você fez isto?”

Page 9: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

“Foi um mapa de kernel...”

Page 10: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

“Foi um kernel quártico 100x100 com raio 2”

k = kernel2d(as.points(bod), bod$poly, h0=2, nx=100, ny=100)

plot(bod$poly, asp=1, type="n")

image(k, add=TRUE, col=terrain.colors(20))

pointmap(as.points(bod), add=TRUE)

polymap(bod$poly, add=TRUE)

Page 11: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Sweave: Reproducible ResearchFinally we will do a kernel analysis [...]<<>>=raster =kernel2d(as.points(bod), bod$poly, h0=2, nx=100,

ny=200)layer.raster <- createLayer(db, l="raster")addRaster(layer.raster, raster)@To get the layer's geometry call getGeometry [...]<<>>=plot(layer.raster)plot(layer.points,add=TRUE)plot(layer.pol, add=TRUE)@

http://www.leg.ufpr.br/~pedro/aRT/docs/aRTintro.html

Page 12: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Instalação: “R U ready?”

CRAN Binários: base e contrib Problemas com Windows Vista (instalar na sua

própria pasta)

Page 13: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

R como uma calculadora

1+2+3

2+3*4

3/2+1

4*3**3 

sqrt(2)

sin(3.14159) 

sin(pi)

sqrt(tan(45*pi/180))

Page 14: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Operadores Lógicos1 == 2

1 != 2

1 <= 2

1 < 2

1 > 2

1 >= 2

T & T

T & F

T | T

T | F

((1 == 2) |(2 > 1)) & (4 >= sqrt(tan(45*pi/180)))

Page 15: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Variáveisx <- sin(pi)

x

x = sin(pi)

sin(pi) -> x

y <- sqrt(5)

y+x

x <- 25

x * sqrt(x) -> x1

x2.1 = sin(x1)

x2.2 = cos(x1)

xsq = x2.1**2 + x2.2**2

Page 16: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Vetores

x <- c(2,3,5,7,11)

y <- c(x,13,17,19)

xx <- 1:10

xx <- 100:1

seq(1,10,1)

seq(1,10,2)

seq(10,1,-3)

rep(1,10)

rep(c(1,2),10)

rep(4:1,1:4)

rep(c(23, 32, 42), c(3, 1, 2))

Page 17: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Operações com Vetores

x <- 1:10

x + 2

sqrt(x)

y <- 21:30

x+y

y <- c(1,2)

x+y

length(x)

rev(x)

summary(x)

x**x

Page 18: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Índices de Vetoresx[2]

y <- x[c(1,3,5)]

x[4:7]

x[12]

x <- c(6,5,6,4,4,3,4,2,3,4)

y <- c(5,3,4,2,6,5,4,5,4,3)

xeq4 <- x == 4

y[xeq4]

x[-3]

x[-c(3,4,7)] 

x[y]

Page 19: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Funções

seq(1,27,3)

seq(from=1,to=27,by=3)

seq(from=1,to=27,length=4)

seq(f=1,t=27,l=4)

seq(t=27,l=4, f=1)

seq(1,4)

seq(1)

seq()

sqrt()

?seq

Page 20: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Matrizes

x <- 1:12

xmat <- matrix(x,ncol=3)

matrix(x,ncol=3,byrow=T)

dim(xmat)

summary(xmat)

summary(as.numeric(xmat))

x1 <- matrix(1:6,ncol=2)

x2 <- matrix(6:1,ncol=3)

x1*x2

x1 %*% x2

t(x1)*x2

Page 21: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

cbind e rbind

COLUMNbind e ROWbind

x <- matrix(10:1,ncol=2)

y <- cbind(x,1:5)

y <- rbind(y,c(99,99,99))

z <- cbind(y,rep(88,6),y)

z <- cbind(y,88,y)

Page 22: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Acesso a Matrizes

people <- cbind(c(1,2,3,4,5,6),c(43,55,52,23,46,25))

people[1,2]

people[1:2,2]

people[1,]

people[,2]

people[-3,]

people[people[,2]>50,]

people <- people[,c(2,1)]

Page 23: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Matrizesxc = round(runif(10), 2)

yc = round(runif(10), 2)

xy = cbind(xc, yc)

rownames(xy)

colnames(xy)

rownames(xy)=1:10

xy["2",] # aspas duplas ou simples

xy[,"xc"]

rownames(xy)=2:11

xy[2:4,]

xy[paste(2:4),]

Page 24: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Data frame

music=read.table("http://www.leg.ufpr.br/Rtutorial/Data/music.dat", sep=",", row.names=1, quote="", as.is=TRUE)

music[,3]

music[2,]

music$V5

names(music) <- c('Artist','Title','Ntracks','Format')

music[1:2, "Artist"]

music[["Artist"]]

rownames(music)

music <- cbind(music,Rate=c(7,6,9,10,9,8,8))

Page 25: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Listas

person<-list(age=21, name='Fred', score=c(65,78,55))

person$name  

person$score[2]

person[[1]]

tt <- t.test(rnorm(1000,mean=1),

rnorm(1000,mean=1.2), var.equal=T)

is.list(tt)

names(tt)

tt$p.value

tt$estimate

Page 26: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Estruturas de dados

Vetor: coleção unidimensional com valores do mesmo tipo

Matriz: mxn com valores do mesmo tipo Data Frame: mxn com mesmo tipo em cada coluna Lista: coleção de vetores de tamanhos distintos

Page 27: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Plotagemx <- 1:20y <- x**3plot(x,y)plot(x,y,type="l") # tente também “b”, “o”, “s”, “c”, “h”

plot(x,y)points(rev(x),y)lines(x,8000-y, col="blue", lwd=5)

plot(x,y)points(rev(x),y,pch=3, col="red")points(x,8000-y,pch="$")

Page 28: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Plotagemplot(1:20, 1:20, pch = 1:20)

plot(x,y)lines(x,y,lwd=4) lines(rev(x),y,lty=2)

plot(c(0,20),c(-8000,8000),type='n') lines(x,y) lines(x,-y)

plot(x,y,xlab="Eixo X aqui",ylab="Eixo Y aqui")title("Título vai aqui!")text(6,4000,"Texto em qualquer lugar")

Page 29: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Plotagemplot(sin, -pi, 2*pi)

hist(c(2,2,2,2,2,3,3,3,4,4,5,5))barplot(table(c(2,2,2,2,2,3,3,3,4,4,5,5)))barplot(table(c(2,2,2,2,2,3,3,3,4,4,5,5)), hor=T)

par(mfrow=c(2,2)) plot(x,y)plot(x,log(y)) plot(rev(x),y)plot(rev(x), rev(y))par(mfrow=c(1,1))

Page 30: Tutorial Ultra-Concentrado de R e aRT Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2009

Salvando gráficosjpeg(...)...dev.off()

bmp(...)...dev.off()

png(...)...dev.off()