Ab mgcv1.8-6 werden plot.gamdie Daten, die zum Generieren der Diagramme verwendet werden , unsichtbar zurückgegeben
pd <- plot(<some gam() model>)
gibt Ihnen eine Liste mit den Plotdaten in pd.
mgcvANTWORT UNTEN FÜR <= 1,8-5:
Ich habe wiederholt die Tatsache verflucht, dass die Plotfunktionen für das zurückgegebene mgcvMaterial nicht zurückgeben - was folgt, ist hässlich, aber es funktioniert:
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)
}
gamModellen nicht vertraut , aber haben Sie die verschiedenen Attribute dieses Objekts untersucht? Sie können die Namen der Objekte mit anzeigennames(b). Ich vermute, dass alle Details, nach denen Sie suchen, irgendwo in diesem Objekt gespeichert werden.