Одним из решений является передача price
как char
и использование formula()
для преобразования строки в соответствующий объект для lm
.
my_lm <- function(df, var) {
f = formula(paste0(var, "~.")) # this creates "price ~ ." in the example
lm(f, data = df)
}
my_lm(diamonds, var="price")
Или, если вам нужнопередать price
как "не строка", вам нужно NSE :
my_lm <- function(df, var) {
var = substitute(var)
f = formula(paste0(var, "~."))
lm(f, data = df)
}
my_lm(diamonds, var=price)