子集中的R序列

时间:2012-12-27 06:18:00

标签: r plot dataframe

我的数据框看起来像这样:

in    out
3234  1
124   1
323   0
532   1

现在我想制作mean(subset(data, data$in < x)$out)的情节。 我尝试生成一个用于绘图的序列:

x <- seq(0, 10000, by=1)
y <- mean(subset(data, data$in < x)$out)

但第二行给我一个警告“较长的物体长度不是较短物体长度的倍数”而plot(x, y)会导致错误。同时,如果我输入一个数字而不是x它就可以了。任何人都可以指出这种方法的问题是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用函数sapply()计算x的每个元素的均值。但首先将in的列名更改为ins,因为它给了我一个错误。

colnames(data)<-c("ins","out")
x <- seq(0, 10000, by=1)
y <- sapply(x,function(x) mean(subset(data, ins < x)$out))
plot(x,y)

enter image description here