R中对称矩阵的重排序

R中对称矩阵的重排序,r,matrix,R,Matrix,编辑:假设我有一个对称矩阵,如下所示 dat<-c(NA,2,3,4,5,2,NA,8,9,10,3,8,NA,14,15,4,9,14,NA,20,5,10,15,20,NA) x<-matrix(dat,nrow = 5,dimnames = list(c("A","B","C","D","E"),c("A","B","C"

编辑:假设我有一个对称矩阵,如下所示

dat<-c(NA,2,3,4,5,2,NA,8,9,10,3,8,NA,14,15,4,9,14,NA,20,5,10,15,20,NA)
x<-matrix(dat,nrow = 5,dimnames = list(c("A","B","C","D","E"),c("A","B","C","D","E")))
x

dat我在检查包含文档之间相似性的矩阵时有类似的要求

k <- apply(x, 1, max, na.rm=TRUE)
order <- sort(k, decreasing=TRUE, index.return=TRUE)$ix
x[order, order]

kI在检查包含文档之间相似性的矩阵时有类似的要求

k <- apply(x, 1, max, na.rm=TRUE)
order <- sort(k, decreasing=TRUE, index.return=TRUE)$ix
x[order, order]

k而不是一个(相对)大的14x14矩阵,你能编辑你的问题,用一个较小的例子吗?导入、理解问题和调试解决方案将更容易。也许用有效的R语法给出一个4x4或5x5示例,并显示输入和所需的输出?我认为一个工作示例可以澄清这一点,但我想确保我理解。通过“重新排序”,是否要对下部三角形中列内的值重新排序?还是在行内?或者两者都有?我已经将我的问题编辑成了一个5x5示例,还包括了结果应该是什么样子。是否需要通过交换完整的行来尝试此操作?是的,当对列进行排序时,行也必须更改,以使其保持对称矩阵。而不是(相对)大的14x14矩阵,你能把你的问题编辑成一个小的例子吗?导入、理解问题和调试解决方案将更容易。也许用有效的R语法给出一个4x4或5x5示例,并显示输入和所需的输出?我认为一个工作示例可以澄清这一点,但我想确保我理解。通过“重新排序”,是否要对下部三角形中列内的值重新排序?还是在行内?或者两者都有?我已经将我的问题编辑成了一个5x5示例,还包括了结果应该是什么样子。是否需要通过交换完整的行来尝试此操作?是的,当列被排序时,行也必须更改,以使其保持对称矩阵。谢谢James。这很有帮助。非常欢迎您!谢谢你,詹姆斯。这很有帮助。非常欢迎您!