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

如何在R中基于两列数值组合过滤数据集?

在R中筛选满足C1+D2≥50的数据行

我来给你两种常用的实现方法,都是R里处理这类数值组合筛选的常规操作:

方法一:基础R原生语法(无需额外包)

首先我们先把你的数据集转换成R的data.frame格式:

# 构建示例数据集
df <- data.frame(
  Key = c("D", "E", "F", "G"),
  C1 = c(25, 10, 50, 40),
  D2 = c(25, 10, 0, 10),
  stringsAsFactors = FALSE # 避免Key列被转成因子,可选但推荐
)

然后直接用逻辑索引筛选符合条件的行:

# 筛选C1 + D2 ≥ 50的行
filtered_df <- df[df$C1 + df$D2 >= 50, ]

# 查看结果
print(filtered_df)

运行后就能得到你想要的输出:

Key C1 D2
1   D 25 25
3   F 50  0
4   G 40 10

方法二:使用dplyr包(更直观的管道式语法)

如果你平时经常做数据清洗,dplyr包的管道语法会让代码更易读,尤其适合复杂的数据处理流程:

# 如果还没安装dplyr,先执行这行
# install.packages("dplyr")

# 加载包
library(dplyr)

# 用filter函数筛选
filtered_df <- df %>%
  filter(C1 + D2 >= 50)

# 查看结果
print(filtered_df)

这个方法的输出和基础R的结果完全一致,只是语法更简洁易懂。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:09:33