Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从R中的两个数据集在一个图上绘制两个简单线性回归散点图和直线_R_Plot_Dataset_Regression - Fatal编程技术网

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

从R中的两个数据集在一个图上绘制两个简单线性回归散点图和直线,r,plot,dataset,regression,R,Plot,Dataset,Regression,我试过: plot(CORTMaglog~CORTlogB, data = data0, xlab="logCORTB", ylab="log CORT30- CORTB") abline(lm(CORTMaglog ~ CORTlogB)) 及 现在有两张图 如何在一个带有线条和散点图的图形上同时绘制两个不同数据集的两个图 谢谢大家! 您应该使用点。以下是一个可复制的示例: x = 1:100 y1 = x^1.2 + x*rnorm(100,0,1) y2 = 2*x^1.2 + x*rn

我试过:

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

现在有两张图

如何在一个带有线条和散点图的图形上同时绘制两个不同数据集的两个图


谢谢大家!

您应该使用
。以下是一个可复制的示例:

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')

编辑回答评论中的问题。要按您想要的方式使用
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)

谢谢你的帮助!发生的情况如下:>data1data0x=1:100>y1=lm(CORTMaglog~CORTlogB,data=data1)>y0=lm(CORTMaglog~CORTlogB,data=data0)>xy中的plot(x,y1)错误。coords(x,y,xlabel,ylabel,log):'x'和'y'长度不同,因为在您的例子中,y1是一个lm对象。如果你想使用plot(x,y1),那么你需要做y1=predict(lm(CORTMaglog~CORTlogB,data=data1),newdata=data.frame(x)),如果这有帮助,请随意接受答案。这很有意义。然而,我现在有这样一条错误消息:警告消息:“newdata”有100行,但找到的变量有52行,谢谢您帮助我!不要绘制x,绘制x变量,可能是CORTlogB。您应该检查它的长度是否为52,与y变量相同
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)