繁体   English   中英

在r中的散点图中添加中间“最佳拟合线”

[英]Add a median “best fit line” to a scatter plot in r

我想在散点图中添加最佳拟合的经验线,该散点图基于x的范围的中值y,例如在x = 0.105时,x的中值y的y线在0.100到0.110的范围内,在x = 0.115时,x的中值y的y线在0.110到0.120的范围内等。这些y线点将连接起来。 这些x只是为了说明,我想在他们的选择上灵活。 (我不想要参数拟合,谢谢)

这模拟了一些数据:

x<-0.1+runif(n=1000,min=0,max=1)
y<-1/x+runif(n=1000,min=0,max=1)*(1-x)*5
plot(x,y)

这是橙色中线的模拟。

模拟所需的情节

我会将lowess平滑视为选项。 查看关于你希望它如何“平滑”的f选项。 我在下面复制了一些文档。

选项f更平滑的范围。 这给出了图中点的比例,其影响每个值的平滑。 值越大,平滑度越高。

x<-0.1+runif(n=1000,min=0,max=1)
    y<-1/x+runif(n=1000,min=0,max=1)*(1-x)*5    
    plot(x, y)
    lines(lowess(x, y), col=2)
    lines(lowess(x, y, f=.2), col=3)

plot()函数之后,尝试以下操作:

lines( x = lowess( x = x, y = y ), col = "darkgoldenrod2", lwd = 4 )

来自?lowess

lowess返回一个包含组件x和y的列表,它们给出了平滑的坐标。 可以使用功能lines()将平滑添加到原始点的图中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM