在R中的两个数据集的一个图上绘制两个简单的线性回归散点图和线

时间:2017-04-05 13:08:51

标签: r plot dataset regression

我试过了:

plot(CORTMaglog~CORTlogB, data = data0, xlab="logCORTB", ylab="log CORT30- CORTB")
abline(lm(CORTMaglog ~ CORTlogB))

plot(CORTMaglog~CORTlogB, data = data1, xlab="logCORTB", ylab="log CORT30- CORTB")
abline(lm(CORTMaglog ~ CORTlogB))

现在有两张图。

如何在一个图表上使用线条和散点图从两个不同的数据集中绘制两个图?

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该使用points。这是一个可重复的例子:

x = 1:100
y1 = x^1.2 + x*rnorm(100,0,1)
y2 = 2*x^1.2 + x*rnorm(100,1,0.5)
plot(x,y1)
plot(x,y2)

data1 = cbind(x,y1)
data2 = cbind(x,y2)

plot(y2 ~ x, data=data2,col='blue')
abline(lm(y2 ~ x),col='blue')

points(y1 ~ x, data=data1,col='red')
abline(lm(y1 ~ x),col='red')

enter image description here

修改要回答评论中的问题。要按照您希望的方式使用plot函数,您需要从predict函数中提取预测。例如:

x = 1:100
y1 = x^1.2 + x*rnorm(100,0,1)
data1 = data.frame(cbind(x,y1))

fit = lm(y1~x, data=data1)
y = predict(fit, newdata = data.frame(x))
plot(x,y1)
lines(x,y)