按特定顺序R对稀疏矩阵中的列进行排序

按特定顺序R对稀疏矩阵中的列进行排序,r,sparse-matrix,R,Sparse Matrix,我有一个大的稀疏矩阵m,其中行是基因,列是条形码,我想按特定顺序对列进行排序 > m = matrix(c(2,3,3,1,0,7), nrow=2, ncol=3) > dimnames(m) = list(c("gene1", "gene2"), c("A-1", "B-1", "C-2")) > m A-1 B-1 C-2 gene1 2 3 0 gene2 3 1 7 > 我有另一个数据框,其中第一列包含按排序顺序排列的所有

我有一个大的稀疏矩阵m,其中行是基因,列是条形码,我想按特定顺序对列进行排序

> m = matrix(c(2,3,3,1,0,7), nrow=2, ncol=3)
> dimnames(m) = list(c("gene1", "gene2"), c("A-1", "B-1", "C-2"))
> m
      A-1 B-1 C-2
gene1   2   3   0
gene2   3   1   7
> 
我有另一个数据框,其中第一列包含按排序顺序排列的所有条形码

> colnames(df) <- c('Barcode', "Cluster")
> df
  Barcode Cluster
1     B-1       9
2     C-2       1
3     A-1       14
> 

假设df$Barcode是“字符”类,则可以执行以下操作:


m提取列“条形码”,并将其用作列索引,假设它是字符类
m[,df$Barcode]
。如果是
系数
,则转换为
字符
m[,as.character(df$Barcode)]
有效谢谢!
> m
      B-1 C-2 A-1
gene1   3   0   2
gene2   1   7   3
> m
      B-1 C-2 A-1
gene1   3   0   2
gene2   1   7   3