Кажется, что здесь может быть уместно использовать формулу , поскольку она позволяет пользователю определять отношения предикатор-ответ.
Объект формулы также принимается в качестве формата для различных моделей и, таким образом, может напрямую передаваться в функцию lm ().
# function training a linear model and a random forest
build_my_models <- function(formula, data) {
lm.fit <- lm(formula, data)
rf.fit <- randomForest(formula, data)
return(list(lm.fit, rf.fit))
}
# data frame with three continuous variables
a <- rnorm(100)
b <- rnorm(100, mean = 2, sd = 4)
c <- 2*a + b
my_data <- data.frame(a = a, b = b, c = c)
# build the models
my_models <- build_my_models(a ~ ., my_data)
# here the formula 'a ~ .' defines the relation between response and predictors
# (the dot indicates that 'a' depends on all other variables in the data frame)
Если вы хотите реализовать модель самостоятельно, всегда неплохо придерживаться синтаксиса и соглашений R. Вы можете проверить документацию о том, как разобрать формулу для ваших конкретных потребностей.