按行顺序提取上三角形的值

Avi*_*Avi 2 r rows

我有以下矩阵:

mat <- matrix(1:16, 4, 4)

> mat
     [,1] [,2] [,3] [,4]
[1,]    1    5    9   13
[2,]    2    6   10   14
[3,]    3    7   11   15
[4,]    4    8   12   16
Run Code Online (Sandbox Code Playgroud)

我想按照行的顺序将上三角形(没有对角线)转换为向量:如果我是这样的:

> mat1<-as.vector(mat[upper.tri(mat)])
> mat1
[1]  5  9 10 13 14 15
Run Code Online (Sandbox Code Playgroud)

我想按行顺序获取向量(mat1),如下所示: 5,9,13,10,14,15

akr*_*run 5

我们可以做一个转置并取 lower.tri

t(mat)[lower.tri(t(mat))]
#[1]  5  9 13 10 14 15
Run Code Online (Sandbox Code Playgroud)