首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将R中的矩阵转换为具有这些对应项的上三角/下三角矩阵

将R中的矩阵转换为具有这些对应项的上三角/下三角矩阵
EN

Stack Overflow用户
提问于 2014-10-15 15:49:06
回答 3查看 49.9K关注 0票数 28

我有一个对称矩阵,我想把它转换成R中的上三角/下三角矩阵,有没有这样做的方法?

我不能使用upper.trilower.tri做到这一点。使用它们可以得到一个矩阵,其中的项可以是TRUEFALSE

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-15 15:58:21

要获得上三角矩阵,请执行以下操作:

代码语言:javascript
运行
复制
mat <- matrix(1:9, 3, 3)
mat[lower.tri(mat)] <- 0

要删除对角线,请使用:

卡罗利斯在评论中建议的mat[lower.tri(mat,diag=TRUE)] <- 0mat[!upper.tri(mat)] <- 0

票数 49
EN

Stack Overflow用户

发布于 2017-06-13 23:16:43

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

矩阵的

下三角部分和上三角部分

描述

返回与给定矩阵大小相同的逻辑矩阵,其下三角形或上三角形中的项为TRUE。

用法

lower.tri(x,diag = FALSE) upper.tri(x,diag = FALSE)

参数

一个矩阵。

诊断

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

另请参阅

diagmatrix.

示例

(m2 <-矩阵(1:20,4,5)) lower.tri(m2) m2lower.tri(m2) <- NA m2

票数 5
EN

Stack Overflow用户

发布于 2018-04-03 12:16:29

一种简单的方法:

代码语言:javascript
运行
复制
lower.triangle(X) #lower triangular

upper.triangle(X) #upper triangular

或者:

代码语言:javascript
运行
复制
library(Matrix)

tril(X) #lower triangular

triu(X) #upper triangular
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26377199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档