Tutorial de R e aRT

Post on 11-Jan-2016

31 views 4 download

description

Tutorial de R e aRT. Pedro Ribeiro de Andrade DSA/CCST/INPE São José dos Campos, 2012. O que é o aRT?. SGBD. Apresentação. http://wiki.dpi.inpe.br/doku.php?id=geopro:pedro:cursoart 4 aulas Aula 1: Introdução ao R Aula 2: Introdução ao Pacote sp Aula 3: Introdução ao aRT - PowerPoint PPT Presentation

Transcript of Tutorial de R e aRT

Tutorial de R e aRT

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

O que é o aRT?

SGBD

Apresentação

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

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

1) Instalar R 2.15.1: www.r-project.org2) Instalar o Rstudio: http://rstudio.org/3) Instalar TerraView 4.2.0: www.dpi.inpe.br/terraview4) Instalar e configurar MySQL 5.5: www.mysql.com 5) Baixar e descompactar o arquivo

http://www.leg.ufpr.br/~pedro/CDaRT/aula.zip6) Executar o Rstudio:

1) Caso a máquina seja de 64 bits: Tools->Options->R version->change->32 bits. Fechar e abrir o Rstudio novamente.

2) Tools->Set working directory->Change directory para o diretório da pasta descompactada.

3) Abrir “gera-bancos.R”, dentro da pasta descompactada.4) Alterar a senha para a mesma da instalação do MySQL.5) Executar o comando: source("gera-bancos.R").6) Esperar a mensagem: “BANCOS DE DADOS GERADOS COM SUCESSO”

Instalação

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/)

www.r-project.org

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)

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.”

“Como você fez isto?”

“Foi um mapa de kernel...”

“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)

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

Instalação: “R U ready?”

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

sua própria pasta)

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))

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)))

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

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))

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

Índices de Vetores

x[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]

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

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

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)

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)]

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),]

Data frame

plot(iris)

iris[,3]

iris[2,]

iris$Sepal.Length

iris[1:2, "Sepal.Length"]

iris[["Sepal.Width"]]

rownames(iris)

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

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

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="$")

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")

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))

Salvando gráficos

jpeg(...)...dev.off()

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

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