Ich möchte die Werte herausfinden, die (x, y)
beim Plotten plot(b, seWithMean=TRUE)
im mgcv- Paket verwendet werden. Weiß jemand, wie ich diese Werte extrahieren oder berechnen kann?
Hier ist ein Beispiel:
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 - Monica wieder einsetzen
quelle
quelle
gam
Modellen 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.Antworten:
Ab
mgcv
1.8-6 werdenplot.gam
die Daten, die zum Generieren der Diagramme verwendet werden , unsichtbar zurückgegebenpd <- plot(<some gam() model>)
gibt Ihnen eine Liste mit den Plotdaten in
pd
.mgcv
ANTWORT UNTEN FÜR <= 1,8-5:Ich habe wiederholt die Tatsache verflucht, dass die Plotfunktionen für das zurückgegebene
mgcv
Material nicht zurückgeben - was folgt, ist hässlich, aber es funktioniert:quelle
plotData <<- c(plotData, pd[[i]])}))
, wird die folgende Meldung angezeigtError in fBody[[i]] : no such index at level 3
. Irgendwelche Ideen, warum es nicht funktioniert?Das Paket
visreg
kann Effektdiagramme ähnlich wie GAM erstellen (aber möglicherweise nicht identisch?) Und gibt die Diagrammkomponenten auch als Ausgabe an, formatiert als Liste. Mit plyr kann man einen Datenrahmen der Ausgabe erstellen. Beispiel:quelle
Dies wird keine vollständige Antwort sein. Das gesamte Plotten für
gam
Objekte erfolgt mit Funktionplot.gam
. Sie können den Code durch einfaches Eingeben anzeigenin der R-Konsole. Wie Sie sehen werden, ist der Code riesig. Was ich daraus gelernt habe, ist, dass das gesamte Zeichnen durch Sammeln relevanter Informationen in einem
pd
Objekt erfolgt, das eine Liste ist. Eine der möglichen Lösungen wäre also, beispielsweise zu bearbeitenplot.gam
,edit
dass das Objekt zurückgegeben wird.pd
Vorletztes Hinzufügen}
reicht aus. Ich würde empfehlen, hinzuzufügeninvisible(pd)
, damit dieses Objekt nur zurückgegeben wird, wenn Sie danach fragen:Untersuchen Sie dann dieses Objekt und suchen Sie im Code von
plot.gam
nach den Zeilen mitplot
undlines
. Dann werden Sie die von der entsprechenden sehenx
undy
Werte erscheinen in der Handlung.quelle
quelle