Angenommen, ich habe Daten:
x1 <- rnorm(100,2,10)
x2 <- rnorm(100,2,10)
y <- x1+x2+x1*x2+rnorm(100,1,2)
dat <- data.frame(y=y,x1=x1,x2=x2)
res <- lm(y~x1*x2,data=dat)
summary(res)
Ich möchte die kontinuierliche durch kontinuierliche Interaktion so darstellen, dass x1 auf der X-Achse liegt und x2 durch 3 Linien dargestellt wird, von denen eine x2 bei einem Z-Score von 0, eine bei einem Z-Score von +1 und eine andere bei a darstellt Z-Score von -1, wobei jede Linie eine eigene Farbe hat und beschriftet ist. Wie kann ich das mit ggplot2 machen?
Zum Beispiel könnte es ungefähr so aussehen (obwohl natürlich mit verschiedenfarbigen Linien anstatt mit verschiedenen Linientypen):
r
regression
ggplot2
interaction
russellpierce
quelle
quelle
Antworten:
Hier ist meine Version mit Ihrem simulierten Datensatz:
Ich lasse Sie die Details zu Beschriftungen der x / y-Achse und zur Positionierung der Legende verwalten.
quelle
Berechnung der Schätzungen für y mit einem Z-Score von 0 ( y0- Spalte), -1 ( y1m- Spalte) und 1 ( y1p- Spalte):
Zeichnen der Linien mit Basis
plot()
:Um ggplot zu verwenden, können Sie geom_line aufrufen :
quelle
predict
, scheint aber nützlich.