r - 在 R 中运行 HLM 中介
问题描述
我尝试使用“中介”包运行 HLM 中介:
med.fit <- glmer(M ~ treat + control + (1|subject_id) ,family = binomial(link = "logit"), data = R1_data)
out.fit <- glmer(Y ~ M+ treat + control+ (1 + M|subject_id),family = binomial(link = "logit"), data = R1_data)
med.out <- mediate(med.fit, out.fit, treat = "treat", mediator = "M", sims = 1000)
我收到此错误消息:
[.data.frame
(y.data, int.term.name[p]) 中的错误:选择了未定义的列
如何解决这个问题呢?
这是原始数据和代码:
names(R1_data)
[1] "subject_id"
[3] "Presented_is_solvable"
[5] "JOS"
[17] "Answer_JOS"
[23] "Matrix_Z_score"
library(mediation)
library(lme4)
med.fit <- glmer(JOS ~ Matrix_Z_score + Presented_is_solvable + (1|subject_id) ,family = binomial(link = "logit"), data = R1_data)
out.fit <- glmer(Answer_JOS ~ JOS + Matrix_Z_score +Presented_is_solvable + (1 + JOS|subject_id),family = binomial(link = "logit"), data = R1_data)
med.out <- mediate(med.fit, out.fit, treat = "Matrix_Z_score", mediator = "JOS", sims = 1000)
解决方案
发现当治疗或中介数据在 R 中被分类为因子数据时会发生这种情况。中介函数无法像在模型中那样从拟合模型中正确定位这些变量的名称,它们显示为“变量名称”+因子级别.
解决方案是确保将这些变量归类为整数。您可以查看student
中介包中数据集中的变量分类。
推荐阅读
- f# - F# - 联合案例名称中的句点
- python - 如何遍历两个不同长度的字典?
- excel - 在VBA中,取消选中复选框后如何让组合框删除项目?
- typescript - Typescript Generic 基于子类类型
- javascript - 如何在不自动更改 React Native 中 tabBarIcon 和 tabBarLabel 的位置的情况下增加反应导航 tabBar 的标签栏高度?
- node.js - 使用 ReactJS 前端和 NodeJS 后端实现 webhook
- javascript - fluent-ffmpeg 视频有拉伸图像
- unity3d - Unity Animator 组件在不同场景中为空
- c++ - 如何正确实例化一个容器中的对象并将 shared_ptr 存储在一个单独的容器中?
- java - 如何让我的 .jar 文件在启动时运行?Ubuntu/流行!_OS