我正在尝试根据每个组查找连续的重复记录并将其标记为连续。
下面是一个示例,我需要检查一组的值并检查下一组是否重复,请在我是初学者中提供您的建议。
我尝试过在 Spotfire 中进行排名,但无法实现解决方案。
基于有序Group的可能解决方案。仅标记所有组中存在的值。 Group 中的间隙(例如 101,103)也通过 dff 被视为不连续。
library(dplyr)
df %>%
arrange(Group) %>%
mutate(dff = c(0, diff(Group)), .by = c(Group, Values)) %>%
mutate(Consecutive =
all(lag(Group) == Group - 1, na.rm=T) & n() > 1 & dff == 0, .by = Values) %>%
select(-dff)
Group Values Consecutive
1 101 45 TRUE
2 101 36 FALSE
3 102 45 TRUE
4 102 67 FALSE
5 103 45 TRUE
6 103 36 FALSE