我的数据框看起来像这样:
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
它就可以了。任何人都可以指出这种方法的问题是什么?
答案 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)