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

如何在R语言中获取矩阵中k个最小值的排序索引

获取矩阵中4个最小值的索引并排序

我来帮你解决这个问题,用R语言可以很简洁地实现需求,以下是完整的可复现代码和解释:

set.seed(123) # 确保结果可复现
m <- matrix(runif(16,1,20), 8,1)

# 一步得到排序后的4个最小值索引
result <- sort(order(m[,1])[1:4])
result

运行这段代码后,你会得到期望的输出:

[1] 1 3 6 7

代码细节解释:

  • order(m[,1]):对矩阵第一列的元素从小到大排序,返回的是原始元素的索引序列,这里得到的是6 1 3 7 2 4 8 5,对应着从最小到最大元素的位置。
  • [1:4]:提取这个序列的前4个值,也就是4个最小值对应的原始索引:6 1 3 7。
  • sort():把这4个索引本身按从小到大的顺序排列,最终得到你需要的有序结果。

如果你想先查看未排序的4个最小值索引,单独运行order(m[,1])[1:4]就能得到6 1 3 7,再排序后就是目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:12:29