0
所以我想要做的是在數據框中創建一個從1開始的序列,但是如果它遇到基於另一列的TRUE,它會匹配那些在連續的行中。如何生成一個對應於True和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))
我想這是輸出:
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))
記住日期按順序是僅僅是一個例子,因爲我的工作與一個大數據集,所以他們將不會協調。此外,標誌塔與數十列
感謝一個選項,但找一個沒有數據表的答案,因爲我的數據集是相當大的,並使用數據表相當慢地減慢它 – Ic3MaN911
@ Ic3MaN911 data.table用於大數據集並且非常有效。也許你正在尋找data.frame解決方案(這會很慢) – akrun