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

如何不使用subset函数,通过逻辑索引与min函数查找最小值所在行

R 非subset函数实现最小值对应行筛选

核心实现逻辑

直接使用R数据框的原生逻辑索引语法结合min()函数即可实现完全等同subset()的效果,核心代码如下:

# 完整实现代码
df[df$B == min(df$B), ]

步骤拆解

  • 计算B列最小值:调用min(df$B)得到示例数据中B列的最小值为69
  • 生成逻辑索引:通过df$B == min(df$B)生成布尔向量,逐行匹配B列是否等于最小值,匹配项返回TRUE,否则返回FALSE
  • 行筛选:将上述布尔向量作为数据框的行筛选条件(方括号内逗号前的位置),逗号后留空代表保留所有列,即可得到目标行

示例运行结果

针对你提供的测试数据集,运行上述代码后输出结果如下:

Month  A  B
2     F 48 69

注意:如果B列存在多个相同的最小值,该方法会返回所有符合条件的行,效果和你原有的subset实现完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:09:04