Я запускаю один и тот же набор многомерных моделей для разных зависимых переменных. Я хотел бы генерировать предсказанные значения разных y по сравнению с x на основе модели, управляющей z, а затем строить их в одном и том же ggplot2, чтобы каждая модель приобретала другой цвет. Следующий код создает две модели взаимоотношений между й и y1 и y2, контролирующими для г, неопределенности и только участки один из них:Участок 2 разных модели на том же ggplot2
require(ggplot2)
set.seed(123)
dat <- data.frame(x = rnorm(100), z = rnorm(100), y1 = rnorm(100), y2 = rnorm(100))
dat1 <- dat[,c(1,2,3)]
dat2 <- dat[,c(1,2,4)]
mod1 <- lm(y1 ~ x + z, data = dat1)
mod2 <- lm(y2 ~ x + z, data = dat2)
dat1$mod1 <- predict(mod1, newdata =dat1)
err <- predict(mod1, newdata =dat1, se = TRUE)
dat1$ucl <- err$fit + 1.96 * err$se.fit
dat1$lcl <- err$fit - 1.96 * err$se.fit
dat2$mod2 <- predict(mod2, newdata =dat2)
err <- predict(mod2, newdata =dat2, se = TRUE)
dat2$ucl <- err$fit + 1.96 * err$se.fit
dat2$lcl <- err$fit - 1.96 * err$se.fit
ggplot(dat1) +
geom_point(aes(x = x, y = mod1), size = .8, colour = "black") +
geom_smooth(data = dat1, aes(x= x, y = mod1, ymin = lcl, ymax = ucl), size = 1, colour = "darkblue", se = TRUE, stat = "smooth", method = "lm")
Любой идея о том, как добавить второй участок на этом, учитывая, что кадры разные? Спасибо за любую помощь.
Можете ли вы описать свою цель словами. Вы хотите построить предсказанные значения 'y' по сравнению с' x', на основе модели управления для 'z'? С отдельными цветами для 'y1' и' y2'? – davechilders
Да, это точно. Я также добавлю этот текст к вопросу. –
Множество опций о том, как это сделать, но исходя из того, как вы в настоящее время сталкивались с проблемой, вам, вероятно, просто нужно добавить дополнительные слои на основе разных наборов данных. См. [Здесь] (http://stackoverflow.com/questions/2329851/how-can-i-add-another-layer-new-series-to-a-ggplot) и [здесь] (http: // stackoverflow. com/questions/9109156/ggplot-combining-two-plot-from-different-data-frames). – aosmith