Насколько я знаю, это не совсем y ~ .
, чтобы охватить это. Однако предположим, что вы хотите использовать все переменные. Затем вы можете использовать paste
и формулу для выполнения той же задачи. Скажем, вы используете mtcars
фрейм данных, а ваша переменная y
равна mpg
.
Тогда подают следующее:
mgcv::gam(
as.formula(
paste0(
"mpg ~ s(",
setdiff(names(mtcars), "mpg") %>% paste0(collapse = ") + s("),
")"
)
),
data = mtcars
)
Таким образом, точка является аргументом collapse
и закрывающими скобками. В вашем приложении это будет
mgcv::gam(
as.formula(paste0("y ~ s(", letters %>% paste0(collapse = ") + s("), ")")),
data = df
)