【问题标题】:Sorting columns in a sparse matrix with specific order R对具有特定顺序 R 的稀疏矩阵中的列进行排序
【发布时间】:2018-07-10 01:41:11
【问题描述】:

我有一个大的稀疏矩阵 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
> 

如何对稀疏矩阵 m 进行排序以便得到这个?

> m
      B-1 C-2 A-1
gene1   3   0   2
gene2   1   7   3

【问题讨论】:

  • 提取“条形码”列并将其用作列索引,假设它是字符类m[, df$Barcode]。如果是factor,则转换为characterm[, as.character(df$Barcode)]
  • 成功了,谢谢!

标签: r sparse-matrix


【解决方案1】:

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

m

例如这适用于您的示例:

m

> m
      B-1 C-2 A-1
gene1   3   0   2
gene2   1   7   3

【讨论】:

    猜你喜欢
    • 2022-10-23
    • 2015-10-12
    • 2018-09-14
    • 2022-11-21
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    相关资源
    最近更新 更多