\section*{Experimentos hierárquicos}\x{experimento!hierárquico}
\indent

Nesta seção, veremos como analisar experimentos hierárquicos no \R. Procure entender os comandos utilizados e, também, interpretar os resultados.

\subsection*{O arquivo de dados}
\indent

Nesta análise é assumido que as farinheiras são um efeito fixo\x{efeito!fixo}, enquanto que datas são efeitos aleatórios\x{efeito!aleatório} (tabela \ref{ex:farinha}, página \pageref{ex:farinha}).
  
Primeiro, vamos ler os dados para o \R, com o comando
\verb|read.table()|\x{read.table@{\tt read.table()}}. 

\begin{verbatim}
> far <- read.table("farinha.txt", header=T,dec=",")
> far
\end{verbatim}

A seguir, vamos examinar o objeto que contém os dados.

\begin{verbatim}
> dim(far)
[1] 27  3


> names(far)
[1] "farinheira" "data"       "umidade"  

> is.factor(far$farinheira)
[1] TRUE

> is.factor(far$data)
[1] FALSE
> far$data <- as.factor(far$data)

> is.numeric(far$umidade)
[1] TRUE

> summary(far)
 farinheira data     umidade      
 A:9        1:9   Min.   : 2.580  
 B:9        2:9   1st Qu.: 6.260  
 C:9        3:9   Median : 9.410  
                  Mean   : 8.475  
                  3rd Qu.:10.055  
                  Max.   :13.120
\end{verbatim}

Nos comandos acima, verificamos que o objeto {\tt far} possui 27
linhas, correspondentes às observações, e 3 colunas que correspondem às
variáveis {\tt farinheira}, {\tt data} e {\tt umidade} (a
variável resposta).

A seguir, verificamos que {\tt data} não foi lida como
fator. Não podemos prosseguir com as análises desta forma pois o \R{}
leria os valores destas variáveis como quantidades numéricas, e não
como indicadores dos níveis dos fatores.
Para corrigir isto, usamos o comando \verb|as.factor()|\x{as.factor@{\tt as.factor()}} para indicar ao \R{} que
esta variável é um fator\x{fator}.

Finalmente, verificamos que a variável resposta é numérica, e produzimos
um resumo dos dados.


\subsection*{Análise de variância}
\indent


A notação para indicar efeitos aninhados no modelo é \verb+/+.
Desta forma, pode-se ajustar o modelo da seguinte forma:

\begin{verbatim}
> far.av <- aov(umidade ~ farinheira/data, data=far)
> summary(far.av)
                 Df  Sum Sq Mean Sq F value    Pr(>F)    
farinheira       2 171.622  85.811 90.5611 4.031e-10 ***
farinheira:data  6  18.952   3.159  3.3336   0.02185 *  
Residuals       18  17.056   0.948                      
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 
\end{verbatim}

Confira os graus de liberdade das causas de variação. Eles estão corretos?

Embora os elementos do quadro de análise de variância estejam corretos,
o teste F\x{teste!F} para efeito das farinheiras não está correto.

A análise acima considerou todos os efeitos como fixos\x{efeito!fixo} e, portanto,
dividiu os quadrados médios de todos os efeitos, pelo quadrado médio do
resíduo. 

Como {\tt data} é um efeito aleatório\x{efeito!aleatório}, devemos dividir 
o quadrado médio do termo {\tt farinheira}, pelo quadrado médio de
{\tt farinheira:data}. Veja a tabela com as esperanças dos quadrados médios dos efeitos para este modelo (\ref{nestedeqm}).

Uma forma de indicar a estrutura hierárquica ao \R, é especificar o
modelo\x{modelo} de forma que o termo de resíduo seja dividido de maneira
adequada.

Veja o resultado a seguir:

\begin{verbatim}
> far.av1<-aov(umidade~farinheira+Error(farinheira:data),data=far)
> summary(far.av1)
Mensagem de aviso:
Error() model is singular in: 
aov(umidade ~ farinheira + Error(farinheira:data), data = far) 

Error: farinheira:data
           Df  Sum Sq Mean Sq F value    Pr(>F)    
farinheira  2 171.622  85.811  27.166 0.0009835 ***
Residuals   6  18.952   3.159                      
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 

Error: Within
          Df  Sum Sq Mean Sq F value Pr(>F)
Residuals 18 17.0559  0.9475               
\end{verbatim}

Agora, o teste F\x{teste!F} para farinheira\x{farinheira} é realizado corretamente.

Uma outra maneira de conseguir o teste F correto, é extrair os elementos que nos
interessam e fazer o teste desejado.

Primeiro, verificamos que o comando \verb|anova()|\x{anova@{\tt anova()}} produz
uma lista que tem, entre seus elementos, os graus de liberdade {\tt Df}
e os quadrados médios ({\tt Mean Sq}). A partir destes elementos, podemos obter o valor da estatística F e o p-valor\x{p-valor} associado.

\begin{verbatim}
> far.anova <- anova(far.av)
> is.list(far.anova)
[1] TRUE

> names(far.anova)
[1] "Df"      "Sum Sq"  "Mean Sq" "F value" "Pr(>F)" 

> far.anova$Df
[1]  2  6 18
> far.anova$Mean
[1] 85.8110481  3.1587185  0.9475481

> Fcalc <- far.anova$Mean[1]/far.anova$Mean[2]
> Fcalc
 [1] 27.16641
> pvalor <- 1 - pf(Fcalc, far.anova$Df[1], far.anova$Df[2])

> pvalor
[1] 0.0009835417
\end{verbatim}

A análise de resíduos é feita de maneira usual para experimentos. Verifique se os resíduos possuem distribuição Normal\x{distribuição!Normal}, se existe homocedasticidade\x{homocedasticidade} para os fatores e independência\x{independência} entre os resíduos.

