如何在R中找到上三角矩阵元素的行和列索引?

要查找 R 中上三角矩阵元素的行和列索引,我们可以按照以下步骤操作 -

  • 首先,创建一个矩阵。

  • 然后,使用 which function with upper.trifunction 来查找上三角矩阵元素的行和列索引。

  • 之后,使用 cbind 函数附加与每个索引对应的值。

创建矩阵

例子

让我们创建一个矩阵,如下所示 -

M<-matrix(1:25,nrow=5)

M

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出

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

[1,] 1    6   11    16    21

[2,] 2    7   12    17    22

[3,] 3    8   13    18    23

[4,] 4    9   14    19    24

[5,] 5   10   15    20    25

查找行和列索引

例子

使用带有upper.tri函数的函数来查找 M 中上三角矩阵的行和列 -

M<-matrix(1:25,nrow=5)

Index<-which(upper.tri(M,diag=TRUE),arr.ind=TRUE)

Index

输出

   row col

[1,] 1 1

[2,] 1 2

[3,] 2 2

[4,] 1 3

[5,] 2 3

[6,] 3 3

[7,] 1 4

[8,] 2 4

[9,] 3 4

[10,] 4 4

[11,] 1 5

[12,] 2 5

[13,] 3 5

[14,] 4 5

[15,] 5 5

附加矩阵中的值

例子

使用 cbind 函数将矩阵值附加到行和列的索引 -

M<-matrix(1:25,nrow=5)

Index<-which(upper.tri(M,diag=TRUE),arr.ind=TRUE)

cbind(Index,M[Index])

输出

  row col

[1,] 1 1 1

[2,] 1 2 6

[3,] 2 2 7

[4,] 1 3 11

[5,] 2 3 12

[6,] 3 3 13

[7,] 1 4 16

[8,] 2 4 17

[9,] 3 4 18

[10,] 4 4 19

[11,] 1 5 21

[12,] 2 5 22

[13,] 3 5 23

[14,] 4 5 24

[15,] 5 5 25

以上是 如何在R中找到上三角矩阵元素的行和列索引? 的全部内容, 来源链接: utcz.com/z/327599.html

回到顶部