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

如何在R语言中提取dataframe中win列出现次数超3次的行?

解决方案

针对你的需求,这里提供两种通用的实现方式,无需提前知晓符合条件的win值:

方法一:Base R 原生实现

无需额外安装包,直接用基础函数完成筛选:

# 先获取出现次数超过3次的win值
valid_wins <- names(which(table(df$win) > 3))
# 筛选对应行
new_df <- df[df$win %in% valid_wins, ]

或者更简洁的一行写法:

new_df <- df[df$win %in% names(which(table(df$win) > 3)), ]

方法二:dplyr 包实现(适合大数据框,语法更直观)

如果常用tidyverse工具链,用分组筛选逻辑更清晰:

library(dplyr)

new_df <- df %>%
  group_by(win) %>%
  filter(n() > 3) %>%  # n() 代表当前组的行数
  ungroup()

验证结果

运行上述代码后,得到的new_df即为预期输出:

> new_df
  value win
1     1   1
2     2   1
3     3   1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:10:32