O objetivo desta aula é utilizar o software R para realizar a análise de variância de um experimento conduzido no Delineamento em Quadrado Latino.
Serão utilizados os dados do experimento sobre produção de grãos de diferentes variedades de feijão, página 76 das notas de aula.
A seguir são apresentados os comandos para a análise do experimento. Procure entender o que cada
comando executa e compare as saídas com os resultados apresentados em sala de aula.
Inicialmente, o arquivo de dados está disponível em arquivo de
dados
que deve ser copiado para o seu diretório de trabalho.
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: 7.6 2: 8.2 3: 10.4 ... 25: 7.5 26: Read 25 items
Agora vamos montar um data.frame com os dados e os indicadores de tratamentos, linhas e colunas:
trat<-c("B","A","D","E","C","C","B","E","A","D","A","D","B","C","E","D","E","C","B","A","E","C","A","D","B") trat<-as.factor(trat) lat01 <- data.frame(linha=factor(rep(1:5, each=5)), coluna=factor(rep(1:5,5)), trat=trat, resp=y)
Note que usamos a função factor para indicar que as variáveis linhas e colunas são níveis de fatores e não valores numéricos.
O mesmo vale para tratamentos.
Pode-se utilizar o comando read.table para ler o arquivo de dados:
lat01 <- read.table("latino01.txt", header=T) lat01
Caso o arquivo esteja em outro diretório deve-se colocar o caminho
completo deste diretório no argumento de read.table acima.
Vamos agora explorar um pouco os dados.
names(lat01) summary(lat01) attach(lat01) plot(resp ~ coluna + linha + trat) lat01.mt <- tapply(resp, trat, mean) lat01.mt lat01.ml <- tapply(resp, linha, mean) lat01.ml lat01.mc <- tapply(resp, coluna, mean) lat01.mc plot.default(trat, resp) points(lat01.mt, 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 linhas, colunas 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.
lat01.av <- aov(resp ~ coluna + linha + trat) anova(lat01.av) names(lat01.av)
Graficamente
par(mfrow=c(2,2)) plot(lat01.av)
Homocedasticidade, Normalidade e Independência
residuos <- (lat01.av$residuals) par(mfrow=c(2,2)) plot(lat01$trat,residuos) title("Resíduos vs Estágios \n Homocedasticidade") preditos <- (lat01.av$fitted.values) plot(residuos,preditos) title("Resíduos vs Preditos \n Independência") qqnorm(residuos,ylab="Residuos", main=NULL) qqline(residuos) title("Grafico Normal de \n Probabilidade dos Resíduos") par(mfrow=c(2,1)) respad <- (residuos/sqrt(anova(lat01.av)$"Mean Sq"[4])) boxplot(respad) title("Resíduos Padronizados - outliers") outlier<-c(max(respad),min(respad)) outlier
shapiro.test(residuos)
Como foi detectado efeito de tratamentos faz-se um teste de comparações múltiplas e encerra-se as análises desanexando o objeto do caminho de procura.
lat01.tk <- TukeyHSD(lat01.av, "trat", ord=T) lat01.tk plot(lat01.tk) detach(lat01)
Analise o experimento da página 80, tabela 16, das notas de aula da disciplina de
Planejamento de Experimentos I.
Dado o seguinte conjunto de dados de um experimento conduzido no delineamento em quadrado latino, faça a análise de variância e verifique os pressupostos.
Linhas | Colunas | ||||
I | II | III | IV | V | |
I | 432 D | 518 A | 458 B | 583 C | 331 E |
II | 724 C | 478 E | 524 A | 550 B | 400 D |
III | 489 E | 384 B | 556 C | 297 D | 420 A |
IV | 494 B | 500 D | 313 E | 486 A | 501 C |
V | 515 A | 660 C | 438 D | 394 E | 318 B |
Adilson dos Anjos 2006-04-17