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

是否存在可查找向量最大值对应键的R函数?

在R中查找向量最大值对应的位置/名称

1. 普通无命名向量(对应Python的列表索引)

  • 找第一个最大值的位置:直接用which.max()函数,和Python的list.index(max(list))行为一致(仅返回第一个匹配项)。
    示例:
    x <- c(3, 1, 5, 5)
    which.max(x)  # 输出 3(第一个最大值5的位置)
    
  • 找所有最大值的位置:用which()配合条件判断:
    which(x == max(x))  # 输出 c(3,4)(所有最大值的位置)
    

2. 命名向量(对应“键”为向量名称)

如果你的向量带有命名属性,要获取最大值对应的名称:

  • 第一个最大值的名称:
    named_vec <- c(a=3, b=1, c=5, d=5)
    names(which.max(named_vec))  # 输出 "c"
    
  • 所有最大值的名称:
    names(which(named_vec == max(named_vec)))  # 输出 c("c", "d")
    

补充说明

which.max()是R内置的高效函数,专门用于定位第一个最大值的位置,比手动先取max()再匹配更简洁,处理大向量时性能更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:55:32