Nesta sessão iremos usar o R para analisar um experimento em delineamento inteiramente
casualizado.
A seguir são apresentados os comandos para a análise do experimento.
Inspecione-os cuidadosamente e discuta os resultados e a
manipulação do programa R.
Primeiro lemos o arquivo de dados que deve ter sido 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)