[R] plotting polynomial regression line

David Winsemius dwinsemius at comcast.net
Sun Dec 20 19:56:46 CET 2009


On Dec 20, 2009, at 1:35 PM, Amit wrote:

> Dear All,
> I am trying to plot polynomial regression line to a scatterplot. I did
> following so far:
>
>> x=c(1:9335)
>> y=read.table("gp.txt",header=T,sep="\t")
>> length(y$PCC) # y$PCC has values between 1 to 0 in decreasing order
> [1] 9335
>> plot(x,y$PCC,col="red") #scatterplot between x and y$PCC
>> reg=lm(y$PCC~poly(x,6)) # calculating polynomial fit with degree 6
>> abline(reg,col="blue")
> Warning message:
> In abline(reg, col = "blue") :
>  only using the first two of 7regression coefficients
>
> After the above warning a line is drawn in the graph parallel to the
> y-axis. But I was expecting a curve line through the scatterplot.
> Am I doing something wrong? Please help!

abline is designed to draw lines of the form y=a+bx, ... hence the  
name. (And as documented on its help page for regression objects).

An effective method would be with lines and predict:

  plot(cars, main="Stopping Distance versus Speed")
  lines(cars$speed, predict(lm(dist~poly(speed, 6) ,data=cars) ),  
col="red")

>
> Best
> Amit
>
> _______________

David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list