R通过将字符串匹配到字符串列表来重新排序矩阵列

use*_*584 8 string r matrix

对不起,如果这是非常基本的.我有一个名称列表和一个矩阵,这些名称作为列名.但是,组合名称的顺序不同.

例如.名单:colname4 colname3 colname2 colname5 colname1 Matrix Colnames:colname1 colname2 colname3 colname4 colname5

我试图按照名称顺序列表的顺序排列矩阵列.

我试过test <- match(colnames(matrix1), colnames(matrix2))但它没有用.你知道其他选择吗?

Ren*_*rop 18

您只需使用矢量作为名称和[-operator,如下所示:

col.order <- c("colname4","colname3","colname2","colname5","colname1")
M[,col.order]
Run Code Online (Sandbox Code Playgroud)

  • 如果它是`data.table`,您可以使用[..未记录的功能](/sf/answers/3176704401/):`M[ , ..col.order]` (2认同)