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

R语言中删除仅包含单个个体的分组的操作实现方法

R数据框按组内唯一个体数筛选子集的解决方案

以下提供两种常用的实现方式:

方法1:基础R实现

先统计每个分组的唯一个体数量,再筛选符合要求的分组,最后提取原数据对应子集:

# 统计每个组的唯一个体数
group_ind_count <- aggregate(data = df1, individualID ~ group, function(x) length(unique(x)))
# 提取个体数大于1的组编号
valid_groups <- group_ind_count[group_ind_count$individualID > 1, "group"]
# 筛选原数据
df_filtered <- df1[df1$group %in% valid_groups, ]

方法2:dplyr包实现

用分组管道操作更简洁完成筛选:

library(dplyr)

df_filtered <- df1 %>%
  group_by(group) %>%
  # 仅保留组内唯一个体ID数大于1的所有行
  filter(n_distinct(individualID) > 1) %>%
  ungroup()

两种方法输出的df_filtered都仅包含组1和组3的全部10条记录,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:27:04