# ### EXERCÍCIO 3 ### # ## Distância entre Cidades ## # # 1. Matriz de valores # eurocid=c(0,3949,3000,3927,3949,0,1273,3188,3000,1273,0,1827,3927,3188,1827,0) eurocid cid.lin=c("Atenas","Madri","Paris","Estocolmo") cid.col=c("Atenas","Madri","Paris","Estocolmo") cid.lis=list(cid.lin,cid.col) cid.dis=matrix(eurocid,nrow=4,ncol=4,byrow=TRUE,dimnames=cid.lis) cid.dis # # 2. # eurodist # ## Criação de um Data Frame ## # # 1. Data-frame pes=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) die=rep(c(rep("A",3),rep("B",3),rep("C",3)),2) cor=c(rep("claros",9),rep("escuros",9)) cam=c(1:18) expto=data.frame(cam,cor,die,pes) expto # # 2. Média por dieta e fenótipo mean(expto$pes[expto$die=="A"]) mean(expto$pes[expto$die=="B"]) mean(expto$pes[expto$die=="C"]) mean(expto$pes[expto$die=="A"]) mean(expto$pes[expto$die=="B"]) mean(expto$pes[expto$cor=="claros"]) mean(expto$pes[expto$cor=="escuros"]) # ## Criando uma Matriz ## # # 1. Construção de matriz 3X5; média=10 e var=3,6 norma.dados=rnorm(n=15,mean=10,sd=3.6) norma.dados # # 2. Nomeação da matriz lin=paste("L",1:3) col=paste("C",1:5) lin.col=list(lin,col) matz=matrix(norma.dados,nrow=3,ncol=5,byrow=TRUE,dimnames=lin.col) matz # # 3. Calculos da média e var. e construção do data.frame med.col=apply(matz,2,mean) med.lin=apply(matz,1,mean) var.col=apply(matz,2,var) var.lin=apply(matz,1,var) med=c(med.lin,med.col) var=c(var.lin,var.col) parcial=c(lin,col) total=data.frame(parcial,med,var) total # ## Lendo e Salvando seus Dados ## # # 1. Leitura do arquivo 'babies' help(read.table) bebes=read.delim("babies.txt",header=TRUE,sep=" ",as.is=TRUE) bebes dim(bebes) str(bebes) class(bebes) # # 2. Manipulando e salvando os dados bebes.age=table(bebes$age) bebes.smoke=table(bebes$smoke) bebes.weight=table(bebes$weight) bebes.col=c("Idade","Peso","Fumante") bebes.lin=c(bebes.age,bebes.weight,bebes.smoke) bebes.aw=bebes[bebes$age==bebes$weigh,] bebes.aw # ##### Não consegui dar continuidade, estou com dúvidas de como terminar este item ##### # ## Classes de Objetos ## # # 1. Classes dos objetos library(datasets) iris iris3 class(iris) class(iris3) # # 2. Calculo das médias das spp iris.a=iris iris.a sep.len=tapply(iris.a$Sepal.Length,iris.a$Species,mean) sep.wid=tapply(iris.a$Sepal.Width,iris.a$Species,mean) pet.len=tapply(iris.a$Petal.Length,iris.a$Species,mean) pet.wid=tapply(iris.a$Petal.Width,iris.a$Species,mean) iris.a.media=data.frame(sep.len,sep.wid,pet.len,pet.wid) iris.a.media # iris.b=iris3 iris.b setosa=iris.b[, , "Setosa"] setosa class(setosa) versicolor=iris.b[, , "Versicolor"] versicolor class(versicolor) virginica=iris.b[, , "Virginica"] virginica class(virginica) setosa.media=apply(setosa,2,mean) setosa.media versicolor.media=apply(versicolor,2,mean) versicolor.media virginica.media=apply(virginica,2,mean) virginica.media iris.b.media=data.frame(setosa.media,versicolor.media,virginica.media) iris.b.media # # 3. Mudança de nomes iris.a names=colnames(iris.a) nomes=c("Comprimento.Sepala","Largura.Sepala","Comprimento.Petala","Largura.Petala","Espécies") colnames(iris.a)=nomes iris.a # iris.b names3=colnames(iris.b) nomes3=c("Comp.Sepala","Lar.Sepala","Comp.Petala","Lar.Petala") colnames(iris.b)=nomes3 iris.b # ## Acrescentando Dados de Síntese ## # # 1. Criação de um objeto biomas.saligna=read.delim("esaligna.csv",header=TRUE,sep=",") biomas.saligna # # 2. Utilização da função 'summary' summary(biomas.saligna) # # 3. Adição de dados numa nova coluna str(biomas.saligna) fol.tron=biomas.saligna$folha+biomas.saligna$tronco fol.tron biomas.saligna.a=data.frame(biomas.saligna,fol.tron) str(biomas.saligna.a) # # 4. Nova coluna com a área basal area.basal=pi*(biomas.saligna$dap/2)^2 area.basal biomas.saligna.b=data.frame(biomas.saligna.a,area.basal) str(biomas.saligna.b) # # 5. Calculo da área basal total em um novo objeto basal=tapply(biomas.saligna.b$area.basal, biomas.saligna$talhao,sum) basal # # 6. Calcula da média da área basal por talhão area.basal.talhao=tapply(biomas.saligna.b$arvore,biomas.saligna.b$talhao,mean) area.basal.talhao # # 7. Árvores com mais de 10cm de diâmetro maior.10=biomas.saligna.b[biomas.saligna.b$dap>10,] maior.10 # # 8. Salvar em .txt getwd() write.table(maior.10,file="maior.10.txt",row.names=FALSE) # ## #### FIM! Do Exercício 3 #### q()