Bắt đầu với mgcv1.8-6, plot.gamtrả về vô hình dữ liệu mà nó sử dụng để tạo các ô, tức là thực hiện
pd <- plot(<some gam() model>)
cung cấp cho bạn một danh sách với dữ liệu âm mưu pd.
TRẢ LỜI DƯỚI ĐÂY mgcv<= 1,8-5:
Tôi đã nhiều lần nguyền rủa sự thật rằng các chức năng cốt truyện mgcvkhông trả lại những thứ họ đang âm mưu - những gì tiếp theo là xấu nhưng nó hoạt động:
library(mgcv)
set.seed(0)
dat <- gamSim(1, n = 400, dist = "normal", scale = 2)
b <- gam(y ~ s(x0) + s(x1) + s(x2) + s(x3), data = dat)
plotData <- list()
trace(mgcv:::plot.gam, at = list(c(27, 1)),
## tested for mgcv_1.8-4. other versions may need different at-argument.
quote({
message("ooh, so dirty -- assigning into globalenv()'s plotData...")
plotData <<- pd
}))
mgcv::plot.gam(b, seWithMean = TRUE, pages = 1)
par(mfrow = c(2, 2))
for (i in 1:4) {
plot(plotData[[i]]$x, plotData[[i]]$fit, type = "l", xlim = plotData[[i]]$xlim,
ylim = range(plotData[[i]]$fit + plotData[[i]]$se, plotData[[i]]$fit -
plotData[[i]]$se))
matlines(plotData[[i]]$x, cbind(plotData[[i]]$fit + plotData[[i]]$se,
plotData[[i]]$fit - plotData[[i]]$se), lty = 2, col = 1)
rug(plotData[[i]]$raw)
}
gamcác mô hình, nhưng bạn đã kiểm tra các thuộc tính khác nhau của đối tượng đó chưa? Bạn có thể nhìn vào tên của các đối tượng vớinames(b). Tôi đoán bất cứ chi tiết nào bạn có sau đó sẽ được giữ lại trong đối tượng đó ở đâu đó.