mgcv1.8-6 দিয়ে শুরু করে , plot.gamঅদৃশ্যভাবে প্লটগুলি তৈরি করতে ব্যবহৃত ডেটার অর্থ ফেরত দেয়, অর্থাৎ করায়
pd <- plot(<some gam() model>)
আপনাকে প্লট করার ডেটা সহ একটি তালিকা দেয় pd।
নীচে উত্তর mgcv<= 1.8-5 এর জন্য:
আমি বারবার এই সত্যকে অভিশাপ দিয়েছি যে প্লট ফাংশনগুলির জন্য mgcvতারা যে ষড়যন্ত্র করছে তার জিনিসটি ফেরত দেয় না - এরপরে যা কুৎসিত তা কিন্তু এটি কাজ করে:
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)
}
gamমডেলগুলির সাথে পরিচিত নই , তবে আপনি কি সেই বস্তুর বিভিন্ন বৈশিষ্ট্য পরীক্ষা করেছেন? আপনি অবজেক্টের নাম দিয়ে দেখতে পারেনnames(b)। আমি অনুমান করছি যে আপনি পরে যা কিছু বিশদ আছে সেটিকে সেই বস্তুর মধ্যে কোথাও ধরে রাখা হবে।