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


为了在R语言中找到上三角矩阵元素的行和列索引,我们可以按照以下步骤操作:

  • 首先,创建一个矩阵。
  • 然后,使用`which`函数和`upper.tri`函数来查找上三角矩阵元素的行和列索引。
  • 之后,使用`cbind`函数将对应于每个索引的值连接起来。

创建矩阵

让我们创建一个如下所示的矩阵:

 在线演示

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

执行上述脚本后,将生成以下输出(由于随机化,此输出可能因您的系统而异):

    [,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

查找行和列索引

使用`which`函数和`upper.tri`函数来查找矩阵M中上三角矩阵的行和列:

 在线演示

M<-matrix(1:25,nrow=5)
Index<-which(upper.tri(M,diag=TRUE),arr.ind=TRUE)
Index

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

   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

更新于:2021年8月13日

490 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告