给定矩阵x,将主对角线下方的所有元素设置为0

时间:2013-09-25 03:29:27

标签: r

> x<-matrix(seq(1:16),4,4)
> x
     [,1] [,2] [,3] [,4]
[1,]    1    5    9   13
[2,]    2    6   10   14
[3,]    3    7   11   15
[4,]    4    8   12   16

对于通用矩阵,我如何定位主对角线下方的所有元素并将它们设置为0,而不仅仅是我提供的示例?

1 个答案:

答案 0 :(得分:6)

你可以做到

x[lower.tri(x)] <- 0L

另一个:

x[row(x) > col(x)] <- 0L

0L0不同,是一个整数。所以在这里使用它将保留矩阵的类。)