gpt4 book ai didi

r - 获取 R 中矩阵每一行中 K 个最小或最大元素的索引

转载 作者:行者123 更新时间:2023-12-04 06:21:48 24 4
gpt4 key购买 nike

如何获得R中矩阵每一行中K个最小或最大元素的索引?

例如。我有矩阵:

2   3   1  65  2
46 7 9 3 2
9 45 3 5 7
24 65 87 3 6
34 76 54 33 6

我想在每一行中获得 2 个最小元素(以任何方式打破联系)的指数矩阵。结果应采用以下格式:
3 1
5 4
3 4
4 5
5 4

我使用 sort 尝试了几个命令, apply , arrayInd , which等,但仍然无法获得预期的结果。
欢迎任何帮助。

最佳答案

apply(mat, 1, which.max)  #.....largest
apply(mat, 1, which.min) #.....smallest

t(apply(mat, 1, sort)[ 1:2, ]) # 2 smallest in each row

t(apply(mat, 1, order)[ 1:2, ]) # indices of 2 smallest in each row

除了使用递减=TRUE,您还可以将其用于连续两个最大的:
t(apply(mat, 1, order)[ 5:4, ])    

关于r - 获取 R 中矩阵每一行中 K 个最小或最大元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14017677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com