我对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))
}
我收到以下错误
parse 中的错误(text = x, keep.source = FALSE( : :1:2:意外的"," 1: 小时, ^
我也尝试使用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)))