mgcv
1.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)
। আমি অনুমান করছি যে আপনি পরে যা কিছু বিশদ আছে সেটিকে সেই বস্তুর মধ্যে কোথাও ধরে রাখা হবে।