在 R 包中spatstat
(我使用的是当前版本,1.31-0
),有一个选项use.gam
. 当您将此设置为 true 时,您可以在线性预测器中包含平滑项,就像使用 R 包一样mgcv
。例如,
g <- ppm(nztrees, ~1+s(x,y), use.gam=TRUE)
现在,如果我想要截距的置信区间,您通常可以使用summary
or vcov
,它在您不使用时有效gam
,但在您使用 gam 时失败
vcov(g)
给出错误消息
Error in model.frame.default(formula = fmla, data =
list(.mpl.W = c(7.09716796875, :invalid type (list) for variable 's(x, y)'
我知道,当您使用 时,此处的此标准错误近似值是不合理gam
的,但这已被警告消息捕获:
In addition: Warning message: model was fitted by gam();
asymptotic variance calculation ignores this
我对此并不担心——我准备证明使用这些标准错误是为了我使用它们的目的——我只想要数字,并希望避免“自己写”这样做。
我上面得到的错误消息似乎并不取决于我正在使用的数据集。我在nztrees
这里使用了这个例子,因为我知道它预装了spatstat
. 似乎它在抱怨变量本身,但模型清楚地理解语法,因为它适合模型(对于我自己的数据集,预测值看起来相当不错,所以我知道这不仅仅是在抽出垃圾)。
有人对此有任何提示或见解吗?这是一个错误吗?令我惊讶的是,我一直无法在网上找到任何关于此的讨论。任何帮助或提示表示赞赏。
编辑:虽然我已经在这里明确回答了我自己的问题,但我暂时不会接受我的回答。这样,如果有人有兴趣并愿意为此努力寻找“解决方法”而无需等待下一版spatstat
,我可以将赏金奖励给他/她。否则,我将在赏金期结束时接受我自己的答案。