平滑样条回归的gam函数出错

时间:2015-02-23 17:47:17

标签: r gam

我尝试使用gam作为数据集中a和b变量的函数来运行平滑样条回归。但是当我运行以下代码时,我收到以下错误。

> autogam_axb <- gam(data$y~s(data$a,data$b))
Error in eval(expr, envir, enclos) : object 'a' not found

知道我做错了吗?

1 个答案:

答案 0 :(得分:2)

您需要将模型规范与数据的位置分开。前者通过公式指定,而data参数用于告诉gam后者:

autogam_axb <- gam(y ~ s(a, b), data = data)

这有两个目的:

  1. 模型的规格清晰,不会与data$混在一起,这样可以更容易地看到它的拟合程度,
  2. 您明确了要找到适合模型所需的变量的位置,但您可以在函数调用中的单个位置执行此操作。