【问题标题】:keep rows in data that meet conditions based on previous rows [duplicate]根据先前的行保留满足条件的数据行[重复]
【发布时间】:2023-03-22 04:23:01
【问题描述】:

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

具有相同的 ID 但不同的日期。

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

当前

想要的

【问题讨论】:

  • 因为那个ID只出现一次
  • 图片不是共享数据/代码的正确方式。以更易于复制的可复制格式添加它们。阅读how to give a reproducible example

标签: r logic subset


【解决方案1】:

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

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)))

【讨论】:

  • n() > 1 不是多余的吗? n_distinct(...) > 1 不能有 1 个值。
  • @thelatemail 你是对的。谢谢
猜你喜欢
  • 1970-01-01
  • 2021-10-02
  • 2020-11-14
  • 1970-01-01
  • 2018-09-19
  • 2018-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多