如何使用标志平均不连续数据块?

时间:2016-04-15 13:34:34

标签: r average

我将一组不连续的数据分成块,如下所示:

X1  X2    X3
1   10.1  1
2   10.2  1
3   10.3  1
4   10.4  1
5   NA    0
6   NA    0
7   20.1  1
8   20.2  1
9   NA    0
10  NA    0

基本上我需要在第一个块(10.1,10.2,10.3,10.4)中对标志X3 = 1的所有数据进行平均,而在第二个块(20.1,20.2)中进行平均,依此类推。滚动平均值不起作用,因为块的大小略有不同(在这种情况下,第一个是4个点,第二个只有2个)。 我无法弄清楚使用该标志的简单方法,而无需一次解析整行矩阵。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我们可以使用data.table。将'data.frame'转换为'data.table'(setDT(df1),将rleid分组为'X3',获取'{1}}'X2'并删除{{1}输出中的元素mean

NA