R 非对角和对角对称性检查,在不重复矩阵的情况下获得非对角和对角元素
假设我有这个矩阵R 非对角和对角对称性检查,在不重复矩阵的情况下获得非对角和对角元素,r,matrix,R,Matrix,假设我有这个矩阵 8 3 1 1 2 2 1 1 1 1 1 1 2 2 1 1 3 3 8 3 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 3 8 3 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 3 8 3 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 3 8 3 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 3 8 3 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 3 8 3 1 1 2 2 1 1 1 1 1 1 1
8 3 1 1 2 2 1 1 1 1 1 1 2 2 1 1 3
3 8 3 1 1 2 2 1 1 1 1 1 1 2 2 1 1
1 3 8 3 1 1 2 2 1 1 1 1 1 1 2 2 1
1 1 3 8 3 1 1 2 2 1 1 1 1 1 1 2 2
2 1 1 3 8 3 1 1 2 2 1 1 1 1 1 1 2
2 2 1 1 3 8 3 1 1 2 2 1 1 1 1 1 1
1 2 2 1 1 3 8 3 1 1 2 2 1 1 1 1 1
1 1 2 2 1 1 3 8 3 1 1 2 2 1 1 1 1
1 1 1 2 2 1 1 3 8 3 1 1 2 2 1 1 1
1 1 1 1 2 2 1 1 3 8 3 1 1 2 2 1 1
1 1 1 1 1 2 2 1 1 3 8 3 1 1 2 2 1
1 1 1 1 1 1 2 2 1 1 3 8 3 1 1 2 2
2 1 1 1 1 1 1 2 2 1 1 3 8 3 1 1 2
2 2 1 1 1 1 1 1 2 2 1 1 3 8 3 1 1
1 2 2 1 1 1 1 1 1 2 2 1 1 3 8 3 1
1 1 2 2 1 1 1 1 1 1 2 2 1 1 3 8 3
3 1 1 2 2 1 1 1 1 1 1 2 2 1 1 3 8
我想查查
如果你曾经接受过一个答案,你可能会得到更好的回答。@nograps如果没有必要的信息,我怎么能接受这个答案?我注意到你勾选了一些答案。那太好了。现在试着在Google中键入对称矩阵r。你会发现测试矩阵在R中是否对称的函数。你所说的“元素以非对角形式出现(没有重复)”是什么意思?@SvenHohenstein我怀疑他的意思是,他想要的是对角线以外的值中唯一的值。如果你接受了答案,你可能会得到更好的回答。@nograps如果答案没有所需信息,我怎么能接受?我注意到你勾选了一些答案。那太好了。现在试着在Google中键入对称矩阵r。你会发现测试矩阵在R中是否对称的函数。你所说的“元素出现在非对角线中(没有重复)”是什么意思?@SvenHohenstein我怀疑他的意思是他想要值中唯一的值而不是对角线。
Issymmetry(mat)
返回FALSE
。我也有同样的问题。在我将colnames更改为NULL
后,它返回True。我想这种行为不是故意的。这似乎是一个错误。在isSymmetirc
的帮助手册中,他们提到“注意,矩阵只有在其“行名”和“列名”相同时才是对称的。”对,阅读文档总是一个好主意。。。最简单的方法可能是issymmetry(unname(mat))
issymmetry(mat)
返回FALSE
。我也有同样的问题。在我将colnames更改为NULL
后,它返回True。我想这种行为不是故意的。这似乎是一个错误。在isSymmetirc
的帮助手册中,他们提到“注意,矩阵只有在其“行名”和“列名”相同时才是对称的。”对,阅读文档总是一个好主意。。。最简单的方法是issymmetry(unname(mat))
。
# 1
all(mat == t(mat))
[1] TRUE
# 2
unique(mat[upper.tri(mat) | lower.tri(mat)])
[1] 3 1 2
# 3
if(length(unique(diag(mat))) == 1) print(diag(mat)[1])
[1] 8
mat <- as.matrix(read.table('abbas.txt'))
isSymmetric(unname(mat))
unique(mat[lower.tri(mat)])
all(diag(mat) == rev(diag(mat)))
# I assume you mean the diagonal is symmetric when its reverse is the same with itself.