Fit Line in Base Graphics
Here's how to do it in base graphics:ols <- lm(Temp ~ Solar.R, data = airquality) summary(ols) plot(Temp ~ Solar.R, data = airquality) abline(ols)
Fit line in base graphics in R |
Fit Line in ggplot
And here's how to do it in ggplot:
You can access the info from your regression results through ols$coefficients.
Edit: Thanks to an anonymous commenter, I have learned that you can simplify this by using geom_smooth. This way you don't have to specify the intercept and slope of the fit line.
library(ggplot2) ggplot(data = airquality, aes(Solar.R, Temp)) + geom_point(pch = 19) + geom_abline(intercept = ols$coefficients[1], slope = ols$coefficients[2])
You can access the info from your regression results through ols$coefficients.
Edit: Thanks to an anonymous commenter, I have learned that you can simplify this by using geom_smooth. This way you don't have to specify the intercept and slope of the fit line.
ggplot(data = airquality, aes(Solar.R, Temp)) + geom_point(pch = 19) + geom_smooth(method = lm, se = FALSE)
Fit line in ggplot in R |
Fit Line in Lattice
In lattice, it's even easier. You don't even need to run a regression; you can just add to the type option.
library(lattice) xyplot(Temp ~ Solar.R, data = airquality, type = c("p", "r"))
Fit Line in Lattice in R |
You don't need to extract coefficients from ols object when using ggplot, you can also do it like this:
ReplyDeleteggplot(airquality, aes(Solar.R, Temp))+
geom_point()+geom_smooth(method=lm,se = FALSE)
Thanks! I updated the post to include this information.
ReplyDelete