背景介绍
刘红云老师《高级心里统计》中的第十三章和第十四章介绍了多层线性模型,并且给出了多层线性模型应用案例及其操作,使用的统计软件有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软件跑出来的结果一致,重要的点是代码中的公式即完整模型。接下来就是对多层线性模型的深入了解,对结果分析。哇,好难啊!不想走的路偏偏一直往前走!
《高级心理统计》–刘红云 ↩︎
文章出处登录后可见!
已经登录?立即刷新