我希望我的答案格式化为。 包含前5个索引的索引按降序存储在另一个矩阵中:
R1:6, 3, 7, 5, 10
R2:7, 1, 2, 3, 4
R3:3, 1, 2, 4, 5
等等。
答案 0 :(得分:1)
我们可以使用apply
使用MARGIN=1
,order
元素循环遍历行,选择前5个元素并转置矩阵。
t(apply(m1, 1, FUN= function(x) order(-x)[1:5]))
# [,1] [,2] [,3] [,4] [,5]
#[1,] 6 3 7 5 10
#[2,] 7 1 2 3 4
#[3,] 3 1 2 4 5
注意:这里,我只使用OP提供的前3行图像数据。
m1 <- structure(c(0.001371742, 0.058823529, 0.428571429, 0, 0, 0,
0.10973937,
0, 0.71428571, 0, 0, 0, 0.04115226, 0, 0, 0.25377229, 0, 0, 0.10013717,
0.91176471, 0, 0, 0, 0, 0, 0, 0, 0.006858711, 0, 0),
.Dim = c(3L,
10L), .Dimnames = list(NULL, c("V1", "V2", "V3", "V4", "V5",
"V6", "V7", "V8", "V9", "V10")))