R语言语法:随机效应嵌套

lmer 函数中,随机效应的嵌套表达式 (1|group/subgroup) 用于表示层级结构或分层数据的情况。

  1. 随机效应(Random Effects):随机效应是模型中那些在不同水平(如不同组别)上可以变化的参数。它们捕捉了组内的变异性。

  2. 嵌套结构(Nesting Structure):嵌套结构表示数据存在分层的情况。例如,学生属于班级,班级属于学校。这里,班级嵌套在学校中,学生嵌套在班级中。

例子

假设你有一个研究,测量不同学校内不同班级的学生成绩:

  • 学校(School):最上层组别
  • 班级(Class):嵌套在学校中的组别
  • 学生(Student):每个班级中的个体

数据结构可能如下:

  • 学校 A 有班级 A1 和 A2
  • 学校 B 有班级 B1 和 B2

在这种情况下,如果你希望捕捉班级和学校的变异性,你可以使用嵌套随机效应表达式。

表达式 (1|group/subgroup)

具体来说:

  • (1|school/class) 表示班级嵌套在学校中。
    • school 是最上层的组别
    • class 是嵌套在 school 中的组别

这一表达式的含义是:

  • 1 表示随机效应的截距项。
  • school/class 表示班级是嵌套在学校中的,也就是说,每个班级隶属于某个特定的学校。

代码示例

假设你有以下数据框 data

r 复制代码
data <- data.frame(
  score = c(90, 85, 88, 95, 92, 89, 91, 87),
  student = factor(rep(1:4, each=2)),
  class = factor(rep(c("A1", "A2", "B1", "B2"), each=2)),
  school = factor(rep(c("A", "B"), each=4))
)

你可以使用 lmer 函数来拟合一个包含嵌套随机效应的模型:

r 复制代码
library(lme4)
model <- lmer(score ~ 1 + (1|school/class), data = data)

这个模型中,(1|school/class) 指定了班级嵌套在学校中,模型将会捕捉学校和班级的随机效应。

相关推荐
小兵张健20 分钟前
价值1000的 AI 工作流:Codex 通用前端协作模式
前端·aigc·ai编程
sunny_30 分钟前
面试踩大坑!同一段 Node.js 代码,CJS 和 ESM 的执行顺序居然是反的?!99% 的人都答错了
前端·面试·node.js
拉不动的猪43 分钟前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
数据组小组2 小时前
免费数据库管理工具深度横评:NineData 社区版、Bytebase 社区版、Archery,2026 年开发者该选哪个?
数据库·测试·数据库管理工具·数据复制·迁移工具·ninedata社区版·naivicat平替
ayqy贾杰2 小时前
Agent First Engineering
前端·vue.js·面试
IT_陈寒3 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
iceiceiceice3 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
大金乄3 小时前
封装一个vue2的elementUI 表格组件(包含表格编辑以及多级表头)
前端·javascript
葡萄城技术团队4 小时前
【性能优化篇】面对万行数据也不卡顿?揭秘协同服务器的“片段机制 (Fragments)”
前端
程序员阿峰4 小时前
2026前端必备:TensorFlow.js,浏览器里的AI引擎,不写Python也能玩转智能
前端