我有一个如下的矩阵;
我需要得到对角线为0的对称矩阵,如下所示;
我尝试使用for循环,当矩阵的大小较小时效果良好。但对于大尺寸,需要时间。在R中有更有效的方法吗?
编辑:第一行在第二列和第三列都有1,第一列在第三行有1才能保持对称性。但为了拥有对称的第一列,还需要在第二行有1。同样,每一行和每一列都应该考虑1来维护对称矩阵。
1 2 3 4 5
1 0 1 1 0 0
2 0 0 1 1 0
3 1 0 0 0 1
4 0 0 1 0 0
5 0 1 0 0 0
我需要得到对角线为0的对称矩阵,如下所示;
1 2 3 4 5
1 0 1 1 0 0
2 1 0 1 1 1
3 1 1 0 1 1
4 0 1 1 0 0
5 0 1 1 0 0
我尝试使用for循环,当矩阵的大小较小时效果良好。但对于大尺寸,需要时间。在R中有更有效的方法吗?
编辑:第一行在第二列和第三列都有1,第一列在第三行有1才能保持对称性。但为了拥有对称的第一列,还需要在第二行有1。同样,每一行和每一列都应该考虑1来维护对称矩阵。
+(mat | t(mat))
来节省一个字符。 - chinsoon12