根据前几行保留满足条件的数据行

keep rows in data that meet conditions based on previous rows

我正在尝试编写一些代码以仅在我的数据框中保留以下行:

ID 相同但日期不同。

以下是我当前和期望的申请日期。

当前

需要

我们可以按'ID'分组,filter不同的ID数'Date'大于1

library(dplyr)
df1 %>%
    group_by(ID) %>%
    filter(n_distinct(Date, na.rm = TRUE) > 1) %>%
    ungroup

或在base R

subset(df1, ID %in% names(which(table(unique(df1[c('ID', 'Date')])$ID) > 1)))