Menukar sumbu untuk GAM 2-prediktor di r

Saya minta maaf atas pertanyaan sederhana ini, namun belum dapat menemukan jawabannya saat membaca situs ini. Saya mencoba memplot serangkaian model GAM data penangkapan invertebrata di R. Salah satu prediktornya adalah istilah hari dalam tahun (DOY) yang selalu dihaluskan. Ini harus selalu menempati ruang sumbu x. Sumbu y harus berupa prediktor variabel cuaca linier atau halus. Dengan fungsi vis.gam(), saya dapat menghasilkan plot kontur permukaan dengan gradien warna yang mewakili nilai prediksi respons untuk pasangan xy apa pun. Jika prediktor kedua bersifat nonlinier, seperti pada:

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

maka gambarnya terlihat sebagaimana mestinya (maaf karena tidak bisa memposting gambar, tapi ini perintah plottingnya):

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

Namun jika prediktornya linier:

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

saklar sumbu:

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

Jika Anda memiliki cara untuk mengembalikan variabel terkait waktu ke sumbu x, itu akan sangat dihargai. Terima kasih sebelumnya atas bantuan apa pun.

Mike


person user3277394    schedule 14.08.2015    source sumber


Jawaban (1)


Hal ini tampaknya disebabkan oleh urutan pengembalian elemen var.summary dari objek gam. Coba totbest$var.summary vs totbest1$var.summary.

Sebuah "perbaikan" adalah dengan melakukan ini:

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

Peringatan: Saya belum cukup membaca tentang objek gam untuk memahami apakah urutan kebalikan dari var.summary memang disengaja.

semoga ini membantu! Kaya.

person RichAtMango    schedule 14.08.2015
comment
Berhasil, terima kasih banyak! Saya sangat menghargai bantuan Anda. - person user3277394; 15.08.2015
comment
Aku benci harus merangkak kembali seperti ini, tapi aku menimbulkan kerutan pada modelku yang membuat reorientasi figurku seperti di atas menjadi mustahil, sejauh yang bisa kulihat. Saya telah mengubahnya dan tidak dapat menemukan jawabannya. Saya telah menyertakan faktor/interaksi lancar, seperti pada: totbest=gam(Totallog10pl1~s(SRVarDetrendDerived)+s(DOY,by=Plot),na.action=na.omit,data=poolFACTORplotGAM). Menyusun ulang penghalusan dalam kode menempatkan SRVar dan DOY pada sumbu, bukan DOY dan Plot, tetapi sekarang selalu menyetel DOY pada sumbu Y. @RichAtMango, atau siapa pun, mungkin Anda punya saran? Sekali lagi terima kasih atas bantuannya! - person user3277394; 18.08.2015