我正在尝试编写一个用户定义的函数,其中包含predict()语句。在predict()语句中,我必须指定newdata = ...,这里我必须指定我想要用于依赖变量和独立变量的数据。但是,如果我将函数参数(my_fun)传递给predict(),我会得到错误
Error in eval(expr, envir, enclos) : object 'X' not found
有没有人知道如何在predict()语句中使用我的函数参数?
我已经尝试了类似deparse(substitute(iv))
的内容,但这不起作用。
请参阅我在下面写的功能。
my_fun <- function(riskdrivers, iv, dv, df) {
#Fit the model
form <- formula(paste(dv, "~", iv, "+", paste(riskdrivers, collapse="+")))
fit <- glm(form, family=binomial(link='logit'), data=df)
summary(fit)
#Get predicted values
df$pred <- predict(fit, newdata = data.frame(iv==df[, iv], riskdrivers[1]==df[ ,riskdrivers[1]], riskdrivers[2]==df[, riskdrivers[2]]), type="response")
}
my_fun(riskdrivers = c("A", "B"), iv = "X", dv = "Y", df = mydf)