##103.0 Indexação de vetores 100 12/05/2017 8:00 sq1=c(seq(from=0, to=100, len=15)) sq2= (sq1[c(-5,-10)]) sq3=(sq1[c(seq(1,15, by=2))]) sq=c(seq(from=0, to=100, len=15)) pares=((sq[c(seq(0,15, by=2))])) sq[c(2,4,6,8,10,12,14)]= c(2,4,6,8,10,12,14) sq4=sq ## 103.1 Distância entre cidades 100 12/05/2017 8:00 dist.cid= matrix(c(0, 3949,3000, 3927, 3949,0,1273,3188,3000,1273,0,1827,3927,3188,1827,0),nrow=4,ncol=4) dist.cid rownames(dist.cid)= c("Atenas", "Madri", "Paris", "Estocolmo") colnames(dist.cid)= c("Atenas", "Madri", "Paris", "Estocolmo") ##103.2.1 Criação de um data frame 100 1 cor=rep(c("claro", "escuro"), each=9) dieta= rep(c("A", "B", "C"), c(3,3,3)) pesos= c(0.1, 1.1, 3.7, 5.7, -1.2,-1.5, 3.0, -0.4,0.6,1.5, -0.1, 2.0,0.6,-3.0,-0.3,-0.2, 0.3,1.5) hamsters= data.frame (dieta,cor,pesos) hamsters str(hamsters) ##103.2.2 Sintetizando dados 100 12/05/2017 8:00 media= mean(hamsters$pesos) (media.por.cor= tapply(hamsters$pesos, hamsters$cor, mean)) media.por.dieta= tapply(hamsters$pesos, hamsters$dieta, mean) media.cruzada=aggregate(hamsters$pesos, by= list(hamsters$dieta, hamsters$cor), mean) ##103.3 Criando uma matriz 100 12/05/2017 8:00 ariancia= 3.6^2 dist= (rnorm(15,mean=10,sd= sqrt (3.6))) matriz.normal= matrix(dist, nrow=3, ncol=5) ### matriz.normal=matrix(rnorm(15,mean=10, sd= sqrt(3.6)), size=15), nrow=3, ncol=5) rownames(matriz.normal)= paste("L", 1:3,sep="") colnames(matriz.normal)= paste("C", 1:5, sep="") matriz.normal ### medias e var por linhas e coluna mediac1= mean(matriz.normal[1,]) mediac2= mean(matriz.normal[2,]) mediac3=mean(matriz.normal[3,]) varc1=var(matriz.normal[1,]) varc2=var(matriz.normal[2,]) varc3=var(matriz.normal[3,]) linha= data.frame(media=c(mediac1,mediac3,mediac3),var= c(varc1,varc2,varc3)) media1= mean(matriz.normal[ ,1]) media2= mean(matriz.normal[ ,2]) media3=mean(matriz.normal[ ,3]) var1=var(matriz.normal[ ,1]) var2=var(matriz.normal[ ,2]) var3=var(matriz.normal[ ,3]) coluna= data.frame(media=c(media1,media3,media3),var= c(var1,var2,var3)) ##103.4 Lendo e salvando seus dados 100 12/05/2017 8:00 e.grandis= read.table("egrandis.csv", header= TRUE, sep = ";", as.is = F, dec=".") str(e.grandis) help("read.table") breviarium= summary(e.grandis) cont.1= table(e.grandis$ano) cont.2= table (e.grandis$rotacao, e.grandis$regiao) bofete= (e.grandis[e.grandis$regiao=="Bofete", ]) help("write.table") dir() write.table(bofete, file="bofete.txt", sep="\t", row.names =F) ##103.5 Classes de Objetos 100 12/05/2017 8:00 #class(iris) #class(iris3) ## criando objetos aggregate# tapply alternativa variaveis= data.frame(iris[,-5]) mean.iris= aggregate(variaveis, list(iris$Species), mean) ## apply iris3 dim(iris3) dimnames(iris3) help(apply) mean.iris3=apply(iris3, c(3,2),mean) ### nomecoluna= c("Comprimento da sepala", "Larguda da sepala", "Comprimento da petala", "Largura da petala") colnames(mean.iris3)= nomecoluna ##103.6 Acrescentando dados de síntese dados.esaligna= read.table("esaligna.csv", header= T, sep = ",", as.is=F) str(dados.esaligna) head(dados.esaligna) summary(dados.esaligna) dados.esaligna$soma.folha.tronco= rowSums(dados.esaligna[,c(6,8)]) dados.esaligna2=dados.esaligna dados.area.basal=dados.esaligna2 dados.area.basal$a.basal= ((dados.area.basal$dap/2)^2)*pi dados.esaligna.fin=dados.area.basal dados.esaligna.10cm= dados.esaligna.fin[dados.esaligna.fin$dap>10, ] area.basal= aggregate(dados.esaligna.10cm$a.basal, list(dados.esaligna.10cm$talhao), sum) media.area.basal= aggregate(dados.esaligna.10cm$a.basal, list(dados.esaligna.10cm$talhao), mean) write.table(area.basal, file="ara.basal.10cm.txt", sep="\t") write.table(media.area.basal, file="media.area.basal.10cm.txt", sep="\t")