如何根据另一组列查找列中的连续值

问题描述 投票:0回答:1

我正在尝试根据每个组查找连续的重复记录并将其标记为连续。

下面是一个示例,我需要检查一组的值并检查下一组是否重复,请在我是初学者中提供您的建议。

我尝试过在 Spotfire 中进行排名,但无法实现解决方案。

r duplicates spotfire
1个回答
0
投票

基于有序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
© www.soinside.com 2019 - 2024. All rights reserved.