Допустим, у меня есть данные:
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)
Я хочу построить непрерывное непрерывное взаимодействие так, чтобы x1 находился на оси X, а x2 был представлен 3 строками, одна из которых представляет x2 при Z-значении 0, одна при Z-значении +1, а другая при Z-оценка -1, с каждой строкой отдельный цвет и помечены. Как я могу сделать это с помощью ggplot2?
Например, это может выглядеть примерно так (хотя, конечно, с разными цветными линиями, а не с разными типами линий):
r
regression
ggplot2
interaction
russellpierce
источник
источник
Ответы:
Вот моя версия с вашим смоделированным набором данных:
Я позволю вам управлять деталями меток осей x / y и позиционирования легенды.
источник
Вычисление оценок для y с Z-счетом 0 ( столбец y0 ), -1 ( столбец y1m ) и 1 ( столбец y1p ):
Построение линий с базой
plot()
:Чтобы использовать ggplot, вы можете вызвать geom_line :
источник
predict
, но кажется полезным.