m2 <- lmer(MATH ~ 1 + ESCS + (1 + ESCS | CNTSCHID), data = pisa)Random Slope
Membuat model slope acak
Model sebelumnya mengasumsikan bahwa pengaruh ESCS terhadap capaian matematika adalah sama di semua sekolah. Bagaimana jika tidak demikian?, bagaimana jika bertambahnya ESCS meningkatkan capaian matematika di beberapa sekolah dibandingkan sekolah lain? Kita dapat mengestimasi koefisien baru untuk mengetahui bagaimana variasi sekolah dalam hal pengaruh ESCS terhadap capaian matematika dengan membuat model slope acak.
Langkah-langkah dalam membuat model slope acak hampir sama dengan membuat model intersep acak. Perbedaannya terdapat pada penambahan prediktor ESCS pada..
See the result
summary(m2)Finding ICC
tab_model(m2)Making prediction plot
pisa$m2 <- predict(m2)
pisa %>%
ggplot(aes(ESCS, m1, color = CNTSCHID, group = CNTSCHID)) +
geom_smooth(se = F, method = lm) +
theme_bw() +
labs(x = "ESCS",
y = "Matematika",
color = "CNTSCHID")QQ-Plot
qqmath(ranef(m2, condVar = TRUE))Intercept vs Slope
Untuk lebih memahami di mana posisi setiap sekolah dalam efek acak ini, kita bisa membuat grafik intersep vs slope untuk setiap sekolah dengan perintah sebagai berikut.
koef_m2 <- coef(m2)
# print random effects and best line
koef_m2$CNTSCHID %>%
mutate(CNTSCHID = rownames(koef_m2$CNTSCHID)) %>%
ggplot(aes(ESCS, `(Intercept)`, label = CNTSCHID)) +
geom_point() +
geom_smooth(se = F, method = lm) +
geom_label(nudge_y = 0.15, alpha = 0.5) +
theme_bw() +
labs(x = "Slope", y = "Intersep")