累积扩展类别以包括R中的所有先前观察

时间:2017-06-04 15:45:40

标签: r

我有这个数据框:

df = as.data.frame(structure(list(ID = c(1,2,1,2),
                              value = c(10,12,14,16),
                              category = c(1,1,2,2))))

我希望将其纳入每个category的累积数据框中,其中每一行都插入到顺序类别中:

desired_df = as.data.frame(structure(list(ID = c(1,2,1,2,1,2),
                              value = c(10,12,10,12,14,16),
                              category = c(1,1,2,2,2,2))))

使用desired_df,我希望能够累计绘制每个类别中观察的分布(每个类别都是一个时间步长)。

1 个答案:

答案 0 :(得分:0)

我们可以遍历'category'的unique元素,获取序列,使用它来对原始数据集进行子集化,transform category列和rbind list元素

do.call(rbind, lapply(unique(df$category), function(i) 
         transform(df[df$category %in% seq_len(i),], category = i)))
#   ID value category
#1  1    10        1
#2  2    12        1
#3  1    10        2
#4  2    12        2
#5  1    14        2
#6  2    16        2