Exemplo: Introdução a análise de experimentos
Neste exemplo mostramos exemplos simplificados de recursos para análise de experimentos.
A ênfase aqui é somente ilustrar o uso da linguagem. Mais detalhes sobre recursos para análise serão fornecidos em outros tutoriais
Experimento inteiramente casualizado
Nesta sessão iremos usar o R para analisar um experimento em delineamento inteiramente
casualizado.
Primeiro lemos o arquivo de dados exemplo01.txt que deve ser copiado para o seu diretório de trabalho.
ex01 <- read.table("exemplo01.txt", head=T) ex01
Caso o arquivo esteja em outro diretório deve-se colocar o caminho
completo deste diretório no argumento de read.table()
acima.
A seguir vamos inspecionar o objeto que armazena os dados e suas componentes.
is.data.frame(ex01) names(ex01) ex01$resp ex01$trat is.factor(ex01$trat) is.numeric(ex01$resp)
Portando concluímos que o objeto é um data-frame com duas variáveis, sendo uma delas um fator (a variável trat) e a outra uma variável numérica.
Vamos agora fazer uma rápida análise descritiva:
summary(ex01) tapply(ex01$resp, ex01$trat, mean)
Há um mecanismo no R de "anexar" objetos ao caminho de procura
que permite economizar um pouco de digitação.
Veja os comandos abaixo e compara com o comando anterior.
search() attach(ex01) search() tapply(resp, trat, mean)
Interessante não? Quando "anexamos" um objeto do tipo list ou
data.frame no caminho de procura
com o comando attach()
fazemos com que os componentes deste
objeto se tornem imediatamente disponíveis e portanto podemos, por
exemplo, digitar
somente trat
ao invés de ex01\$trat
.
Vamos prosseguir com a análise exploratória, obtendo algumas medidas e gráficos.
ex01.m <- tapply(resp, trat, mean) ex01.m ex01.v <- tapply(resp, trat, var) ex01.v plot(ex01) points(ex01.m, pch="x", col=2, cex=1.5) boxplot(resp ~ trat)
Além dos gráficos acima podemos também verificar a homogeneidade de variâncias com o Teste de Bartlett.
bartlett.test(resp, trat)
Agora vamos fazer a análise de variância. Vamos "desanexar" o objeto com os dados (embora isto não seja obrigatório).
detach(ex01) ex01.av <- aov(resp ~ trat, data = ex01) ex01.av summary(ex01.av) anova(ex01.av)
Portanto o objeto ex01.av
guarda os resultados da análise.
Vamos inspecionar este objeto mais cuidadosamente e fazer também uma
análise dos resultados e resíduos:
names(ex01.av) ex01.av$coef ex01.av$res residuals(ex01.av) plot(ex01.av) # pressione a tecla enter para mudar o gráfico par(mfrow=c(2,2)) plot(ex01.av) par(mfrow=c(1,1)) plot(ex01.av$fit, ex01.av$res, xlab="valores ajustados", ylab="resíduos") title("resíduos vs Preditos") names(anova(ex01.av)) s2 <- anova(ex01.av)$Mean[2] # estimativa da variância res <- ex01.av$res # extraindo resíduos respad <- (res/sqrt(s2)) # resíduos padronizados boxplot(respad) title("Resíduos Padronizados" ) hist(respad, main=NULL) title("Histograma dos resíduos padronizados") stem(respad) qqnorm(res,ylab="Residuos", main=NULL) qqline(res) title("Grafico Normal de Probabilidade dos Resíduos") shapiro.test(res)
E agora um teste Tukey de comparação múltipla
ex01.tu <- TukeyHSD(ex01.av) plot(ex01.tu)