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

在R中用dplyr筛选数据框:保留含某变量全部值的组合

使用dplyr筛选同时包含Blue和Red颜色的玩具记录

需求说明

从生成的tTable数据框中,提取所有日期+玩具类型组合下同时存在Blue和Red两种颜色的记录,得到目标数据框tDesired。

解决方案(dplyr实现)

通过分组检查每组颜色完整性的方式实现筛选,代码如下:

# 加载dplyr包
library(dplyr)

# 筛选符合条件的记录
tDesired <- tTable %>%
  # 按日期和玩具类型分组
  group_by(date, toy) %>%
  # 仅保留组内同时包含Blue和Red的记录
  filter(all(c("Blue", "Red") %in% col)) %>%
  # 取消分组,恢复普通数据框结构
  ungroup()

代码解释

  • group_by(date, toy):将数据按「日期+玩具类型」分组,确保针对每个独立的(date, toy)组合检查颜色覆盖情况
  • filter(all(c("Blue", "Red") %in% col)):筛选出组内同时包含两种目标颜色的记录,all()函数保证两种颜色都存在于当前组的col列中
  • ungroup():取消分组状态,避免后续操作受分组影响

结果验证

上述代码生成的tDesired与题目给出的tTable[-c(15, 18, 8), ]完全一致,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 19:45:59