====== 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)