Ich versuche, einige lineare und polynomische Regressionen mit ggplot
zu plotten. Dies ist sehr einfach, wenn die Regressionskoeffizienten innerhalb die geom_smoot
Schätzungsfunktion:Plotten Regression von seinen Koeffizienten mit ggplot
ggplot (mtcars, aes(x=wt, y=mpg, fill=factor(cyl), colour=factor(cyl))) + geom_smooth(method='lm', formula = y ~ poly(x,2)) + geom_point()
aber hier habe ich nur eine Vorhersage darstellen möge (oder mehr, wie im Beispiel oben), basierend auf Vorwissen über die Regression Parameter.
Also hier mit meiner Regressions Schätzungen können durch Druck:
dlply(mtcars,.(cyl), lm, formula=mpg ~ poly(wt,2)) %>%
llply(summary) %>%
ldply(coefficients)
Jetzt möchte ich die Handlung in einer umgekehrten Art und Weise zu bauen, von den Schätzungen für die Handlung. Oder noch besser, um eine Vorhersage von anderen Werten für diese Schätzungen zu erstellen (z. B. Intercept=20
, poly(wt,2)1=-15
und poly(wt,2)2=4
für cyl=4
), und dann eine Auftragung wie die obige zu erhalten.
Aber hier ist, wo ich nicht weiß, wie man vorgeht. Ich denke, ich brauche eine andere geom_smooth
, geom_line
oder ähnliches für jede Ebene von cyl
, einschließlich in jedem dieser die entsprechenden Werte der Schätzungen, aber kann nicht herausfinden, wie.
Diese Vorhersage ist basierend auf den Regressionsparametern, die durch die "lm" -Funktion geschätzt werden. Wie könnte ich es verwenden, um eine Zeile basierend auf benutzerdefinierten Parametern zu markieren, wie in der Frage gezeigt? – EuGENE
Mit Ihrem Vorschlag könnte ich tatsächlich die Schätzungen manuell ändern (ej: 'mod $ coefficient [3] = 4') und dann' prognose' verwenden. Es gibt keinen direkteren Weg, dies zu erreichen, oder? – EuGENE
Bearbeitete meine Antwort, um eine Lösung zu bieten. –