lara
lara

Reputation: 503

How can I create a linear regression line on a scatterplot with R?

I tried abline function to create a linear regression line on a scatterplot.

x= c (1.0325477, 0.6746901, 1.0845737, 1.1123872, 1.1060822, 0.8595918, 0.8512941, 1.0148842, 1.0722369, 0.9019220 , 0.8809147, 1.0358256, 0.9903858, 1.0715174 , 1.1034405, 1.0143966,0.9802365, 0.7177169 , 0.9190783, 0.8408701 ) 
y= c (0.8550177, 0.8352162 ,1.0236998, 1.1071665, 0.6768144, 0.8449983 ,0.7616483, 0.8259199, 1.1539598, 1.4125006, 1.0511816, 0.9366184, 1.4101268, 1.2937913, 1.4147219 ,1.2943105 ,0.7859749, 0.6689330, 0.6940164, 0.8093392)
plot(x,y) 
abline(lm(y ~ x))
Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) : 
 plot.new has not been called yet

Any suggestions please

Upvotes: 9

Views: 39163

Answers (3)

Siva Makani
Siva Makani

Reputation: 216

First create a file to show your output such as pdf or svg files then same code will obviously help. For more clarification

    svg("filename1.svg")
    plot(x ~ y)
    abline(lm(y ~ x))
    dev.off()

Upvotes: 0

Pamir Erdem
Pamir Erdem

Reputation: 186

plot(x~y)

abline(lm(x~y))

should fix that code. On MacOs it makes it work.

Upvotes: 1

user1234357
user1234357

Reputation: 309

Works fine for me too as for the rest. Try to close and re-open R.

If still problematic, can try:

# put x and y in a data frame
dat<-data.frame(x=x,y=y)
attach(dat)
plot(x,y) 
abline(lm(y ~ x))

Upvotes: 8

Related Questions