为 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

回到顶部