从散点图

时间:2016-10-05 03:56:28

标签: r scatter-plot variance

我有一个x与y的散点图。我在情节中间画了一个斜面。我想计算abline左边各点的方差,我想计算abline右边各点的方差。这很可能是一个相对简单的问题,但我很难找到解决方案。任何建议表示赞赏。提前谢谢。

    x = rnorm(100,mean=12,sd=2)
    y = rnorm(100,mean=20,sd=5)
    data = as.data.frame(cbind(x,y))
    plot(x=x,y=y,type="p")
    abline(v=12,col="red")

1 个答案:

答案 0 :(得分:4)

在示例代码中,您有一条垂直线v = 12。您的数据点(x, y)分为两个组x < 12x >= 12。这样做很简单:

var(y[x < 12])
var(y[x >= 12])

但我们也可以使用tapply的一次调用:

tapply(y, x < 12, FUN = var)

更一般地说,如果您有一行y = a * x + b,其中a为斜率且b为截距,则您的数据点(x, y)将分为两组:{{ 1}}(在线下方)和y < a * x + b(在线上方),以便您可以使用

y >= a * x + b