我有以下数据框:
df <- data.frame(rep = c(1,1,1,1,1,1,2,2,2,2,2,2),
time = c(0.0000,0.0002,0.0003,0.0015,0.0450,0.07800,0.0000,0.0002,0.0003,0.0015,0.0450,0.07800),
Event = c("A", "A", "A", "B", "C", "C","A", "B", "B", "B", "C", "C"))
所以想法是通过代表来压缩数据。在每个代表中,只有第一个事件保留在系列中,相同的事件被删除,直到系列中发生下一个不同的事件。
ddf <- data.frame(rep = c(1,1,1,2,2,2),
time = c(0.0000,0.0015,0.0450,0.0000,0.0002,0.0450),
Event = c("A","B", "C", "A", "B", "C"))
我知道我需要从代表分组开始,然后是事件
new_df <- df %>% group_by(rep) %>% slice_head(rle(Event))
但我担心 slice_head 会取出太多所以寻求意见。
谢谢。