5级HLM分析

时间:2016-06-20 05:45:19

标签: r lme4

我正在尝试分析五个不同级别的等级结构,在这个等级结构中可以汇总学生对教师的评分。

教师评分是从每学期每个班级注册的学生中收集的。

评分(level1)嵌套在学生(level2)中,他们自己嵌套在(level3)类中>(level4),它也嵌套在层次结构的较高级别中。

lmer函数或其他函数可以处理这样的分析吗?

如果是,语法是什么?

2 个答案:

答案 0 :(得分:2)

让我们定义一些您在帖子中没有提供的符号:

Y =评分
ID =学生ID section =课程部分
class = class

我还假设你说学生在课程和课程之间进行了交叉分类。在lme4中,我们通常假设交叉分类是独立的。

然后你有:

lm1 <- lmer(Y ~ <FE vars> + (1|class/ID) + (1|section/ID), data= df)

这里我们使用/来表示层次结构的级别(例如section/ID),斜杠左侧的级别更高。更多级别为XYZ/section/ID。此外,不同的()元素显示交叉分类。您也可以使用(class || section)(1|...)表示随机截距,但没有随机斜率。

注意:

所有这些信息都在vignette中,我们鼓励您阅读。

答案 1 :(得分:1)

如果所有级别都按照问题建议真正嵌套(即交叉分类:每个评分都由一个学生完成,每个学生只有一个部分,每个部分都在只有一个类......),那么具体的答案就是你要包括

(1|class/section/student/rating)

作为lmer模型中的随机效应词。

如果你有更多级别,你可以使用包含更高级别的扩展版本,例如

(1|toplevel/nextlevel/nextlevel2/.../bottomlevel)

正如@Alex建议的那样,这在小插图中有描述(表2,第6页),尽管它在示例中仅显示了两个嵌套级别。

@Alex还建议您的数据可能会进行交叉分类 - 学生可能会在多个课程中提供评分 - 在这种情况下,您可能需要添加其他字词,例如

(1|class/section/student/rating) + (1|student)

将允许不同班级和部分的学生产生一致的效果。

lme函数(在nlme包中)也可以处理任意数量的嵌套级别,尽管处理交叉分类更难(并且它可能比{{1}慢对于大型数据集)。