You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R dataframe中查找loc列不同分组共有的name和date字段值

实现思路

统计每个name+date组合对应的loc唯一值数量,筛选出符合要求的组合对应的所有记录即可:

  • 如果需要找所有loc分组共有的记录,将筛选条件修改为n_distinct(loc) == n_distinct(df1$loc)
  • 如果需要找至少存在于2个loc分组的记录,使用默认筛选条件即可

完整实现代码

# 加载dplyr包
library(dplyr)

# 模拟数据
df1 <- data.frame(loc = c("Rufl","Rufl","Rufl","Rufl","Assp","Assp","Assp","Assp"),
                  name = c("ABC","DEF","GHI","JKL","ABC","PQR","RTU","JKL"),
                  date = c("2021-06-18", "2021-06-21", "2021-07-18", "2021-06-13", "2021-06-18", "2021-06-21", "2021-06-12", "2021-06-09"))

# 核心计算逻辑
result <- df1 %>%
  group_by(name, date) %>%
  # 筛选同时出现在至少2个loc分组中的(name,date)组合
  filter(n_distinct(loc) >= 2) %>%
  ungroup()

输出结果

运行上述代码得到的result如下(你示例中的Aspp为笔误,原始数据中loc取值为Assp):

locnamedate
RuflABC2021-06-18
AsspABC2021-06-18

内容的提问来源于stack exchange,提问作者millie0725

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:54:05