====== Exemplo: Introdução a análise de experimentos (cont.) ======
Neste outro exemplo ainda mostramos exemplos simplificados de recursos para análise de experimentos.\\
A ênfase aqui continua sendo ilustrar o uso da linguagem. Mais detalhes sobre recursos para análise serão fornecidos em outros tutoriais.
===== Experimento em blocos casualizados =====
Vamos agora analisar o experimento em blocos ao acaso.
Os dados são fornecidos na tabela abaixo.
**Conteúdo de óleo de //S. linicola//, em percentagem, em vários estágios de crescimento (Steel \& Torrie, 1980, p.199).**
^Estágios ^ Blocos ^^^^
| | I | II | III | IV |
|Estágio 1 | 4,4 | 5,9 | 6,0 | 4,1 |
|Estágio 2 | 3,3 | 1,9 | 4,9 | 7,1 |
|Estágio 3 | 4,4 | 4,0 | 4,5 | 3,1 |
|Estágio 4 | 6,8 | 6,6 | 7,0 | 6,4 |
|Estágio 5 | 6,3 | 4,9 | 5,9 | 7,1 |
|Estágio 6 | 6,4 | 7,3 | 7,7 | 6,7 |
Inicialmente vamos entrar com os dados no **R**.
Há várias possíveis maneiras de fazer isto.
Vamos aqui usar a função ''scan()'' e entrar com os dados por linha da tabela.
Digitamos o comando abaixo e e função ''scan()'' recebe os dados. Depois de digitar o último dado digitamos
ENTER em um campo em branco e a função encerra a entrada de dados retornando para o //prompt// do programa.
**OBS: ** Note que, sendo um programa escrito na língua inglesa, os decimais devem ser indicados por ''.'' e não por vírgulas.
y <- scan()
#!1: 4.4
#!2: 5.9
#!3: 6.0
#!...
#!24: 6.7
#!25:
#!Read 24 items
Agora vamos montar um //data.frame// com os dados e os indicadores de blocos e tratamentos.
ex02 <- data.frame(estag = factor(rep(1:6, each=4)), bloco=factor(rep(1:4, 6)), resp=y)
Note que usamos a função ''factor'' para indicar que as variáveis ''blocos'' e ''estag'' são níveis de fatores e não
valores numéricos.
Vamos agora explorar um pouco os dados.
names(ex02)
summary(ex02)
attach(ex02)
plot(resp ~ estag + bloco)
interaction.plot(estag, bloco, resp)
interaction.plot(bloco, estag, resp)
ex02.mt <- tapply(resp, estag, mean)
ex02.mt
ex02.mb <- tapply(resp, bloco, mean)
ex02.mb
plot.default(estag, resp)
points(ex02.mt, pch="x", col=2, cex=1.5)
plot.default(bloco, resp)
points(ex02.mb, pch="x", col=2, cex=1.5)
Nos gráficos e resultados acima procuramos captar os principais aspectos dos dados bem como verificar se não há interação entre blocos e tratamentos, o que não deve acontecer neste tipo de experimento.
A seguir vamos ajustar o modelo e obter outros resultados, incluindo a análise de resíduos e testes para verificar a validades dos pressupostos do modelo.
ex02.av <- aov(resp ~ bloco + estag)
anova(ex02.av)
names(ex02.av)
par(mfrow=c(2,2))
plot(ex02.av)
par(mfrow=c(2,1))
residuos <- (ex02.av$residuals)
plot(ex02$bloco,residuos)
title("Resíduos vs Blocos")
plot(ex02$estag,residuos)
title("Resíduos vs Estágios")
par(mfrow=c(2,2))
preditos <- (ex02.av$fitted.values)
plot(residuos,preditos)
title("Resíduos vs Preditos")
respad <- (residuos/sqrt(anova(ex02.av)$"Mean Sq"[2]))
boxplot(respad)
title("Resíduos Padronizados")
qqnorm(residuos,ylab="Residuos", main=NULL)
qqline(residuos)
title("Grafico Normal de \n Probabilidade dos Resíduos")
Teste para normalidade
shapiro.test(residuos)
Testando a não aditividade:
Primeiro vamos extrair coeficientes de tratamentos e blocos
ex02.av$coeff
bl <- c(0, ex02.av$coeff[2:4])
tr <- c(0, ex02.av$coeff[5:9])
bl
tr
e agora criar um novo termo e testar sua significancia na ANOVA
bltr <- rep(bl, 6) * rep(tr, rep(4,6))
ttna <- update(ex02.av, .~. + bltr)
anova(ttna)
Os resultados acima indicam que os pressupostos estão obedecidos para este conjunto de dados e a análise de variância é válida.
Como foi detectado efeito de tratamentos vamos proceder fazendo um teste de comparações múltiplas e encerrar as análises desanexando o objeto do caminho de procura.
ex02.tk <- TukeyHSD(ex02.av, "estag", ord=T)
ex02.tk
plot(ex02.tk)
detach(ex02)