如何使用R中的哪个函数查找矩阵中值的列索引和行索引?

要查找矩阵中值的行索引和列索引,我们不能简单地使用哪个函数,因为它根据矩阵中数字的顺序返回索引。例如,如果我们具有如下矩阵M-

1 2 3

4 1 6

7 8 1

现在,如果我们尝试使用which(M == 1)查找索引,则它将返回1 5 9

因为1分别位于1、5和9。

因此,我们需要使用arr.ind = TRUE,以便矩阵可以通过该函数作为数组读取。

示例

考虑下面的矩阵-

> M<-matrix(sample(1:10,100,replace=TRUE),nrow=10)

> M

输出结果

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 9 5 4 5 2 7 6 7 1 1

[2,] 2 6 5 4 2 4 6 4 4 8

[3,] 10 4 9 10 8 4 4 4 5 5

[4,] 8 2 5 10 4 1 3 10 5 8

[5,] 10 1 8 9 10 10 3 8 6 10

[6,] 4 3 4 8 8 4 9 1 9 7

[7,] 5 8 1 5 5 9 9 10 8 7

[8,] 9 9 9 5 5 9 7 2 5 2

[9,] 5 6 5 6 8 9 9 10 1 9

[10,] 7 1 1 6 8 9 5 1 2 4

在矩阵M-中找到1到10个值的索引

示例

> which(M==1,arr.ind=TRUE)

输出结果

row col

[1,] 5 2

[2,] 10 2

[3,] 7 3

[4,] 10 3

[5,] 4 6

[6,] 6 8

[7,] 10 8

[8,] 1 9

[9,] 9 9

[10,] 1 10

> which(M==2,arr.ind=TRUE)

输出结果

row col

[1,] 2 1

[2,] 4 2

[3,] 1 5

[4,] 2 5

[5,] 8 8

[6,] 10 9

[7,] 8 10

> which(M==3,arr.ind=TRUE)

输出结果

row col

[1,] 6 2

[2,] 4 7

[3,] 5 7

> which(M==4,arr.ind=TRUE)

输出结果

row col

[1,] 6 1

[2,] 3 2

[3,] 1 3

[4,] 6 3

[5,] 2 4

[6,] 4 5

[7,] 2 6

[8,] 3 6

[9,] 6 6

[10,] 3 7

[11,] 2 8

[12,] 3 8

[13,] 2 9

[14,] 10 10

> which(M==5,arr.ind=TRUE)

输出结果

row col

[1,] 7 1

[2,] 9 1

[3,] 1 2

[4,] 2 3

[5,] 4 3

[6,] 9 3

[7,] 1 4

[8,] 7 4

[9,] 8 4

[10,] 7 5

[11,] 8 5

[12,] 10 7

[13,] 3 9

[14,] 4 9

[15,] 8 9

[16,] 3 10

> which(M==6,arr.ind=TRUE)

输出结果

row col

[1,] 2 2

[2,] 9 2

[3,] 9 4

[4,] 10 4

[5,] 1 7

[6,] 2 7

[7,] 5 9

> which(M==7,arr.ind=TRUE)

输出结果

row col

[1,] 10 1

[2,] 1 6

[3,] 8 7

[4,] 1 8

[5,] 6 10

[6,] 7 10

示例

> which(M==8,arr.ind=TRUE)

输出结果

row col

[1,] 4 1

[2,] 7 2

[3,] 5 3

[4,] 6 4

[5,] 3 5

[6,] 6 5

[7,] 9 5

[8,] 10 5

[9,] 5 8

[10,] 7 9

[11,] 2 10

[12,] 4 10

> which(M==9,arr.ind=TRUE)

输出结果

row col

[1,] 1 1

[2,] 8 1

[3,] 8 2

[4,] 3 3

[5,] 8 3

[6,] 5 4

[7,] 7 6

[8,] 8 6

[9,] 9 6

[10,] 10 6

[11,] 6 7

[12,] 7 7

[13,] 9 7

[14,] 6 9

[15,] 9 10

> which(M==10,arr.ind=TRUE)

输出结果

row col

[1,] 3 1

[2,] 5 1

[3,] 3 4

[4,] 4 4

[5,] 5 5

[6,] 5 6

[7,] 4 8

[8,] 7 8

[9,] 9 8

[10,] 5 10

以上是 如何使用R中的哪个函数查找矩阵中值的列索引和行索引? 的全部内容, 来源链接: utcz.com/z/322281.html

回到顶部