从更大的数据集中,我将列出满足特定条件(ID为“ 2”,在示例中为col2)的特定行。
我拥有的子集数据与此示例类似:
col1 = c("17:23", "16:17", "16:08", "16:05", "15:58", "6:33", "6:04", "6:02", "5:59", "5:55", "5:41", "2:01", "1:55", "1:30")
col2 = c("2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2")
col3 = c("1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "6", "1", "2", "3")
test.df = cbind(col1, col2, col3) %>% as.data.frame()
在子集之前,我创建一个滚动序列ID(“ col3”),该ID标识较大数据帧中顺序排列的行。现在,在这个较小的子集数据框中,我想为每个分组的序列创建一个新的ID(即col3中行之间的差!= 1)。
最终结果:
col1 col2 col3 ID
17:23 2 1 1
16:17 2 2 1
16:08 2 3 1
16:05 2 4 1
15:58 2 5 1
6:33 2 1 2
6:04 2 2 2
6:02 2 3 2
[...]
2:01 2 1 3
等