2

对于这样一个简单的问题,我深表歉意,但在浏览该网站时还没有找到答案。我正在尝试在 R 中绘制一系列无脊椎动物捕获数据的 GAM 模型。其中一个预测变量始终是一年中日期数 (DOY) 的平滑项。这应该始终占据 x 轴的空间。y 轴应该是线性或平滑的天气变量预测器。使用 vis.gam() 函数,我可以生成一个表面等高线图,其颜色渐变表示任何 xy 对的响应的预测值。当第二个预测变量为非线性时,如:

totbest=gam(Totallog10pl1~s(DOY)+s(SRVarDetrendDerived),data=poolREplotGAM)

然后该图看起来应该是(抱歉无法发布图像,但这里是绘图命令):

vis.gam(totbest, type="response",plot.type="contour",n.grid=50)

但是当预测器是线性的时:

totbest1=gam(Totallog10pl1~s(DOY)+SRVarDetrendDerived,data=poolREplotGAM)

轴开关:

vis.gam(totbest1, type="response",plot.type="contour",n.grid=50)

如果您有办法将与时间相关的变量返回到 x 轴,那将非常感激。提前感谢您的帮助。

麦克风

4

1 回答 1

0

这似乎是由于var.summarygam 对象的元素返回的顺序。尝试totbest$var.summarytotbest1$var.summary.

“修复”将是这样做:

totbest1$var.summary <- totbest1$var.summary[2:1]
vis.gam(totbest1, type="response",plot.type="contour",n.grid=50)

警告:我对 gam 对象的了解还不够多,无法理解相反的顺序是否var.summary是设计使然。

希望这可以帮助!富有的。

于 2015-08-14T21:49:31.583 回答