如何在自己的函数中在lm中使用vars?

时间:2019-04-22 04:34:28

标签: r

我想编写一个函数,该函数根据输入来计算线性回归。

我可以构建函数,但是当我调用它时(例如myregression(i1,i2)会导致错误)

myregression <- function(input1, input2) {
   model <- lm(data = trainData, example ~ input1 + input2)
}

如何使用函数lm中的输入?

1 个答案:

答案 0 :(得分:1)

在函数内部,我们可以使用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")