为 R 矩阵的每一行找到最小值的列索引
要找到 R 矩阵中每一行的最小值的列索引,我们可以使用 apply 函数。
例如,如果我们有一个名为 M 的矩阵,那么我们可以使用以下命令找到每行具有最小值的列 -
apply(M,1,which.min)
示例 1
考虑下面给出的矩阵 -
M1<-matrix(round(rexp(80),1),ncol=4)M1
创建了以下数据框
[,1] [,2] [,3] [,4][1,] 1.3 0.1 0.6 1.0
[2,] 0.7 2.5 0.0 0.5
[3,] 0.9 0.7 0.9 0.8
[4,] 0.5 1.0 0.6 0.5
[5,] 0.3 1.2 1.6 0.4
[6,] 0.7 0.5 0.1 1.9
[7,] 1.4 0.1 0.1 0.2
[8,] 2.6 1.4 0.1 1.1
[9,] 0.1 2.9 0.6 0.5
[10,] 1.9 1.6 1.0 1.6
[11,] 2.6 0.7 0.3 3.5
[12,] 0.4 1.4 1.0 1.9
[13,] 0.8 0.5 0.8 4.3
[14,] 0.2 1.7 0.8 0.4
[15,] 0.1 0.9 0.3 1.0
[16,] 2.2 1.9 0.3 2.2
[17,] 0.2 0.4 1.9 0.6
[18,] 0.8 1.2 3.4 0.4
[19,] 0.7 1.4 2.0 0.2
[20,] 0.7 0.2 1.0 2.5
要在上面创建的数据框中找到 M1 中具有最小值的每一行的列索引,请将以下代码添加到上面的代码段中 -
M1<-matrix(round(rexp(80),1),ncol=4)输出结果apply(M1,1,which.min)
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 2 3 2 1 1 3 2 3 1 3 3 1 2 1 1 3 1 4 4 2
示例 2
考虑下面给出的矩阵 -
M2<-matrix(round(rnorm(80),2),ncol=4)M2
创建了以下数据框
[,1] [,2] [,3] [,4][1,] 0.35 -0.41 -0.97 0.29
[2,] 0.88 -0.36 -0.13 0.23
[3,] 0.44 -0.26 -0.83 0.57
[4,] 1.46 -1.78 0.89 -0.07
[5,] -0.02 -0.98 0.75 1.32
[6,] 0.69 -1.08 0.75 0.84
[7,] -1.67 -1.16 -0.49 0.60
[8,] -0.98 -0.61 -1.12 0.97
[9,] -0.53 0.00 0.40 -1.01
[10,] -0.15 0.01 1.64 0.94
[11,] -0.01 0.50 0.18 -1.96
[12,] 0.01 0.95 -0.40 -1.06
[13,] -1.20 0.90 -0.83 0.88
[14,] -0.09 -1.44 -0.72 0.39
[15,] -0.41 0.87 0.27 0.57
[16,] -1.15 -1.31 0.76 -0.76
[17,] -0.42 0.88 -1.61 0.58
[18,] -0.99 1.21 0.05 0.25
[19,] -0.68 1.15 0.79 0.23
[20,] -0.44 0.64 0.16 0.54
要查找 M2 中在上述创建的数据框中具有最小值的每一行的列索引,请将以下代码添加到上述代码段中 -
M2<-matrix(round(rnorm(80),2),ncol=4)输出结果apply(M2,1,which.min)
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 3 2 3 2 2 2 1 3 4 1 4 4 1 2 1 2 3 1 1 1
示例 3
考虑下面给出的矩阵 -
M3<-matrix(rpois(100,10),ncol=5)M3
创建了以下数据框
[,1] [,2] [,3] [,4] [,5][1,] 16 15 5 3 10
[2,] 8 12 7 8 9
[3,] 8 18 13 11 9
[4,] 11 13 13 12 12
[5,] 12 10 11 8 9
[6,] 12 11 11 9 9
[7,] 9 6 5 10 5
[8,] 9 11 11 8 11
[9,] 15 9 9 9 11
[10,] 9 14 11 9 7
[11,] 12 14 8 16 9
[12,] 8 13 12 15 15
[13,] 6 11 12 8 10
[14,] 10 13 8 15 13
[15,] 7 13 7 10 6
[16,] 16 6 10 9 13
[17,] 7 12 12 11 10
[18,] 10 11 10 20 12
[19,] 14 13 7 8 12
[20,] 11 10 6 11 20
要查找 M3 中在上述创建的数据框中具有最小值的每一行的列索引,请将以下代码添加到上述代码段中 -
考虑下面给出的矩阵 -
M3<-matrix(rpois(100,10),ncol=5)输出结果apply(M3,1,which.min)
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 4 3 1 1 4 4 3 4 2 5 3 1 1 3 5 2 1 1 3 3
以上是 为 R 矩阵的每一行找到最小值的列索引 的全部内容, 来源链接: utcz.com/z/350397.html