IniziaInizia gratis

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

Visualizza il corso

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")
Modifica ed esegui il codice