是否存在可查找向量最大值对应键的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
相关产品推荐
相关产品推荐

