#Exercícios 6 - Teste de Hipótese e Simulação ##Gustavo Agudelo. No. USP: 8893871 setwd("E:/Science/USP/Mestrado Fisiologia Geral_IB-USP/Disciplinas/Primeiro semestre_2014-1/Uso da Linguagem R para Análise de Dados em Ecologia_2014-1/Exercícios R/Exercícios 6 - Teste de Hipótese e Simulação") #6.1 Crie seus dados conj1 <- rnorm(10, mean=6, sd=3) conj1 m.conj1 <- mean(conj1) conj2 <- rnorm(10, mean=7.5, sd=3.2) conj2 m.conj2 <- mean(conj2) conjs <- c(conj1, conj2) mean(conjs) sd(conjs) mean(conj2)-mean(conj1) mean(conj1)-mean(conj2) dif=abs(mean(conj2)-mean(conj1)) dif source("simula.r") sim.dif <- simula(conj1, conj2, nsim=2000) sim.maior <- simula(conj2, conj1, teste= "uni", nsim=2000) n.maior=sum(round(sim.maior$diferencas,1)>=round(dif,1)) n.menor=sum(round(sim.maior$diferencas,1)<=round((dif*-1),1)) n.maior n.menor p.bi=(n.maior+n.menor)/2000 p.bi p.uni=n.maior/2000 p.uni t.dif <- t.test(conj2, conj1) t.dif t.maior <- t.test(conj2, conj1, alternative = "greater") t.maior #6.2 ANOVA na unha mudas <- read.table("altura-mudas.csv", header=T, sep=",") str(mudas) head(mudas) summary(mudas) tamboril <- subset(mudas,mudas$especie=="tamboril") str(tamboril) head(tamboril) tamboril$substrato <- as.factor(tamboril$substrato) #A variável medida é a altura e o fator de interesse é substrato #Para cada substrato (10) existem 6 réplicas de tamboril (60 dados) media.geral <- mean(tamboril$altura) dif.geral = (tamboril$altura-media.geral) sum(dif.geral) round(sum(dif.geral),60) ss.altura = dif.geral^2 ss.altura ss.total = sum(ss.altura) ss.total media.tamboril <- tapply(tamboril$altura, tamboril$substrato,mean) media.tamboril ss.intra = sum((tamboril$altura - rep(media.tamboril, each=6))^2) ss.intra ss.entre = 6*sum((media.tamboril-media.geral)^2) ss.entre gl.total = (60-1) gl.entre = (10-1) gl.intra = (gl.total-gl.entre) ms.intra = (ss.intra/gl.intra) ms.entre = (ss.entre/gl.entre) razao = (ms.entre/ms.intra) prob = pf(razao, gl.entre, gl.intra, lower.tail = F) porc = 100*(ss.entre/ss.total) #Um 56.54% da variação na altura das mudas é explicada pela diferença no substrato. ##Gráficos vetor.obs = 1:60 vetor.dados = as.numeric(tamboril$altura) vetor.cor <- rep(1:10, each=6) vetor.medias <- rep(media.tamboril, each=6) #SS total plot(vetor.obs,vetor.dados,ylim=c(0,90),pch=(rep(1:10,each=6)),col=vetor.cor,main="SS Total",ylab="Variável Resposta", xlab="Observações") for(i in 1:60) { lines(c(i,i),c(vetor.dados[i],mean(vetor.dados)),col=vetor.cor[i]) } abline(h=media.geral) #SS Intra grupo plot(vetor.obs,vetor.dados,ylim=c(0,90),pch=(rep(1:10,each=6)),col=vetor.cor,main="SS Intra grupo",ylab="Variável Resposta", xlab="Observações") for(i in 1:60) { lines(c(i,i),c(vetor.medias[i],vetor.dados[i]),col=vetor.cor[i]) } lines(c(1,6),c(media.tamboril[1],media.tamboril[1]),col=1) lines(c(7,12),c(media.tamboril[2],media.tamboril[2]),col=2) lines(c(13,18),c(media.tamboril[3],media.tamboril[3]),col=3) lines(c(19,24),c(media.tamboril[4],media.tamboril[4]),col=4) lines(c(25,30),c(media.tamboril[5],media.tamboril[5]),col=5) lines(c(31,36),c(media.tamboril[6],media.tamboril[6]),col=6) lines(c(37,42),c(media.tamboril[7],media.tamboril[7]),col=7) lines(c(43,48),c(media.tamboril[8],media.tamboril[8]),col=8) lines(c(49,54),c(media.tamboril[9],media.tamboril[9]),col=9) lines(c(55,60),c(media.tamboril[10],media.tamboril[10]),col=10) #SS Intra grupo plot(vetor.obs,vetor.medias,ylim=c(10,80),pch=(rep(1:10,each=6)),col=vetor.cor,main="SS Entre Grupos",ylab="Variável Resposta", xlab="Observações") for(i in 1:60) { lines(c(i,i),c(vetor.medias[i],mean(vetor.medias)),col=vetor.cor[i]) } abline(h=media.geral) points(vetor.obs,vetor.dados,ylim=c(0,90),pch=(rep(1:10,each=6)),col=vetor.cor,cex=0.5) #6.3 ANOVA fácil! mudas <- read.table("altura-mudas.csv", header=T, sep=",") tamboril <- subset(mudas,mudas$especie=="tamboril") str(tamboril) tamboril$substrato <- as.factor(tamboril$substrato) aov.tamboril <- aov(tamboril$altura ~ tamboril$substrato) aov.tamboril summary(aov.tamboril)