我们可以使用diag()函数来删除矩阵的对角线元素,但如果我们想要删除对角线上的正方形元素怎么办?就像在一个6x6的矩阵中,我想要删除对角线上2x2的正方形。这看起来非常基础,但如何在r中实现呢?
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 23 98 12 98 32 99
[2,] 54 11 13 02 31 78
[3,] 25 85 15 09 46 87
[4,] 98 98 16 17 45 48
[5,] 88 00 68 99 89 89
[6,] 05 33 66 12 14 78
我希望将对角线的方格设置为NA。
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] NA NA 12 98 32 99
[2,] NA NA 13 02 31 78
[3,] 25 85 NA NA 46 87
[4,] 98 98 NA NA 45 48
[5,] 88 00 68 99 NA NA
[6,] 05 33 66 12 NA NA
先移除所有的NAs,然后再将列合并
[,1] [,2] [,3] [,4]
[1,] 12 98 32 99
[2,] 13 02 31 78
[3,] 25 85 46 87
[4,] 98 98 45 48
[5,] 88 00 68 99
[6,] 05 33 66 12