Exercícios da Aula 4 #1. Cervejas Uma amostra de 30 estudantes foi indagada sobre seu tipo de cerveja preferida, com o seguinte resultado cervejas <-c("chope","lata","garrafa","chope","garrafa",garrafa","lata","lata","nenhuma","lata","garrafa","garrafa",garrafa","lata","lata","lata","garrafa","lata","chope ,enhuma","garrafa","garrafa","garrafa","chope","garrafa","garrafa","chope","garrafa","lata","lata") Represente este resultado como um gráfico de barras e um stripplot (função stripchart). #Codigo 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") class(cervejas) cerv.tab = table(cervejas) #Barplot barplot(cerv.tab) cerv.tab #Stripchart stripchart(cerv.tab, vertical=T) #R: Para pequenas amostras o stripchart deixa mais claro e leve os gráficos para interpretacao #2. Rios O conjunto de dado rivers está em um objeto do pacote datasets. e tem a extensão dos principais rios da América do Norte, em milhas (consulte a ajuda para detalhes). Para carregar um objeto de dados de um pacote em sua área de trabalho use a função data: #2.###Rios library(help="datasets") search() rivers class(rivers) summary(rivers) mean(rivers) #2.1 #Proporção de rios maiores que a média Rios.m.m = sum(rivers<=mean(rivers))/length(rivers) Rios.m.m [1] 0.6666667 #2.2 #Quantil de 75% quantil.75 = quantile(rivers)[4] quantil.75 75% 680 #2.3 #Media, Mediana e Media (trim=.25) Comp.par.ten.central=c(mean(rivers), mean(rivers, trim=0.25), median(rivers)) Comp.par.ten.central [1] 591.1844 449.9155 425.0000 #3.###Caixetais Neste exercício, use o objeto caixeta, criado no tutorial Exploração de uma Variável Categórica. #3.1 - Construa um histograma da altura dos fustes do caixetal. Caixeta = read.csv("caixeta.csv",header = TRUE, sep = ",", quote="\"", dec=".", fill = TRUE,) str(caixeta) summary(caixeta) head(caixeta) #Histograma de altura dos fustes hist(caixeta$h) #3.2 - Construa histogramas da altura das árvores para os diferentes caixetais ('local'). str(caixeta$local) caixeta$local = as.factor(caixeta$local) caixeta.names = levels(caixeta$local) levels(caixeta$local) par(mfrow=c(2,2)) #Histograma de altura dos fustes de chauas hist(caixeta[caixeta$local==caixeta.names[1],6], main="Chauas", xlim=c(0,200)) #Histograma de altura dos fustes de jureia hist(caixeta[caixeta$local==caixeta.names[2],6], main="Jureia", xlim=c(0,200)) #Histograma de altura dos fustes de retiro hist(caixeta[caixeta$local==caixeta.names[3],6], main="Retiro", xlim=c(0,200)) par(mfrow=c(1,1)) #3.3 - Há diferenças entre as estruturas (distribuição de tamanhos) dos caixetais Plotando os 3 gráficos na mesma janela é possível observar uma diferença de distribuição das classes entre os caixetais. Chauas possui seus indivíduos concentrados nas classes de 50 e 100. Retiro, assim como Chauas, apresenta seus indiviuos concetrados na mesma faixa, mas apresenta uma distribução mais homogenea nas demais classes quando comparada com a Chauas. Jureia apresenta da distruibuição mais homogenea das 3 com os indivíduos concetrados na faixa 75 -125. #4.###Eucaliptos Neste exercício, use o conjunto de dados Inventário em Florestas Plantadas de Eucalyptus grandis. #4.1 - Utilize o gráfico boxplot para analisar o DAP de árvores de E. grandis em função das variáveis região ('regiao') e rotação ('rot'). par(mfrow=c(2,1)) boxplot(egrandis$dap~egrandis$regiao) boxplot(egrandis$dap~egrandis$rot) par(mfrow=c(1,1)) Bofete apresenta a maior média de dap.Contudo Botucatu possui uma grande quantidade de valores extremos de DAP. #4.2 - Avalie a normalidade da altura do conjunto total de árvores com um gráfico quantil-quantil contra a distribuição normal. is.na(egrandis$ht) qqnorm(egrandis$ht) qqline(egrandis$ht) hist(egrandis$ht, prob=T) curve(expr=dnorm(x,mean=mean(egrandis$ht), sd=sd(egrandis$ht)), add=T, col="red") Pelo gráfico da qqnorm, observamos um claro desvio da normalidade nas observações de altura. Essa observação é reforçada ao observarmos o histograma acrescido da curva normal. #5.###Mais Caixetais Aqui usaremos novamente o objeto caixeta, criado no tutorial Exploração de uma Variável Categórica. #5.1 - Analise a relação dap-altura ('dap' e 'h') em função do caixetal, mas somente para os fustes de caixeta (Tabebuia cassinoides). names(caixeta) str(caixeta) #Separando a especie T. cassinoides das demais caixeta$especie = as.factor(caixeta$especie) caixeta$local = as.factor(caixeta$local) caixeta$especie=="Tabebuia cassinoides" caixeta.T.cassinoides = caixeta[caixeta$especie=="Tabebuia cassinoides",] head(caixeta.T.cassinoides) #Criando coluna de DAP caixeta.T.cassinoides$DAP = caixeta.T.cassinoides$cap/pi #Separando por locais caixeta$local==caixeta.levels[1] caixeta.levels=levels(caixeta$local) caixeta.t.chauas = caixeta.T.cassinoides[caixeta.T.cassinoides$local==caixeta.levels[1],] caixeta.t.jureia = caixeta.T.cassinoides[caixeta.T.cassinoides$local==caixeta.levels[2],] caixeta.t.retiro = caixeta.T.cassinoides[caixeta.T.cassinoides$local==caixeta.levels[3],] #Grafico de DAP vs Altura por local par(mfrow=c(2,2)) plot(DAP~h, data=caixeta.t.chauas) plot(DAP~h, data=caixeta.t.jureia, col="red") plot(DAP~h, data=caixeta.t.retiro, col="blue") par(mfrow=c(1,1)) #5.2 - Para a mesma relação do item anterior, verifique linearidade com a função scatter.smooth par(mfrow=c(2,2)) scatter.smooth(caixeta.t.chauas$DAP~caixeta.t.chauas$h, xlab = "Altura", ylab = "DAP") scatter.smooth(caixeta.t.jureia$DAP~caixeta.t.jureia$h, xlab = "Altura", ylab = "DAP",col="red") scatter.smooth(caixeta.t.retiro$DAP~caixeta.t.retiro$h, xlab = "Altura", ylab = "DAP",col="blue") par(mfrow=c(1,1)) #5.3 - Utilizando o pacote lattice, analise a relação dap-altura ('dap' e 'h') em função do caixetal, mas somente para os fustes de caixeta (Tabebuia cassinoides). search() library(lattice) ?xyplot xyplot(caixeta.T.cassinoides$DAP~caixeta.T.cassinoides$h|caixeta.T.cassinoides$local, ylab = "Altura", xlab = "DAP", subset = TRUE) Dica: veja o argumento subsets das funções de gráficos.