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

如何获取R语言数据框中value2最小值对应的value1值

获取数据框中最小值对应的另一列值

嘿,我明白你想要的效果啦——已经知道value2的最小值是0.01,现在要拿到它对应的value1(也就是5)。这里有几种简单直接的方法可以实现:

首先先确认你的数据框创建代码是没问题的:

value1=matrix(c(1,2,3,4,5,6,7), ncol=1)
value2=matrix(c(0.1, 0.2, 0.4, 0.5, 0.01, 0.6, 0.7), ncol=1)
df=data.frame(value1, value2)

方法1:用which.min()定位索引

这是最直接的方式,which.min()会返回value2中最小值所在的行索引,然后用这个索引提取对应的value1:

smallest_value1 <- df$value1[which.min(df$value2)]
# 运行后smallest_value1的值就是5

这个方法的好处是,如果value2里有多个相同的最小值,它只会返回第一个最小值对应的value1。

方法2:用逻辑条件筛选

如果你想获取所有和最小值对应的value1(比如万一有多个相同最小值的情况),可以用逻辑判断来筛选:

smallest_value1 <- df$value1[df$value2 == min(df$value2)]

在你的例子里,结果同样是5;如果有多个行的value2都是0.01,这个代码会把所有对应的value1都提取出来。

两种方法都能轻松得到你想要的结果,根据你的实际需求选就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:43:42