为r中的2预测GAM交换轴

为r中的2预测GAM交换轴,r,plot,contour,gam,mgcv,R,Plot,Contour,Gam,Mgcv,我为这么一个简单的问题道歉,但在仔细阅读该网站时还没有找到答案。我试图在R中绘制一系列无脊椎动物捕获数据的GAM模型。其中一个预测因子始终是一个平滑的年数(DOY)项。这应始终占据x轴的空间。y轴应为线性或平滑天气变量预测器。使用vis.gam()函数,我可以生成一个曲面等高线图,其中的颜色渐变表示任何x-y对响应的预测值。当第二个预测器为非线性时,如: totbest=gam(Totallog10pl1~s(DOY)+s(SRVarDetrendDerived),data=poolREplot

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

totbest=gam(Totallog10pl1~s(DOY)+s(SRVarDetrendDerived),data=poolREplotGAM)
然后,图形看起来应该是这样的(对于无法发布图像表示歉意,但下面是plotting命令):

但当预测值为线性时:

totbest1=gam(Totallog10pl1~s(DOY)+SRVarDetrendDerived,data=poolREplotGAM)
轴开关:

vis.gam(totbest1, type="response",plot.type="contour",n.grid=50)
如果您有一种将时间相关变量返回到x轴的方法,那将非常感谢。提前感谢您的帮助


Mike

这似乎是由于gam对象的
var.summary
元素的返回顺序造成的。尝试
totbest$var.summary
vs
totbest1$var.summary

“修复”将是这样做:

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

totbest1$var.summary成功了,非常感谢!我真的很感谢你的帮助。我不喜欢像这样爬回来,但我在我的模型中引入了一条皱纹,就我所能看到的,这使得我无法像上面那样调整我的图形方向。我一直在调整它,但无法解决这个问题。我已经包括了一个因子/平滑交互,如:totbest=gam(totalog10pl1~s(SRVarDetrendDerived)+s(DOY,by=Plot),na.action=na.omit,data=poolFACTORplotGAM)。对代码中的平滑进行重新排序将SRVar和DOY放置在轴上,而不是DOY和Plot,但它现在总是在Y轴上设置DOY@RichAtMango或其他人,你有什么建议吗?再次感谢您的帮助!
totbest1$var.summary <- totbest1$var.summary[2:1]
vis.gam(totbest1, type="response",plot.type="contour",n.grid=50)