我有这个数据框:
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
,我希望能够累计绘制每个类别中观察的分布(每个类别都是一个时间步长)。
答案 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