【发布时间】:2019-11-03 00:59:57
【问题描述】:
我正在使用mtcars 数据来显示我的问题。以下代码适用于glm。它通过将vlist 中的每个变量添加到glm(vs ~ mpg, family = binomial(), data = mtcars 的模型中来生成新模型。
check_glm <- function(crude, vlist, data, ...){
a <- glm(crude, data = data, family = binomial())
lapply(vlist, function(x) update(a, as.formula(paste0(". ~ . +", x))))
}
check_glm(crude = "vs ~ mpg", vlist = c("am", "hp"), data = mtcars)
但是,当我将 glm 替换为 speedglm 时,
library(speedglm)
check_speedglm <- function(crude, vlist, data, ...){
a <- speedglm(crude, data = data, family = binomial())
lapply(vlist, function(x) update(a, as.formula(paste0(". ~ . +", x))))
}
check_speedglm(crude = "vs ~ mpg", vlist = c("am", "hp"), data = mtcars)
我明白了:
model.frame.default 中的错误(公式 = vs ~ mpg + am,数据 = 数据, drop.unused.levels = TRUE) : 参数“data”丢失,没有 默认。
我认为问题出在lapply 行,但我无法找到解决方案。任何解决此问题的建议将不胜感激。
【问题讨论】: