将R中的矩阵转换为具有相应项的上三角/下三角矩阵

将R中的矩阵转换为具有相应项的上三角/下三角矩阵,r,matrix,R,Matrix,我有一个对称矩阵,我想把它转换成R中的上三角/下三角矩阵。有没有办法 我无法使用upper.tri和lower.tri执行此操作。使用这些函数可以得到一个矩阵,其条目为TRUE或FALSE,以获得上三角矩阵: mat <- matrix(1:9, 3, 3) mat[lower.tri(mat)] <- 0 mat虽然前面的答案很完美,但你的朋友是: 矩阵的上下三角部分 描述 返回与给定矩阵大小相同的逻辑矩阵 在下三角形或上三角形中输入TRUE 用法 论据 矩阵 diag 合乎逻

我有一个对称矩阵,我想把它转换成R中的上三角/下三角矩阵。有没有办法


我无法使用
upper.tri
lower.tri
执行此操作。使用这些函数可以得到一个矩阵,其条目为
TRUE
FALSE

,以获得上三角矩阵:

mat <- matrix(1:9, 3, 3)
mat[lower.tri(mat)] <- 0

mat虽然前面的答案很完美,但你的朋友是:

矩阵的上下三角部分 描述 返回与给定矩阵大小相同的逻辑矩阵 在下三角形或上三角形中输入TRUE

用法 论据 矩阵

diag
合乎逻辑。应该包括对角线吗

另见

例子
(m2一个简单的方法:

lower.triangle(X) #lower triangular

upper.triangle(X) #upper triangular
或:


检查
?upper.tri
?lower.tri
中的示例。它与您的问题(以及下面@ujjwal的答案)非常相似。lower.triangle(X)#lower triangle(未找到函数!)@JStrahl您需要安装matrixcalc包才能使用lower.triangle(X)和uper.triangle(X)。install.packages(“matrixcalc”)然后是库(matrixcalc)
diag
(m2 <- matrix(1:20, 4, 5))
lower.tri(m2)
m2[lower.tri(m2)] <- NA
m2
lower.triangle(X) #lower triangular

upper.triangle(X) #upper triangular
library(Matrix)

tril(X) #lower triangular

triu(X) #upper triangular