【发布时间】:2018-11-04 07:03:00
【问题描述】:
我的数据集由user、time 和condition 组成。我想用最后一个连续TRUE 的time 替换以 FALSE 开头的序列的时间,然后是两个以上连续的TRUEs。
假设df:
df <- read.csv(text="user,time,condition
11,1:05,FALSE
11,1:10,TRUE
11,1:10,FALSE
11,1:15,TRUE
11,1:20,TRUE
11,1:25,TRUE
11,1:40,FALSE
22,2:20,FALSE
22,2:30,FALSE
22,2:35,TRUE
22,2:40,TRUE", header=TRUE)
我想要的结果:第 6 行的时间被复制到第 3 到 6 行的时间,因为连续的 TRUE 从 4 到 6 开始。这同样适用于最后三个记录。
user time condition
11 1:05 FALSE
11 1:10 TRUE
11 1:25 FALSE
11 1:25 TRUE
11 1:25 TRUE
11 1:25 TRUE
11 1:40 FALSE
22 2:20 FALSE
22 2:40 FALSE
22 2:40 TRUE
22 2:40 TRUE
如何在 R 中做到这一点?
【问题讨论】: