Subsections

Aula 04: Delineamento em Blocos Completos Casualizados

Objetivos da Aula

O objetivo desta aula é utilizar o software R para realizar a análise de variância de um experimento conduzido no Delineamento em Blocos Completos Casualizados.

Trabalhando com o arquivo de dados

Serão utilizados os dados do experimento sobre percentual de óleo em S. linicola em diferentes estágios de crescimento, conduzido no Delineamento em Blocos Completos Casualizados.

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: 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.

bc01 <- 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.

Pode-se utilizar o comando read.table para ler o arquivo de dados:

bc01 <- read.table("exemplo04.txt", header=T)
bc01

Caso o arquivo esteja em outro diretório deve-se colocar o caminho completo deste diretório no argumento de read.table acima.

Explorando os dados

Vamos agora explorar um pouco os dados.

names(bc01)
summary(bc01)

attach(bc01)

plot(resp ~ estag + bloco)

bc01.mt <- tapply(resp, estag, mean)
bc01.mt
bc01.mb <- tapply(resp, bloco, mean)
bc01.mb

plot.default(estag, resp)
points(bc01.mt, pch="x", col=2, cex=1.5)

plot.default(bloco, resp)
points(bc01.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.

ANOVA

bc01.av <- aov(resp ~ bloco + estag)
anova(bc01.av)

names(bc01.av)

Análise de resíduos

Graficamente

par(mfrow=c(2,2))
plot(bc01.av)

Homocedasticidade, Normalidade e Independência

residuos <- (bc01.av$residuals)

par(mfrow=c(2,2))

plot(bc01$estag,residuos)
title("Resíduos vs Estágios \n Homocedasticidade")

preditos <- (bc01.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(bc01.av)$"Mean Sq"[2]))
boxplot(respad)
title("Resíduos Padronizados - outliers")

plot(bc01$bloco,residuos)
title("Resíduos vs Blocos")

Teste para Normalidade dos Resíduos

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.

Teste para Comparações Múltiplas

bc01.tk <- TukeyHSD(bc01.av, "estag", ord=T)
bc01.tk
plot(bc01.tk)

detach(bc01)

Exercícios

  1. Analise o experimento da página 72, tabela 13, das notas de aula da disciplina de Planejamento de Experimentos I.
    Clique aqui para ver e copiar o arquivo de dados.
  2. Analise o experimento da página 72, tabela 14, das notas de aula da disciplina de Planejamento de Experimentos I.
    Clique aqui para ver e copiar o arquivo de dados.

Opcional:

Apesar de não ter sitdo estudado durante as aulas, uma das pressuposições do modelo proposto para a análise dos dados de um Delineamento em Blocos Completos Casualizados é que não ocorra interação entre blocos e tratamentos. Este conceito de interação será estudado na disciplina Planejamento de Experimentos II.

Em geral, por conveniência, esse pressuposto não é analisado. Quando há problemas desta natureza, pode haver problemas com outros pressupostos, uma vez que o modelo pode não estar sendo utilizado de forma adequada.

Mesmo assim, para os mais interessados, abaixo é apresentada a forma de verificação deste pressuposto da ANOVA.

Testando a não aditividade, primeiro extrai-se coeficientes de tratamentos e blocos

bc01.av$coeff
bl <- c(0, bc01.av$coeff[2:4])
tr <- c(0, bc01.av$coeff[5:9])
bl
tr

agora cria-se um novo termo e testa-se sua significância na ANOVA

bltr <- rep(bl, 6) * rep(tr, rep(4,6))

ttna <- update(bc01.av, .~. + bltr)
anova(ttna)

observe a significância do termo bltr.

Outra forma, é através de uma análise gráfica:

interaction.plot(estag, bloco, resp)
interaction.plot(bloco, estag, resp)

Os resultados acima indicam que os pressupostos estão obedecidos para este conjunto de dados e a análise de variância é válida.

Adilson dos Anjos 2006-04-17