我想知道是否有办法在alphabetical order中按行名和联名重新排序下面MATRIX行和列的行和列?

MATRIX <- structure(c(0.00096, 0.00047, -0.00027, -0.00018, 4e-04, 0.00022, 
0.00047, 0.00105, -3e-04, -8e-05, 0.00018, 0.00041, -0.00027, 
-3e-04, 0.00071, 3e-05, -4e-05, -8e-05, -0.00018, -8e-05, 3e-05, 
0.00066, -0.00023, -0.00024, 4e-04, 0.00018, -4e-05, -0.00023, 
0.00083, 0.00036, 0.00022, 0.00041, -8e-05, -0.00024, 0.00036, 
0.00092), dim = c(6L, 6L), dimnames = list(c("acog.perf", "asom.perf", 
"conf.perf", "acog.asom", "acog.conf", "asom.conf"), c("acog.perf", 
"asom.perf", "conf.perf", "acog.asom", "acog.conf", "asom.conf"
)))

推荐答案

您可以使用sort()rownames()colnames()进行排序并使用它们 通过方括号索引[x, y]来索引MATRIX,其中x个索引 行和y列.

MATRIX[sort(rownames(MATRIX)), sort(colnames(MATRIX))]
#>           acog.asom acog.conf acog.perf asom.conf asom.perf conf.perf
#> acog.asom   0.00066  -0.00023  -0.00018  -0.00024  -0.00008   0.00003
#> acog.conf  -0.00023   0.00083   0.00040   0.00036   0.00018  -0.00004
#> acog.perf  -0.00018   0.00040   0.00096   0.00022   0.00047  -0.00027
#> asom.conf  -0.00024   0.00036   0.00022   0.00092   0.00041  -0.00008
#> asom.perf  -0.00008   0.00018   0.00047   0.00041   0.00105  -0.00030
#> conf.perf   0.00003  -0.00004  -0.00027  -0.00008  -0.00030   0.00071

R相关问答推荐

如何在x轴下方画一条带有箭头的线?

使用map()内的公式()创建多个公式

使用ggcorrplot在相关性矩阵上标注supertitle和index标签

使用spatVector裁剪网格数据时出现的问题

查找具有平局的多个列的最大值并返回列名或平局 destruct 者NA值

大规模重新标记haven标签数据

基于不同组的列的相关性

derrr summarise每个组返回多行?

R Sapply函数产生的值似乎与for循环方法略有不同

根据元素和前一个值之间的差值过滤矩阵的元素

在多页PDF中以特定布局排列的绘图列表不起作用

将箭头绘制在图形外部,而不是图形内部

在点图上绘制置信度或预测区间ggplot2

将列表中的字符串粘贴到R中for循环内的dplyr筛选器中

如何提取R中其他字符串和数字之间的字符串?

为什么函数toTitleCase不能处理english(1),而toupper可以?

避免在图例中显示VLINS组

我需要使用ggplot2制作堆叠条形图

如何在R中创建这些列?

R:如何在数据集中使用Apply