0

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

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

知道我做错了什么吗?

4

1 回答 1

2

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

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

这有两个目的:

  1. 模型的规格清晰,没有杂乱无章data$,这使得它更容易看到它安装了什么,并且
  2. 您明确知道要在哪里找到适合模型所需的变量,但是您在函数调用中的单个位置执行此操作。
于 2015-02-23T17:58:36.930 回答