Saya ingin mengetahui nilai-nilai yang (x, y)
digunakan dalam merencanakan plot(b, seWithMean=TRUE)
di mgcv paket. Adakah yang tahu bagaimana saya bisa mengekstraksi atau menghitung nilai-nilai ini?
Berikut ini sebuah contoh:
library(mgcv)
set.seed(0)
dat <- gamSim(1, n=400, dist="normal", scale=2)
b <- gam(y~s(x0), data=dat)
plot(b, seWithMean=TRUE)
r
time-series
smoothing
mgcv
gung - Pasang kembali Monica
sumber
sumber
gam
model, tetapi apakah Anda sudah memeriksa atribut yang berbeda dari objek itu? Anda dapat melihat nama-nama objek dengannames(b)
. Saya menduga detail apa pun yang Anda cari akan disimpan dalam objek itu di suatu tempat.Jawaban:
Dimulai dengan
mgcv
1.8-6, secaraplot.gam
tidak kasat mata mengembalikan data yang digunakannya untuk menghasilkan plot, yaitu melakukanpd <- plot(<some gam() model>)
memberi Anda daftar dengan data plot di
pd
.JAWABAN DI BAWAH UNTUK
mgcv
<= 1.8-5:Saya telah berulang kali mengutuk fakta bahwa plot berfungsi untuk
mgcv
tidak mengembalikan hal-hal yang mereka rencanakan - yang berikut jelek tapi berhasil:sumber
plotData <<- c(plotData, pd[[i]])}))
, pesan berikut terjadiError in fBody[[i]] : no such index at level 3
. Adakah ide mengapa itu tidak berhasil?Paket
visreg
dapat membuat plot efek yang mirip dengan GAM (tetapi mungkin tidak identik?) Dan apakah memberikan komponen plot sebagai output juga, diformat sebagai daftar. Menggunakan plyr, seseorang dapat membuat dataframe dari output. Contoh:sumber
Ini bukan jawaban yang lengkap. Semua merencanakan
gam
objek dilakukan dengan fungsiplot.gam
. Anda dapat melihat kodenya hanya dengan mengetikdi konsol R. Seperti yang akan Anda lihat, kode ini sangat besar. Apa yang saya dapatkan darinya, bahwa semua plot dilakukan dengan mengumpulkan informasi yang relevan di
pd
objek yang merupakan daftar. Jadi salah satu solusi yang mungkin adalah mengeditplot.gam
, menggunakanedit
misalnya, sehingga mengembalikan objek itu. Menambahkanpd
sebelum terakhir}
sudah cukup. Saya akan menyarankan menambahkaninvisible(pd)
, sehingga objek ini dikembalikan hanya jika Anda memintanya:Kemudian periksa objek ini dan cari kode
plot.gam
untuk baris denganplot
danlines
. Kemudian Anda akan melihat mana yang relevanx
dany
nilai muncul di plot.sumber
sumber