Несколько объясняющих переменных, использующих GAM в R? - PullRequest
0 голосов
/ 12 июня 2019

Я довольно новичок в R, и я пытаюсь использовать функцию mgcv::gam для моделирования моих данных, но в ней много объясняющих переменных.Я знаю, что с помощью обычной линейной регрессионной модели вы можете просто использовать . для учета переменных, но работает ли это и с GAM?Или есть другой краткий способ включить все переменные в набор данных?

Скажите, что у меня есть объясняющие переменные a до z, и я хочу уравнение прогнозирования

y ~ s(a) + s(b) + ... + s(z)

Есть ли более простой способ обозначить это?

Любой совет будет признателен!

1 Ответ

0 голосов
/ 12 июня 2019

Насколько я знаю, это не совсем 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
)
...