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

使用dplyr基于列值过滤行:筛选同时满足进出口条件的国家与物种记录

dplyr双维度分组过滤实现方案

你只需要将原有分组维度从仅Country调整为Country+Species双维度分组,再做条件判断即可,代码示例如下:

library(dplyr)

# 构造测试数据(实际使用时替换为你自己的数据集即可)
df <- structure(list(Country = c("A", "B", "B", "C", "C", "C", "D"), 
               Year = c(2001, 2001, 2004, 2003, 2005, 2006, 2007), 
               Quantity = c(10, 50, 20, 30, 40, 60, 290), 
               Description = c("Frozen", "Fresh", "Frozen", "Frozen", "Fresh", "Frozen", "Fresh"), 
               `Import/Export` = c("Export", "Import", "Export", "Import", "Export", "Import", "Import"), 
               Species = c("X", "X", "Y", "X", "X", "X", "Y")), 
          class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -7L))

# 核心过滤逻辑
result <- df %>%
  group_by(Country, Species) %>%
  filter(all(c("Import", "Export") %in% `Import/Export`)) %>%
  ungroup()

逻辑说明

  • group_by(Country, Species):将数据按「国家+物种」的组合拆分独立分组,每个分组对应同一个国家下同一个物种的所有进出口记录
  • filter(all(c("Import", "Export") %in% Import/Export)):仅保留分组内同时存在进口、出口两类记录的所有行,注意Import/Export列名包含特殊字符,需要用反引号包裹避免语法报错
  • 最终输出和预期一致,仅返回国家C的3条符合条件的记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:09:03