在R中计算散点图标准偏差

4

我使用R语言创建了两个向量的散点图,并使用abline增加了一条表示x = y对角线的直线。我想计算点到对角线的标准差,并对第一和第三四分位数之间的区域进行颜色填充。
我不知道如何做,感谢任何帮助!
提前致谢。
Haj。


2
请在第84页上尝试这段代码。http://ablejec.nib.si/R/I2R/DOC/I2R.pdf - Roman Luštrik
@Roman 确定是第84页吗?虽然这是一篇非常好的阅读材料。 - Joris Meys
你说得对。它是86。它只是给你一些提示,如何绘制一些点并将abline与它们连接起来。也许我没有仔细阅读问题。 :) - Roman Luštrik
1个回答

3

好的,你想要做的是这样的:

# sample data
x <- rnorm(50,0,2)
y <- x+rnorm(50,0,2)

# construct polygons
div <- quantile(y-x,c(0.25,0.75))
x1 <- min(c(x,y))
x2 <- max(c(x,y))


plot(x,y,type="n")
polygon(x=c(x1,x1,x2,x2),y=c(x1+div,(x2+div)[c(2,1)]),col="grey")
abline(0,1)
points(x,y)

我会这样做:

qplot(x,y,geom="point") + stat_smooth(method="lm")

您想要计算的标准差是:
sd(y-x)

你可能需要的正确措施是:

sd(residuals(lm(y~x)))

除非你有非常充分的理由不这样做,否则应该考虑使用y对x的线性模型来获得任何有意义的结果。如果x和y之间的关系不是一对一的,则假设正确的模型是如此并没有意义。如果x对y的关系不是一对一的,则y-x将不会服从正态分布,因此标准差将难以有意义地解释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接