【问题标题】:Renaming rows according to a separate index根据单独的索引重命名行
【发布时间】:2018-10-22 18:49:07
【问题描述】:

我目前正在使用如下所示的矩阵:

gene ID    untreated_1 merb_2h_1 merb_4h_1 merb_8h_1
1            2.961344  2.656308  3.322758  3.201053
100          3.998061  3.860054  3.934714  3.069164
1000         8.987753  9.125033  9.220713  9.141715
10000        8.165543  7.973907  7.472961  7.361228
10001       4.8865396  4.641879  4.523251  3.411761
100033431   0.5847026  1.347103  1.203390  1.550687

我想在 hgnc 命名法下将基因 ID 列更改为它们的等效名称,我已经在下面的基因注释表中列出了该名称:

       gene ensembl_gene_id hgnc_symbol
1         1 ENSG00000121410 A1BG
2        10 ENSG00000156006 NAT2 
3       100 ENSG00000196839 ADA  
4      1000 ENSG00000170558 CDH2 
5     10000 ENSG00000117020 AKT3
6 100008586 ENSG00000224659 GAGE12J 
7 100009676 ENSG00000256628 ZBTB11-AS1 

请注意,我正在使用的矩阵中只有注释表的一些基因存在。然后我的问题是如何通过我在单独的基因注释列表中的 hgnc 命名法从我正在使用的矩阵中重命名基因 ID 列。我正在处理一个非常大的矩阵,所以我想我需要一些并行任务。

【问题讨论】:

  • 你可以使用match - df1$geneID <- df2$hgnc_symbol[match(df1$geneID,df2$gene)]
  • 你知道merge吗?
  • 抱歉 Aaghaz 我不知道,我对 R 很陌生
  • 我同意 AndrewGustar 的方法,但会补充一点,R 中的矩阵只能采用一种数据类型,并且 $ 运算符不能用于它们。要使用他们的解决方案,请使用 as.data.frame() 将原始矩阵转换为数据框。
  • 有效!太感谢了!!真的很感激!

标签: r matrix indexing bioinformatics


【解决方案1】:
df1$geneID <- df2$hgnc_symbol[match(df1$geneID,df2$gene)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2021-05-23
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    相关资源
    最近更新 更多