Efeitos fixos x aleatórios, do aov ao lmer, em um único experimento
Que cada gole desperte uma nova ideia.
Que cada script abra uma nova conversa.
Que o Café com R se torne um ponto de encontro nosso.
SITE OFICIAL > https://jenniferlopes.github.io/meu_site/
lme4, tratando o bloco como efeito aleatórioDHARMalmerTest e comparar médias com emmeansUm efeito fixo representa níveis específicos, de interesse direto para comparação, geralmente escolhidos deliberadamente, como os genótipos que se deseja avaliar.
Um efeito aleatório representa níveis amostrados de uma população maior de níveis possíveis, de interesse não em si mesmos, mas como fonte de variação a ser contabilizada.
Contexto: 8 genótipos de milho são avaliados em um Delineamento em Blocos Casualizados, com 4 blocos, em um único local.
O bloco de um experimento é, tipicamente, uma amostra de condições ambientais possíveis, não um conjunto de níveis cuja identidade específica interessa por si só, o bloco 2 não é mais interessante de estudar que o bloco 3, apenas representa uma condição ambiental particular.
Essa é a justificativa conceitual para tratar bloco como efeito aleatório, uma prática cada vez mais comum mesmo quando o número de blocos é moderado.
Quando o bloco é tratado como efeito fixo, cada nível de bloco recebe uma estimativa própria e independente, como em qualquer outro fator do modelo clássico.
Quando o bloco é tratado como efeito aleatório, suas estimativas sofrem um encolhimento em direção à média geral, chamado shrinkage, proporcional à quantidade de informação disponível, o que tende a produzir estimativas mais estáveis para os efeitos fixos de interesse, os genótipos.
# A tibble: 3 × 6
fonte_variacao Df `Sum Sq` `Mean Sq` `F value` `Pr(>F)`
<chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 "bloco " 3 445. 148. 2.46 0.0906
2 "genotipo " 7 4146. 592. 9.84 0
3 "Residuals " 21 1264. 60.2 NA NA
# A tibble: 8 × 2
termo estimativa
<chr> <dbl>
1 (Intercept) 205.
2 genotipoG2 -24.5
3 genotipoG3 -14.9
4 genotipoG4 -6.15
5 genotipoG5 -20.7
6 genotipoG6 -40.5
7 genotipoG7 -20.4
8 genotipoG8 -20.0
aov().# A tibble: 2 × 3
grp vcov sdcor
<chr> <dbl> <dbl>
1 bloco 11.0 3.32
2 Residual 60.2 7.76
DHARMa funciona da mesma forma para modelos mistos ajustados com lmer, oferecendo o mesmo painel de diagnóstico visto na aula de pressupostos, agora aplicado a um modelo com estrutura de efeitos aleatórios.Em um modelo misto, os graus de liberdade do denominador do teste F não têm uma fórmula fechada simples como no aov(), pois dependem da estrutura de efeitos aleatórios do modelo.
Métodos de aproximação, como Satterthwaite ou Kenward-Roger, estimam esses graus de liberdade de forma a produzir testes com propriedades estatísticas adequadas mesmo nessa estrutura mais complexa.
# A tibble: 1 × 7
termo `Sum Sq` `Mean Sq` NumDF DenDF `F value` `Pr(>F)`
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 genotipo 4146. 592. 7 21 9.84 0
lmerTest adiciona ao lme4 a aproximação de Satterthwaite por padrão, fornecendo diretamente o valor de p para o teste F de genótipo, algo que o lme4 sozinho não calcula.# A tibble: 8 × 7
genotipo emmean SE df lower.CL upper.CL .group
<fct> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
1 G6 165. 4.22 20.6 152. 178. " a "
2 G2 181. 4.22 20.6 168. 194. " ab "
3 G5 185. 4.22 20.6 172. 198. " b "
4 G7 185. 4.22 20.6 172. 198. " b "
5 G8 185. 4.22 20.6 173. 198. " b "
6 G3 191. 4.22 20.6 178. 203. " bc"
7 G4 199. 4.22 20.6 186. 212. " bc"
8 G1 205. 4.22 20.6 193. 218. " c"
emmeans funciona de forma direta sobre modelos ajustados com lmerTest::lmer(), aplicando a mesma aproximação de graus de liberdade usada no teste F para as comparações par a par.| Situação | Abordagem indicada |
|---|---|
| Poucos níveis de bloco, interesse específico em cada nível | Modelo fixo tradicional, aov() |
| Bloco como amostra de condições ambientais, sem interesse individual nos níveis | Modelo misto, bloco aleatório |
| Estrutura de blocos incompletos, com recuperação de informação entre blocos | Modelo misto, quase sempre preferível |
| Múltiplos fatores aleatórios cruzados ou aninhados | Modelo misto, lme4 ou glmmTMB |
| Elemento | Função no R |
|---|---|
| Ajuste do modelo misto | lme4::lmer() |
| Componentes de variância | VarCorr() |
| Diagnóstico de resíduos | DHARMa::simulateResiduals() |
| Teste F com graus de liberdade aproximados | lmerTest::lmer(), anova() |
| Comparação de médias | emmeans::cld() |
Continue praticando e explorando.
Esta aula é parte do projeto Café com R. É open source. Use, compartilhe e adapte.
Que cada gole desperte uma nova ideia.
Que cada script abra uma nova conversa.
Que o Café com R se torne um ponto de encontro nosso.
SITE OFICIAL > https://jenniferlopes.github.io/meu_site/

Jennifer Lopes | Café com R