##EXERCÍCIO 3## #1 ##Distância entre cidades cidades =c("Atenas", "Madri","Paris", "Estocolmo") dist=c(NA,NA,NA,NA,3947,NA,NA,NA,3000,1273,NA,NA,3927,3188,1827,NA) mt.cid=matrix(dist,4,4,byrow = TRUE) mt.cid# verficando colnames(mt.cid)=cidades#mudar nome de colunas rownames(mt.cid)=cidades# mudar nome de linhas mt.cid # Comparando com eurodist search() # comando para procurar os pacotes existentes eurodist str(eurodist) str(mt.cid)# eurodist é maior class(eurodist) class(mt.cid)# eurodist é uma matriz de distancia e a que criei é apenas uma matriz #2 ###Criação de um data frame #18 valores ao todo = 18 linhas help(rep)#rep.int(x, times) cor = c(rep("claros", 9),( rep("escuros", 9)))#9 claros e 9 escuros cor class(cor) #outra forma de fazer rep dieta=rep(c("A","B","C"),time=2, each=3) dieta class(dieta) ind=c(paste("indiv",1:18)) ind peso=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) peso help(data.frame)#data.frame(..., row.names = NULL, check.rows = FALSE,check.names = TRUE,stringsAsFactors = default.stringsAsFactors()) conj.dados=data.frame(ind,cor,dieta,peso,row.names="ind") conj.dados #data frame feito ! #Média help(tapply)#tapply(objeto, indice,função, ...) conj.dados str(conj.dados) peso.dieta = tapply(peso,dieta,mean)#média de pesos para cada peso.dieta peso.fen=tapply(peso,cor,mean)#média de pesos pra cada cor peso.fen #3 #Criando uma Matriz help(rnorm) norm=rnorm(15, mean = 10, sd = 3.6)#objeto que irá sortear 15 valores dentro da dist normal norm class(norm) help(matrix)#vendo argumentos # transformando em matriz minha.ma=matrix(norm,3,5) minha.ma minha.ma=matrix(norm,3,5) minha.ma class(minha.ma) # Nomeando linhas e colunas rownames(minha.ma)=paste("L",1:3) colnames(minha.ma)=paste("C",1:5) minha.ma #matriz com nomes incluidos #média e a variância por colunas e depois por linhas minha.ma args(apply)#para embrar- margin 1 é linha, 2 é coluna e c(1,2) é linha e coluna linha.med=apply(minha.ma,MARGIN=1col.med=apply(minha.ma,MARGIN=2,mean,mean) linha.med linha.var=apply(minha.ma,MARGIN=1,var) linha.var col.med=apply(minha.ma,MARGIN=2,mean) col.med col.var=apply(minha.ma,MARGIN=2,var) col.var args(data.frame) data.final=c(data.frame(col.med,col.var),(data.frame(linha.med,linha.var))) data.final class(data.final) #4 #Lendo e Salvando seus dados caix=choose.files() caix caix.dados=read.table(caix,header=TRUE, sep=",",as.is=TRUE) caix.dados class(dados.fl)#vendo classe do objeto criado str(caix.dados) summary(dados.fl)#sumário caix.cap # segunda parte help(write.table) args(write.table) head(caix.dados) write.table(list(caix.dados[ ,4:5]),file="C:\\Users\\User\\Desktop\\caixeta.txt",sep="\t", row.names=FALSE) #Salvei um novo arquivo chamado caixeta em formato txt, separado por tabulação e sem nome de linhas #Classes de Objetos class(iris) class(iris3) args(tapply)#function (X, INDEX, FUN = NULL, ..., simplify = TRUE) tapply(iris,(,1,FUN=mean) str(iris) head(iris) # médias s.l=tapply(iris[,1],iris$Species,mean) s.w=tapply(iris[,2],iris$Species,mean) p.l=tapply(iris[,3],iris$Species,mean) p.w=tapply(iris[,4],iris$Species,mean) s.l p.w p.w s.w #mudar nomes names(iris) nomes=names(iris)=c("s.quant", "s.dist","p.quant","p.dist","espécies") #guardar o resultado da função de names(iris) em "nomes" nomes head(iris) #Acrescentando Dados de Síntese args(read.table) esa=(file.choose())#procurando arquivo dados.esa=read.table(esa,header=TRUE, sep=",",as.is=TRUE)#atribuindo a um objeto summary(dados.esa)#verificando conteúdo str(dados.esa) names(dados.esa) head(dados.esa) soma.biom= tapply(dados.esa[,9],dados.esa$total,sum) nomes=names(dados.esa)=c("arvore", "classe", "talhao", "dap" , "ht" , "tronco", "sobra" , "folha","total","soma biomassa" ) #Acrescentando Dados de Síntese esa=file.choose() args(read.table) e.salina=read.table(esa,header=TRUE,sep=",",as.is=TRUE,dec=".")#não esquecer de colocar a separação do decimal !!! str(e.salina)#verificando estrutura head(e.salina)#aparentemente tudo certo !vamos continuar ! summary(e.salina)#verificando conteúdo de e.salina class(e.salina) #acrescentando um coluna #soma da biomassa[ e.salina$biom.soma = e.salina$folha + e.salina$tronco #somando e acrescentando e.salina #area basal head(e.salina) e.salina$a.basal=(e.salina$dap^2)*(pi/4) e.salina # media por talhao head(e.salina) med.basal=mean(e.salina$talhao) med.basal #selecionar arvores maiores que 10 cm de diametro head(e.salina) arv=e.salina$talhao>10 arv # salvando write.table(arv, file="seleção do diametro.txt", sep="\t", row.names=FALSE)