r - lmer 中的动态协变量在 emmeans 中不起作用
问题描述
我正在尝试在模型中使用动态协变量(取自用户输入)lmer
。这工作正常,但应用emmeans
不再工作。
例子:
fit1 = lmer(get(uservar) ~ Intervention + period + sequence + age + (1|ID),
data = mydata, REML=T)
和
emmeans(fit1, list(pairwise ~ Intervention), adjust = "tukey")
运行没有问题。
lmer(get(uservar) ~ Intervention + period + sequence + get(covariable) + (1|ID),
data = mydata, REML=T)
"age"
从用户输入弹出框中获取协变量也可以。
但:
emmeans(fit1, list(pairwise ~ Intervention), adjust = "tukey")
不再运行。它在说:
变量有不同的长度(为“协变量”找到)
但事实并非如此。如果我检查mydata[,covariable]
它的长度与其他变量相同。
有什么建议该怎么做吗?
解决方案
emmeans()
必须能够重建预测变量的数据,以获得诸如协变量的平均值和因子水平之类的东西。如果您将用户指定的数据保存在数据框中并使用该数据框拟合模型,它将起作用。但请记住,如果您随后更改该数据框,例如使用另一个用户输入,emmeans()
即使您不重新调整模型,它也会更改结果,因为它无法知道数据已更改。
推荐阅读
- android - 停止微光不起作用 Facebook 微光
- components - 是否可以在断言位置将一个组件与另一个使用 figma 创建的组件嵌套?
- mysql - GCP 使用 VM 通过 Cloud SQL Auth Proxy Private IP 连接到 Cloud SQL
- arrays - 我们可以在 java 中将 char[] 数组初始化为空白吗?
- python - 如何在不使用 exec(open(...)) 的情况下加载可以添加全局变量的函数?
- javascript - 单击时响应式汉堡菜单在移动设备上不起作用
- spring-boot - 在 Windows 上通过 Maven spring-boot:build-image 构建 docker 映像时如何定义架构 arm64?
- c# - 使用 linq 动态核心按可空对象排序
- java - 工厂创建的产品中的静态方法
- reactjs - npm 使用一个脚本安装不同的文件夹