我想写一个函数,它根据输入计算线性回归。
我可以构建函数,但是当我调用它时(例如myregression(i1,i2)
它会导致错误)
myregression <- function(input1, input2) {
model <- lm(data = trainData, example ~ input1 + input2)
}
如何在lm
函数中使用输入?
在函数内部,我们可以使用paste
来创建公式
myregression <- function(input1, input2) {
model <- lm(data = trainData, paste0("example ~", input1, " + ", input2))
}
或者另一种选择是reformulate
myregression <- function(input1, input2) {
model <- lm(data = trainData, reformulate(c(input1, input2), "example"))
}
并将该函数调用为
myregression("i1", "i2")