0

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

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它的工作原理。谁能指出这种方法有什么问题?

4

1 回答 1

3

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

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)

在此处输入图像描述

于 2012-12-27T06:34:13.530 回答