使用更新从线性混合模型中删除协变量

removing covariates from a linear mixed model using update

我是 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))
 } 

我收到以下错误

解析错误(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)))