我的问题:
Amat <- diag(4)
我想用我选择的值替换Amat
(即Amat[2,1]
,Amat[3,1]
,Amat[3,2]
等)的所有下三角值(例如) NA
)。
显然我不想逐个替换每个元素。
你能用一个命令告诉我最有效的方法吗?
答案 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.tri
和upper.tri
吗?
这些功能在R base。