Как использовать vars в lm в собственной функции? - PullRequest
1 голос
/ 22 апреля 2019

Я хочу написать функцию, которая вычисляет линейную регрессию на основе входных данных.

Я могу построить функцию, но когда я ее вызываю (например, myregression(i1,i2), это приведет к ошибке)

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

Как я могу использовать вход в функции lm?

1 Ответ

1 голос
/ 22 апреля 2019

Внутри функции мы можем использовать 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...