# Aula 4: Analises exploratorias ################ #Exercicio 4.2 # ################ #Dados: cervejas <-c("chope","lata","garrafa","chope","garrafa", "garrafa","lata","lata","nenhuma","lata","garrafa","garrafa", "garrafa","lata","lata","lata","garrafa","lata","chope","nenhuma", "garrafa","garrafa","garrafa","chope","garrafa","garrafa","chope","garrafa","lata","lata") #Estrutura dos dados class(cervejas) length(cervejas) summary(cervejas) str(cervejas) unique(cervejas) #Transformando os dados em fator: cervejas.f = factor(cervejas, levels = c("nenhuma", "chope", "lata", "garrafa")) cervejas.f #1) Montar um grafico de barras help("barplot") barplot(table(cervejas), main = "Preferencia de cervejas por estudantes", xlab = "Tipos de cervejas", ylab = "Numero de entrevistados", col = "orange") help("dotchart") dotchart(table(cervejas), main = "Preferencia de cervejas por estudantes", xlab = "Tipos de cervejas", ylab = "Numero de entrevistados") #2) Qual tem maior razao dado por tinta? # Os gráficos feitos com os comandos "barplot" e "dortchart" transmitem a mesma informação ao leitor. Entretanto, o "dortchart" apresenta um menor uso de tinta, possuindo maior razao de informacoes por uso de tinta. ############################ #Ecercicio 4.3 - Caixetais # ############################ help("read.csv") #Lendo os dados cax=read.csv("caixeta.csv") cax summary(cax) length(cax) class(cax) head(cax) str(cax) unique(cax) unique(cax$especie) #Arrumando erro de digitacao do nome da especie: caixeta[which(caixeta$especie=="Callophyllum brasiliensis"),"especie"] = "Calophyllum brasiliensis" # Conferindo a mudanca unique(caixeta$especie) #Formulas para o calculo do DAP: #DAP=2*r #cap=2*pi*r --> logo, r=cap/2*pi #DAP=2*(cap/2*pi) --> DAP=cap/pi dap = cax$cap/pi #Conferindo a criacao da coluna com os dados do DAP no data frame head(cax) # 1) Histograma do dap hist(dap, main="Histograma do DAP das fustes de caixetais", xlab= "DAP (cm)", ylab = "Frequencia" ) # 2) Histogramas da altura das árvores para os diferentes caixetais ('local') cax$local<-as.factor(cax$local) chauas1<-subset(cax, local=="chauas") chauas1 jureia1<-subset(cax, local=="jureia") retiro1<-subset(cax, local=="retiro") par(mfrow=c(1,3)) hist(chauas1$h)###Distribuição assimétrica hist(jureia1$h)###Distribuição normal hist(retiro1$h)###Distribuição bimodal # 3) Há diferenças entre as alturas dos caixetais? #Através dos histogramas, pode-se notar que a estrutura dos dados da Jureia e a que melhor se assemelha a uma distribuicao normal.Enquanto o local Retiro tem aspecto bimodal. ############################ #Exercicio 4.4 Eucaliptos # ########################### # Lendo os dados egrandis=read.csv("egrandis.csv", header = T, sep=";", dec=".", as.is=T) str(egrandis) head(egrandis) summary(egrandis) #Conferindo a tabela, se nao ha erros unique(egrandis$especie) unique(egrandis$regiao) unique(egrandis$ano) unique(egrandis$rotacao) # 1) Boxplot ?boxplot boxplot(egrandis$dap~egrandis$regiao, data=egrandis) boxplot(egrandis$dap~egrandis$rotacao, data=egrandis) str(egrandis) boxplot(egrandis$dap~egrandis$regiao+egrandis$rotacao, dados=egrandis) # 2) Avalie a normalidade da altura do conjunto total de árvores com um gráfico quantil-quantil contra a distribuição normal. qqnorm(egrandis$ht) qqline(egrandis$ht) # A altura das arvores nao obedece uma distribuicao normal. E ainda há um desvio da curva entre o observado e o esperado. ################################ #Exercicio 4.5 Mais Caixetais # ################################ caixeta <- read.csv("caixeta.csv", as.is=T) names(caixeta) head(caixeta) str(caixeta) unique(caixeta$especie) #Alterando o nome da especie que foi escrito errado caixeta[which(caixeta$especie=="Callophyllum brasiliensis"),"especie"]<-"Calophyllum brasiliensis" # 1. Analise a relação dap-altura ('dap' e 'h') em função do caixetal (local) com a função plot, mas somente para as árvores de caixeta (Tabebuia cassinoides). #Calculo do DAP caixeta$dap<-(caixeta$cap/pi) #Verificacao de entrada dos dados DAP head(caixeta) tabcas<-subset(caixeta,especie=="Tabebuia cassinoides") str(tabcas) tabcas$arvore<-as.factor(tabcas$arvore) #Calculo da area basal de cada fuste tabcas$areafustes<-(tabcas$cap^2*pi)/4 head(tabcas) #Altura media por arvore areaarvoresAlt<-aggregate(tabcas$h,by=list(Local=tabcas$local,Arvore=tabcas$arvore),mean) arvore_local<-aggregate(tabcas$areafustes,by=list(Local=tabcas$local,Arvore=tabcas$arvore),sum) #Calculo da area basal de cada fuste arvore_local$DAP<-sqrt(4*arvore_local$x/pi) colnames(areaarvoresAlt)<-c("a","b", "Alt") arvore_local$Alt<-areaarvoresAlt$Alt colnames(arvore_local)<-c("Local", "Arvore", "Areafustes", "DAP", "Alt") head(arvore_local) grchauas<-subset(arvore_local, arvore_local$Local=="chauas") grjureia<-subset(arvore_local, arvore_local$Local=="jureia") grretiro<-subset(arvore_local, arvore_local$Local=="retiro") par(mfrow=c(1,3)) plot(grchauas$DAP,grchauas$Alt) plot(grjureia$DAP,grjureia$Alt) plot(grretiro$DAP,grretiro$Alt) #Scatter.smooth par(mfrow=c(1,3)) scatter.smooth(grchauas$DAP,grchauas$Alt, xlab="DAP", ylab="Alt") scatter.smooth(grjureia$DAP,grjureia$Alt, xlab="DAP", ylab="Alt") scatter.smooth(grretiro$DAP,grretiro$Alt, xlab="DAP", ylab="Alt") #3) relação dap-altura ('dap' e 'h') em função do caixetal (local), mas somente para as árvores de caixeta (Tabebuia cassinoides). library(lattice) par(mfrow=c(1,1)) xyplot(arvore_local$DAP~arvore_local$Alt|arvore_local$Local, xlab="DAP", ylab="Alt")