我正在尝试创建随机二进制方阵。但是,有一些限制。我希望对角线 = 0。此外,上下三角形需要相互倒置。
为了清楚起见,我正在寻找下面的随机示例 5 x 5 矩阵。如果您查看任何行/列对,例如 3&5、1&4,这些对的上三角形和下三角形具有相反的结果。
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 0
[2,] 1 0 0 0 0
[3,] 1 1 0 1 0
[4,] 0 1 0 0 1
[5,] 1 1 1 0 0
我在使我的随机矩阵不对称时遇到了一些问题。
到目前为止,这是我创建随机二进制 12x12 矩阵的内容:
function1 <- function(m, n) {
matrix(sample(0:1, m * n, replace = TRUE), m, n)
}
A<-function1(12,12)
A #check the matrix
diag(A)<-0
我尝试将转置的上三角形放入下三角形:
A[lower.tri(A)] <- t(A[upper.tri(A)])
A #rechecking the matrix - doesn't seem to do it.
我尝试了一些变化,看看我是否把我的上/下三角形弄混了,但似乎都没有。
希望这个问题可以理解。