开始使用免费开始使用

随机效应截距

R 中的线性模型会估计被视为固定且非随机的参数,称为"固定效应"。 相比之下,"随机效应"参数假设数据共享一个共同的误差分布。当数据量较小或存在异常值时,它会给出不同的估计。 同时包含固定效应和随机效应的模型称为"混合效应"模型,或"线性混合效应回归"。

lme4 包使用 lmer() 来拟合混合效应模型(既含固定效应又含随机效应),其公式语法与 lm() 类似。但随机效应截距使用特殊语法:

lmer(y ~ x + (1 | random-effect), data = my_data)

lmer() 函数要求模型必须包含随机效应,否则会报错。在这里,您将分别拟合一个 lm() 和一个 lmer(),然后使用数据子集以图形方式比较两种拟合模型。我们提供了相应代码,因为这需要较高级的数据整理操作;此外,随机效应通常不会直接绘图(ggplot2 也没有针对混合效应模型的理想绘图选项)。在该图中,请留意来自随机效应斜率的虚线与固定效应斜率的实线之间的比较。

注意:需要使用 broom.mixed,因为 broom 包不支持 lme4

本练习是课程的一部分

R 中的分层与混合效应模型

查看课程

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Build a liner model including class as fixed-effect model
lm_out <- ___

# Build a mixed-effect model including class id as a random-effect
lmer_out <- lmer(___ ~ ___ + (1 | ___), data = ___)

# Extract out the slope estimate for mathkind
tidy(lm_out) %>%
    filter(term == "mathkind")
    
tidy(lmer_out) %>%
    filter(term == "mathkind")
编辑并运行代码