📅  最后修改于: 2023-12-03 15:07:47.854000             🧑  作者: Mango
在 R 中,我们可以使用 which
函数来查找矩阵中最大值和最小值的行和列索引。
我们先生成一个示例矩阵:
m <- matrix(rnorm(25), 5, 5)
m
输出为:
[,1] [,2] [,3] [,4] [,5]
[1,] -0.6072876 1.511781 0.0551284 0.4028996 0.7631757
[2,] 0.7051827 0.389843 -0.3056010 -0.0334819 0.9878915
[3,] 1.3527512 -0.621240 1.5117812 0.5225773 -0.0165662
[4,] -0.6212402 -2.214700 -0.6868529 -0.4830973 -0.8460065
[5,] -2.2146999 1.124930 -0.2179749 -1.2883362 0.4742666
接下来,我们使用 which.max
和 which.min
函数查找矩阵中的最大值和最小值的位置:
max_index <- which(m == max(m), arr.ind = TRUE)
min_index <- which(m == min(m), arr.ind = TRUE)
max_index
min_index
输出为:
row col
[1,] 3 3
row col
[1,] 5 1
其中,which.max
函数返回矩阵中最大值的位置,which.min
函数返回矩阵中最小值的位置。参数 arr.ind = TRUE
表示返回行列索引,而不是向量索引。
上面我们已经获取到了矩阵中最大值和最小值的位置,现在我们来提取行和列索引:
max_row <- max_index[1]
max_col <- max_index[2]
min_row <- min_index[1]
min_col <- min_index[2]
cat("最大值的位置:行", max_row, "列", max_col, "\n")
cat("最小值的位置:行", min_row, "列", min_col)
输出为:
最大值的位置:行 3 列 3
最小值的位置:行 5 列 1
这里使用 cat
函数来打印结果,通过 "\n"
实现换行。
以上就是在 R 中查找矩阵中最大值和最小值的行和列索引的方法。我们可以先使用 which
函数查找最大值和最小值的位置,再使用索引提取行列索引。