# [R] how do I plot a regression curve with the data?

Kingsford Jones kingsfordjones at gmail.com
Wed Oct 28 16:37:16 CET 2009

```On Wed, Oct 28, 2009 at 9:23 AM, Tom Gottfried <tom.gottfried at wzw.tum.de> wrote:
> ?curve
>
> regards,
> Tom

and I was in the process of writing a curve example when I noticed Tom
sent this.  Here it is:

set.seed(777)
x <- runif(100, 0, 100)
y <- 10*x + x^2 - .01*x^3 + rnorm(100, 0, 500)
fit <- lm(y ~ x + I(x^2) + I(x^3))
B <- coef(fit)
plot(x, y)
curve(10*x + x^2 - .01*x^3, col = 4, lty = 4,
lwd = 2, add = TRUE)
curve(B + B*x + B*x^2 + B*x^3, col = 2,
lty = 2, lwd = 2, add = TRUE)
legend('topleft', c('truth', 'fit'), lty = c(4, 2),
col = c(4, 2), lwd = 2)

btw, it's not possible to fit a 9th-degree polynomial model with lm
based on only '6 or so ordered pairs' (assuming that means 6 data
points).  A 5th degree polynomial would be a direct interpolater.

hth,

Kingsford

>
> Ken Ervin schrieb:
>> I have a data set of 6 or so ordered pairs, and I've been able to graph
>> them and have decided to use a high-order polynomial regression.  I've
>> used the following piece of code:
>>
>> regression <- function(x,y) {
>>    x <- c(insert_numbers_here)
>>    y <- c(insert_other_numbers_here)
>>    fit <- lm(y ~ x + I(x^2) + I(x^3) + I(x^4) + I(x^5) + I(x^6) + I(x^7)
>> + I(x^8) + I(x^9))
>>    summary(fit)
>>
>> This gives me the coefficients for the regression very nicely, but I
>> would like to plot both the data and the regression curve together.  How
>> do I plot that regression curve as a function, and can I put it on the
>> same set of axes as my data scatter plot?
>>
>>
>> -KE
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help