Intercette a effetto casuale
I modelli lineari in R stimano parametri considerati fissi o non casuali, chiamati effetti fissi (fixed-effects). Al contrario, i parametri a effetto casuale (random-effects) assumono che i dati condividano una comune distribuzione dell’errore e possono produrre stime diverse quando i dati sono pochi o ci sono valori anomali. I modelli che includono sia effetti fissi sia effetti casuali sono modelli a effetti misti o regressioni lineari a effetti misti.
Il pacchetto lme4 adatta modelli a effetti misti (modelli con effetti fissi e casuali) con lmer(), che usa una formula simile a lm(). Tuttavia, le intercette a effetto casuale richiedono una sintassi speciale:
lmer(y ~ x + (1 | random-effect), data = my_data)
La funzione lmer() richiede che il modello includa almeno un effetto casuale, altrimenti restituisce un errore. Qui adatterai un lm() e un lmer(), quindi confronterai graficamente i modelli stimati usando un sottoinsieme dei dati. Forniamo questo codice perché richiede una manipolazione avanzata dei dati: gli effetti casuali di solito non vengono tracciati (anche ggplot2 non offre opzioni di grafico comode per i modelli a effetti misti). In questo grafico, osserva come le linee tratteggiate degli effetti casuali si confrontano con le linee continue degli effetti fissi.
Nota: broom.mixed è necessario perché il pacchetto broom non supporta lme4.
Questo esercizio fa parte del corso
Modelli gerarchici e a effetti misti in R
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Build a liner model including class as fixed-effect model
lm_out <- ___
# Build a mixed-effect model including class id as a random-effect
lmer_out <- lmer(___ ~ ___ + (1 | ___), data = ___)
# Extract out the slope estimate for mathkind
tidy(lm_out) %>%
filter(term == "mathkind")
tidy(lmer_out) %>%
filter(term == "mathkind")