 # How to plot the fitted line?

Plot these data and the fitted line.

``````x <- c(3, 5, 8, 11, 15, 18, 20, 25, 27, 30)
y <- c(2, 4, 7, 10, 17, 23, 29, 45, 59, 73)
``````

My fitted line is y=-13.2+2.375x. How to draw these points and the fitted line in the same graph?

``````suppressPackageStartupMessages({
library(ggplot2)
})

dat <- data.frame(
x = c(3, 5, 8, 11, 15, 18, 20, 25, 27, 30),
y = c(2, 4, 7, 10, 17, 23, 29, 45, 59, 73)
)

p <- ggplot(dat,aes(x,y))
p + geom_point() + geom_smooth(method = "lm", se = FALSE) + theme_minimal()
#> `geom_smooth()` using formula 'y ~ x'
`````` 1 Like

Thank you for help. But I need to specify the line y=-13.2+2.375x, not any other line. Because I use nonparametric method to derive the line. I need to know how well this method works.

\dots are slightly different from ordinary least squares regression. Are you sure they are what you want?

``````dat <- data.frame(
x = c(3, 5, 8, 11, 15, 18, 20, 25, 27, 30),
y = c(2, 4, 7, 10, 17, 23, 29, 45, 59, 73)
)

summary(lm(y~x, data = dat)) -> a
a\$coefficients[,1]
#> (Intercept)           x
#>  -13.543129    2.496489
``````
``````dat <-
data.frame(
x = c(3, 5, 8, 11, 15, 18, 20, 25, 27, 30),
y = c(2, 4, 7, 10, 17, 23, 29, 45, 59, 73)
)

# My fitted line is y=-13.2+2.375x.

dat\$myy <- -13.2 + 2.375 * dat\$x

library(ggplot2)
ggplot(dat, aes(x, y)) +
geom_point() +
# geom_smooth(method = "lm", se = FALSE) +
geom_line(aes(y = myy), color = "red")``````

You can use geom_abline to define a line with its slope and intercept:

``````ggplot(dat, aes(x, y)) +
geom_point() +
geom_abline(slope = 2.375,
intercept = -13.2,
colour = "blue")
``````
2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.