我发现人们使用
which(matrix==max(matrix, na.rm=FALSE))
显示行和列索引。 但我的问题是如何单独提取行索引和列索引,然后将这两个值返回到另一个参数?
like matrix =
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 3 6 7 7 2 4 3 7 1 4
[2,] 1 9 8 7 2 6 10 9 5 2
[3,] 7 10 8 4 10 5 4 8 4 4
[4,] 4 3 1 1 3 3 9 7 4 2
[5,] 1 8 1 9 9 8 1 3 7 7
[6,] 2 6 7 5 6 10 4 6 15 1
最大值是矩阵[6,9] = 15我怎么能分别找到row = 6和column = 9并将6返回给参数:A,9到参数:B 非常感谢你们。
答案 0 :(得分:0)
可能是一种迂回的方式,但如果矩阵被称为“mat”:
colmax <- {which(mat == max(mat)) %/% nrow(mat)} + 1
rowmax <- which(mat == max(mat)) %% nrow(mat)
答案 1 :(得分:0)
对于大型矩阵which.max
应该比which
更有效。因此,对于矩阵m
,我们可以使用
A = row(m)[d <- which.max(m)]
B = col(m)[d]