如何替换矩阵的下/上三角形元素?

时间:2012-08-29 10:45:03

标签: r

我的问题:

Amat <- diag(4)

我想用我选择的值替换Amat(即Amat[2,1]Amat[3,1]Amat[3,2]等)的所有下三角值(例如) NA)。

显然我不想逐个替换每个元素。

你能用一个命令告诉我最有效的方法吗?

2 个答案:

答案 0 :(得分:8)

upper.tri的文档中详细记录了这一点。

Amat[upper.tri(Amat)] <- NA
Amat
#      [,1] [,2] [,3] [,4]
# [1,]    1   NA   NA   NA
# [2,]    0    1   NA   NA
# [3,]    0    0    1   NA
# [4,]    0    0    0    1

当然,Amat[lower.tri(Amat)] <- NA会将下三角形转换为NA s。

答案 1 :(得分:4)

您要找的是lower.triupper.tri吗?

这些功能在R base。