r - 使用更新从线性混合模型中删除协变量
问题描述
我对 R 很陌生。我有一个包含多个预测变量的线性混合模型,我想测试每个变量的重要性。我知道我可以使用 lmerTest 但我的合著者希望我对每个预测变量进行似然比检验。我想使用更新函数来获得一系列依次省略每个预测器的子模型。我尝试了以下
data(mtcars)
h=lmer(mpg ~ 1 + cyl + disp + hp + drat + (1|carb), data=mtcars)
predvars=c("cyl","disp","hp","drat")
for (i in predvars){
modelform=update(as.formula(paste0("h, . ~ . -",i)))
print(summary(modelform))
}
我收到以下错误
解析错误(文本 = x,keep.source = FALSE)::1:2:意外','1:h,^
我也尝试过使用 lapply
Fits=lapply(predvars, function(x) {update(h, .~.-i, list(i=as.name(x)))})
names(Fits)=predvars
它实际上并没有更新模型,它只是重新调整了完整的模型 i 次。我究竟做错了什么?谢谢。
解决方案
您的第一次尝试会产生错误,因为您h
将as.formula
. 做:
modelform <- update(h, as.formula(paste0(". ~ . -",i)))
推荐阅读
- sql - Outer JOIN 2 Tables 使用第三个表来过滤
- javascript - 需要一种有效的方法在 javascript 中对对象数组进行分组
- ethereum - 如何通过web3.js通过余额获得前N个以太坊账户?
- xml - 如何在 XSD 中为自定义 log4net appender 子元素正确定义元素
- react-native - 嵌套减速器不更新
- c# - 从字节数组派生像素颜色值
- raspberry-pi - 如何从按钮制作按钮
- python - 通过 SWIG 从 c++ 继承的 Python 类
- redux - 在不使用 bindActionCreaters 的情况下更改 redux 状态
- scala - 如何使用 junit 在 scala 中执行 IOException.class?