user8435999
user8435999

Reputation:

How to plot raw data but use predicted values for line fit in ggplot2 R?

I have a data set (dat), with raw data (raw_x and raw_y). I have predicted a model and the predictions from the model are stored in dat$predict. I wish to plot the raw data but overlay the data with a geom_smooth (here a quadratic function) but using the predicted data. This is my attempt at the basic code. I am not sure how to use predicted values in the geom_smooth yet.

ggplot(dat, aes(x = raw_x, y = raw_y, colours = "red")) + 
  geom_point() +  
  theme_bw() + 
  geom_smooth(method = "lm", formula = y ~ x + I(x^2))

Upvotes: 0

Views: 3898

Answers (1)

Rui Barradas
Rui Barradas

Reputation: 76651

The following plots the original points, the linear fit line and the fitted points. I use made up data since you have posted none.

set.seed(1234)
x <- cumsum(rnorm(100))
y <- x + x^2 + rnorm(100, sd = 50)

dat <- data.frame(raw_x = x, raw_y = y)

fit <- lm(y ~ x + I(x^2), dat)
dat$predict <- predict(fit)

ggplot(dat, aes(x = raw_x, y = raw_y)) + 
  geom_point(colour = "blue") +  
  theme_bw() + 
  geom_smooth(method = "lm", formula = y ~ x + I(x^2), colour = "red") +
  geom_point(aes(y = predict), colour = "black")

enter image description here

Upvotes: 2

Related Questions