Monise Terra Cerezini Exercícios Aula 6 - Teste de Hipótese e Simulação ##Crie seus dados A. Dez observações de uma amostra de uma distribuição normal com média 6 e desvio padrão 3 > dados.a=round(rnorm(10, mean=6,sd=3),1) > dados.a [1] 4.7 -1.4 8.2 5.4 2.1 3.1 8.6 8.9 7.9 3.2 B. Idem para uma distribuição normal com média 7.5 e desvio padrão 3.2 > dados.b=round(rnorm(10, mean=7.5,sd=3.2),1) > dados.b [1] 6.0 12.2 7.7 12.3 6.7 6.3 11.9 6.7 6.3 2.5 1. Utilize a função simula.r e teste a hipótese que as médias das amostras são diferentes. Não esqueça de usar a função source() para carregar a função! source("simula.r") > dif=abs(mean(dados.a)-mean(dados.b)) > dif [1] 2.14 simula=simula(dados.a,dados.b,nsim=2000) > table(simula) simula 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 69 114 127 125 111 112 100 105 108 90 84 89 86 75 73 69 49 40 51 39 42 33 35 22 15 21 16 18 12 8 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.3 4.5 13 7 5 6 9 3 5 4 2 2 1 3 2 > soma=sum(simula>=dif) > soma [1] 209 > prob=soma/length(simula) > prob [1] 0.104 2. Teste agora que a média da segunda amostra é maior que a primeira. simula.dados=simula(dados.a,dados.b, teste= "uni", nsim=2000) table(simula.dados.uni) m.maior=sum(simula.dados>=dif) m.maior m.menor=sum(simula.dados<=-3.9) m.menor p.bi=(m.maior+m.menor)/length(simula.dados) p.bi 3. Utilize agora a função t.test() para testar as mesmas hipóteses. Os resultados são iguais? t.test(dados.a,dados.b) 4. Não esqueça de fazer um gráfico para mostrar os dados… boxplot(dados.a,dados.b, names=c("Dados A","Dados B")) ##Caixeta de NOVO?! Utilizando os dados da planilha caixeta.csv caixeta=read.table("caixeta.csv", header=TRUE, sep=",", as.is=TRUE) str(caixeta) head(caixeta) summary(caixeta) 1. Calcule os valores de área basal por fuste caixeta.fuste.basal=2*pi*(caixeta$cap/2) caixeta.fuste.basal 2. Calcule os valores de área basal por amostra em cada uma das localidades caixeta.chauas=caixeta[(caixeta$local=="chauas"),] caixeta.jureia<-caixeta[(caixeta$local=="jureia"),] caixeta.retiro<-caixeta[(caixeta$local=="retiro"),] fuste.chauas<-tapply(caixeta.chauas$basal, INDEX=caixeta.chauas$parcela, FUN=sum) fuste.chauas fuste.jureia<-tapply(caixeta.jureia$basal, INDEX=caixeta.jureia$parcela, FUN=sum) fuste.jureia fuste.retiro<-tapply(caixeta.retiro$basal, INDEX=caixeta.retiro$parcela, FUN=sum) fuste.retiro 3. Produza gráficos para mostrar os dados boxplot(fuste.chauas,fuste.jureia,fuste.retiro,xlab="",ylab="Área basal") mtext(c("Chauas", "Jureia", "Retiro"),side= 1,cex=1,line=0.9,at=c(1,2,3)) 4. Calcule os valores de uma tabela Anova para esses dados sendo a variável dependente a área basal e o tratamento as localidades. Cada observação referece a uma amostra ou parcela. caixeta.anova=data.frame(fuste.chauas,fuste.jureia,fuste.retiro) caixeta.anova media=mean(c(fuste.chauas,fuste.jureia,fuste.retiro)) media desvio=caixeta.anova-media desvio desvio.q=desvio^2 desvio.q soma.desvio.q=sum(desvio.q) soma.desvio.q * desvio intra grupos media.local=mean(caixeta.anova) media.local desvios.intra=data.frame(fuste.chauas,fuste.jureia,fuste.retiro) desvios.intra$desvio.chauas=caixeta.anova$fuste.chauas-media.local["fuste.chauas"] desvios.intra$desvio.jureia=caixeta.anova$fuste.jureia-media.local["fuste.jureia"] desvios.intra$desvio.retiro=caixeta.anova$fuste.retiro-media.local["fuste.retiro"] desvios.intra desvio.chauas=sum(desvios.intra["desvio.chauas"]^2) desvio.chauas desvio.jureia=sum(desvios.intra["desvio.jureia"]^2) desvio.jureia desvio.retiro=sum(desvios.intra["desvio.retiro"]^2) desvio.retiro soma.intra=sum(desvio.chauas,desvio.jureia,desvio.retiro) soma.intra *desvio entre grupos soma.entre=soma.desvio.total.q-soma.intra soma.entre *graus de liberdade gl.total=15-1 gl.intra=15-3 gl.entre=gl.total-gl.intra *desvio médio des.medio.intra=soma.intra/gl.intra des.medio.intra des.medio.entre=soma.entre/gl.entre des.medio.entre *calculo de F F=des.medio.entre/des.medio.intra F *calculo de p prob=pf(F, 2, 12, lower.tail = FALSE, log.p = FALSE) prob 5. Calcule a tabela de anova com a função aov(). basal=c(fuste.chauas,fuste.jureia,fuste.retiro) locais=as.factor(c(rep(c("fuste.chauas","fuste.jureia", "fuste.retiro"), each=5))) aov(basal~locais) 6. Qual é a porcentagem de variação explicada pela localidade nesse caso? > p.local=(soma.entre/soma.intra)*100 > p.local ### 22% é explicado pela localidade. [1] 22.15815