2015-08-14 62 views
2

我爲這樣一個簡單的問題表示歉意,但一直未能找到答案,但尚未仔細閱讀該網站。我試圖在R中繪製一系列GAM無脊椎動物捕獲數據模型。其中一個預測因子總是一個平滑的年份數字(DOY)。這應該總是佔據x軸的空間。 y軸應該是線性或平滑的天氣變量預測變量。使用vis.gam()函數,我可以生成一個表面輪廓圖,其中的顏色梯度代表任何x-y對的響應預測值。當第二預測是非線性的,如:在r中爲2預測值GAM交換軸

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軸的方法,那將非常感激。預先感謝您的幫助。

麥克

回答

0

這似乎是由於在其中返回的GAM對象的var.summary元件的順序。嘗試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相反的順序是由設計。

希望這有助於!豐富。

+0

它的工作,非常感謝你!我非常感謝你的幫助。 – user3277394

+0

我不喜歡像這樣爬回來,但我在我的模型中引入了一個皺紋,因爲我已經將我的數字重新定向爲上述不可能的,據我所知。我一直在調整它,並不能解決這個問題。我包含了一個因子/平滑的相互作用,如下所示:totbest = gam(TARallog10pl1〜s(SRVarDetrendDerived)+ s(DOY,by = Plot),na.action = na.omit,data = poolFACTORplotGAM)。對代碼中的平滑重新排序將SRVar和DOY放置在軸上,而不是DOY和Plot,但現在總是在Y軸上設置DOY。 @RichAtMango,或其他人,你可能會有一個建議嗎?再次感謝任何幫助! – user3277394