站点图标 AI技术聚合

多层线性模型在R上的实现

背景介绍

  刘红云老师《高级心里统计》中的第十三章和第十四章介绍了多层线性模型,并且给出了多层线性模型应用案例及其操作,使用的统计软件有HLM、SPSS和Mplus,没有使用R进行分析,因此,本文档主要介绍R实现多层线性模型。
  目前了解到R语言中经常使用的估计HLM包有lme4和nlme,看到大佬们在介绍时使用的比较多的是lme4,所以在学习时也采用了lme4去复现了刘红云老师的案例。

模型1+代码

library(tidyverse)
library(lme4)
library(nlme) #提供数据
MathAchieve
MathAchSchool

模型1:零模型



其中,该模型中表示学生数学成绩的均值

model0 <- lmer(MathAch~(1|School),data=MathAchieve)
summary(model0)

模型2:第一水平加入SES的随机系数回归模型



      
其中,该模型中表示预测变量社会经济地位(SES)对数学成绩的影响,表示随机斜率,即预测变量社会经济地位(SES)对数学成绩影响的学校间差异。

model1 <- lmer(MathAch~SES+(SES|School), data=MathAchieve)
summary(model1)

模型3:第二水平仅截距项含有预测变量DISCLIM的随机系数回归模型



      
其中,该模型中表示预测变量学校纪律(DISCLIM)对数学成绩的影响。

#在第二水平中纳入DISCLIM,因此需要对数据进行处理,将它们全都整合到一个数据表中
data_1 <- MathAchieve %>%
  mutate(School = as.character(School))
data_2 <- MathAchSchool %>% 
  select(School, DISCLIM) %>%
  mutate(School = as.character(School))
data_3 <- data_1 %>%
  inner_join(data_2, by = "School")

##运行代码
model1 <- lmer(MathAch~SES+DISCLIM+(SES|School), data= data_3)
summary(model1)

模型4:基于前面模型,第二水平含预测变量DISCLIM的随机系数回归模型(全模型)



      
其中,该模型中表示预测变量学校纪律环境(DISCLIM)对社会经济地位与数学成绩关系的调节。

model1 <- lmer(MathAch~SES+DISCLIM+(DISCLIM*SES)+(SES|School), data= data_3)
summary(model1)

总结

以上模型和代码跑出来的结果和用HLM软件跑出来的结果一致,重要的点是代码中的公式即完整模型。接下来就是对多层线性模型的深入了解,对结果分析。哇,好难啊!不想走的路偏偏一直往前走!


  1. 《高级心理统计》–刘红云 ↩︎

文章出处登录后可见!

已经登录?立即刷新
退出移动版