我试图分析一个由五个不同层次组成的层次结构,在这个层次上,学生对教师的评价可能会被汇总。
教师评等是从每个学期每个班的学生中收集的。
评分(,level1)嵌套在学生( (level2) )中,他们自己嵌套在节( (level3)或classes (level4) )中,这些节也嵌套在层次结构的较高级别中。
lmer函数或其他函数能够处理这样的分析吗?
如果是,语法是什么?
发布于 2016-06-22 18:54:20
如果所有的等级都像问题所建议的那样是真正嵌套的(即不交叉分类:每一个等级都是由一个学生做的,每个学生都在一个节里,每个部分都在一个班……),那么具体的答案是你想要包括
(1|class/section/student/rating)作为lmer模型中的随机效应项。
如果您有更多的级别,您可以使用包含更高级别的扩展版本。
(1|toplevel/nextlevel/nextlevel2/.../bottomlevel)正如@Alex建议的那样,这是在vignette中描述的(表2,第6页),尽管它在示例中只显示了两个层次的嵌套。
@Alex还表示,您的数据可能是交叉分类的--学生可能会在多个类中提供评分--在这种情况下,您可能需要添加附加的术语。
(1|class/section/student/rating) + (1|student)会让不同班级的学生产生一致的效果。
lme函数(在nlme包中)也可以处理任意数量的嵌套级别,尽管处理交叉分类比较困难(对于大型数据集,它可能比lmer慢)。
发布于 2016-06-20 23:40:53
让我们定义一些您在文章中没有提供的符号:
Y =评级
ID =学生id
section =类节
class =类
我还假设你是说学生在班级和部门之间是交叉分类的。在lme4中,我们通常假定交叉分类是独立的.
然后你就有:
lm1 <- lmer(Y ~ <FE vars> + (1|class/ID) + (1|section/ID), data= df)在这里,我们使用/表示层次结构的级别(例如。( section/ID)在斜杠左边有更高的级别。更高的级别将是XYZ/section/ID。此外,不同的()元素表现出交叉分类。您也可以使用(class || section)和(1|...)表示随机拦截,但不表示随机斜率。
注意:
所有这些信息都在格列奈特中,您可以阅读这些信息。
https://stackoverflow.com/questions/37915306
复制相似问题