R语言如何查找数据框中Column2取最小值时对应的Column1取值
R语言获取数据框指定列最小值对应另一列取值的方法
你可以直接用以下几种方法实现需求,以你提供的示例数据为例:
方法1:基础R单最小值场景(效率最高)
直接调用内置which.min()函数获取最小值对应的行索引,再提取x1列的取值:
x$x1[which.min(x$x2)]
运行后返回结果为3,和示例数据中x2最小值对应的x1取值一致。
方法2:基础R适配多最小值场景
如果存在多行x2同时为最小值的情况,用逻辑匹配获取所有符合条件的x1取值:
x$x1[x$x2 == min(x$x2)]
方法3:tidyverse风格写法
如果你习惯使用dplyr语法,可以用以下写法:
library(dplyr) x %>% filter(x2 == min(x2)) %>% pull(x1)
内容的提问来源于stack exchange,提问作者Daniel James
相关产品推荐
相关产品推荐

