R语言 查找矩阵中最大和最小值的行和列索引
在这篇文章中,我们将讨论如何在R编程语言中找到任何给定矩阵的最大值和最小值并打印其行和列索引。
例子
Input: 11 -9 36
20 1 81
13 99 77
Output: maximum value: 99
row col
3 2
minimum value: -9
row col
1 2
寻找最大值
- 在下面的代码中,我们创建了一个样本矩阵,在例子1中我们传递了 “nrow=3 “(矩阵将只有3行),在例子2中传递了 “ncol=2 “(矩阵将只有2列)。
- 然后我们在下一行打印了样本矩阵,并注明 “样本矩阵 “的信息。
- 然后,我们使用下面的语法来找到最大元素的行数和列数,并将其存储在变量 “max ” 中。 我们使用了max()函数,该函数用于找到一个对象中的最大元素。 这个对象可以是一个矢量,一个列表,一个矩阵,一个数据框架,等等。
- “which()函数被用来获取满足给定条件的值的索引或位置。 然后我们打印出最大值以及它的行和列索引。
语法 : which(m == max(m), arr.ind=TRUE)
例1 :
# defining a sample matrix
m = matrix(c(11, 20, 13, -9, 1, 99, 36, 81, 77),
nrow = 3)
print("Sample Matrix:")
print(m)
# stores indexes of max value
max = which(m == max(m), arr.ind = TRUE)
print(paste("Maximum value: ", m[max]))
print(max)
输出
[1] "Sample Matrix:"
[,1] [,2] [,3]
[1,] 11 -9 36
[2,] 20 1 81
[3,] 13 99 77
[1] "Maximum value: 99"
row col
[1,] 3 2
例2 :
# defining a sample matrix
m = matrix(c(1:16), ncol = 2)
print("Sample Matrix:")
print(m)
# stores indexes of max value
max = which(m == max(m), arr.ind=TRUE)
print(paste("Maximum value: ",m[max]))
print(max)
输出
[1] "Sample Matrix:"
[,1] [,2]
[1,] 1 9
[2,] 2 10
[3,] 3 11
[4,] 4 12
[5,] 5 13
[6,] 6 14
[7,] 7 15
[8,] 8 16
[1] "Maximum value: 16"
row col
[1,] 8 2
寻找最小值
- 在下面的代码中,我们创建了一个样本矩阵,在定义矩阵时,我们在例子1中传递了 “nrow=3 “(矩阵将只有3行),在例子2中传递了 “ncol=8 “(矩阵将只有8列)作为一个参数。
- 然后,我们在下一行打印了矩阵样本,并标明 “矩阵样本”。
- 然后我们用下面的语法找到最小元素的行数和列数,并将其存储在变量 “min ” 中。 我们利用min()函数来找到一个对象中存在的最小元素。 这个对象可以是一个矢量,一个列表,一个矩阵,一个数据框,等等。 ****
- which()函数用于获取满足给定条件的数值的索引或位置。 然后我们打印出最小值及其行和列索引。
语法 : which(m == min(m), arr.ind=TRUE)
例1 :
# defining a sample matrix
m = matrix(c(11, 20, 13, -9, 1, 99, 36, 81, 77), nrow = 3)
print("Sample Matrix:")
print(m)
# stores indexes of min value
min = which(m == min(m), arr.ind = TRUE)
print(paste("Minimum value: ", m[min]))
print(min)
输出
[1] "Sample Matrix:"
[,1] [,2] [,3]
[1,] 11 -9 36
[2,] 20 1 81
[3,] 13 99 77
[1] "Minimum value: -9"
row col
[1,] 1 2
例2 :
# defining a sample matrix
m = matrix(c(1:16), ncol = 8)
print("Sample Matrix:")
print(m)
# stores indexes of min value
min = which(m == min(m), arr.ind = TRUE)
print(paste("Minimum value: ", m[min]))
print(min)
输出
[1] "Sample Matrix:"
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 3 5 7 9 11 13 15
[2,] 2 4 6 8 10 12 14 16
[1] "Minimum value: 1"
row col
[1,] 1 1