【发布时间】:2017-07-09 10:49:09
【问题描述】:
所以我想要做的是在数据框中创建一个从 1 开始的序列,但是每当它遇到基于另一列的 TRUE 时,如果它们在连续的行中,它就会匹配它们。
例如,在这个数据集中:
df <- data.frame(date = c("11","12", "13","14","15","16","17","18","19","20","21", "22", "23"),
flag = c(FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE))
我想要这个作为输出:
df <- data.frame(date = c("11","12", "13","14","15","16","17","18","19","20","21", "22", "23"),
flag = c(FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE),
id = c(1, 2, 3, 4, 4, 5, 6, 7, 7, 7, 8, 9, 10))
请记住,按顺序排列的日期只是一个示例,因为我正在使用大型数据集,因此它们根本不会协调。此外,标志列只是数据框中的一列,还有几十列
【问题讨论】:
标签: r