按字母顺序排列R中距离矩阵中的列/行

按字母顺序排列R中距离矩阵中的列/行,r,distance,R,Distance,这应该是相对简单的,但出于某种原因,我被难住了 我想重新排列一个系统发育距离矩阵,使列按字母顺序排列 下面是一个简单的例子: require("ape") set.seed(5) dist(cophenetic(rtree(5))) 有什么想法吗?像这样 require("ape") set.seed(5) res <- dist(cophenetic(rtree(5))) res <- as.matrix(res) res <- as.dist(res[order(rown

这应该是相对简单的,但出于某种原因,我被难住了

我想重新排列一个系统发育距离矩阵,使列按字母顺序排列

下面是一个简单的例子:

require("ape")
set.seed(5)
dist(cophenetic(rtree(5)))
有什么想法吗?

像这样

require("ape")
set.seed(5)
res <- dist(cophenetic(rtree(5)))
res <- as.matrix(res)
res <- as.dist(res[order(rownames(res)),order(colnames(res))])
require(“ape”)
种子(5)

res如果
T Nice,我使用
as.dist
将其带回类“dist”
ordering <- sort(attr(T, "Labels"))
T.mat <- as.matrix(T)[ordering, ordering]
T  <- as.dist(T.mat)
T.fm <- format(T.mat, digits=3, nsmall=3)
T.fm[row(T.fm) < col(T.fm)] <- ""
print(T.fm, quote=F)

#      t1    t2    t3    t4    t5   
# t1 0.000                        
# t2 3.436 0.000                  
# t3 1.309 3.632 0.000            
# t4 2.145 2.338 2.530 0.000      
# t5 1.756 2.783 2.173 1.136 0.000

T  <- as.dist(T.fm)
T
#       t1    t2    t3    t4
# t2 3.436                  
# t3 1.309 3.632            
# t4 2.145 2.338 2.530      
# t5 1.756 2.783 2.173 1.136