使用更新从线性混合模型中删除协变量
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)))
我是 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)))