我有一个数据集,我需要在其中评估具有相同 id 代码的多个条目,如果满足一组条件,则在最后一行中拆分一个单元格值。
条件 = 该 id 的最后一行具有 action=="l" & time >60。
如果满足此条件,我想更改行操作 <- “e”,并且时间 <- 60。超过 60 的时间量应放在下面新形成的行中。新行的列内容应与父行相同,除了 action=="l" & time==original value - 60)。
样本数据集
id <- c("12_1","12_1","12_1","12_2","12_2","12_2")
action <- c("l","d","l","l","d","l")
time <- c(15,45,90,20,30,61)
dtfrm <-data.frame(cbind(id,action,time))
测试数据框
id action time
1 12_1 l 15
2 12_1 d 45
3 12_1 l 90
4 12_2 l 20
5 12_2 d 30
6 12_2 l 61
我希望转换后的数据框看起来像这样
id action time
1 12_1 l 15
2 12_1 d 45
3 12_1 e 60
4 12_1 l 30
5 12_2 l 20
6 12_2 d 30
7 12_2 e 60
8 12_2 l 1
最终,我将有更复杂的条件来评估,但我试图从简单的开始,逐步提高将这个数据集调整为工作顺序所需的更复杂的条件。谢谢。