在R中,使用ENST ID列从数据框中提取miRNA名称

时间:2015-07-28 12:47:40

标签: r extraction

我有一个数据框,其输出head(mydataframe)如下所示。我想根据目标色谱柱(ENST)提取名称列(miRNA名称),这样就可以给出所有出现的miRNA,而无需重复ENST ID两次或更多次。

每列都是miRNA,每行是ENST(每个特定ENST发生一次),细胞中的一个或零根据miRNA的存在。

               name          target  chrom     start       end strand
2928 hsa-miR-576-5p ENST00000324219      2 101875410 101875431      +

2929 hsa-miR-483-5p ENST00000324219      2 101876861 101876882      +

3047  hsa-miR-302c* ENST00000264258      2 100989915 100989939      +

3048 hsa-miR-767-3p ENST00000264258      2 100990020 100990039      +

3049   hsa-miR-216a ENST00000264258      2 100989887 100989906      +

3050 hsa-miR-409-3p ENST00000264258     2 100990172 100990194      +

1 个答案:

答案 0 :(得分:1)

您可以使用table。 鉴于您的data,请尝试:

table(data[,c("target","name")])

输出:

                hsa-miR-216a hsa-miR-302c* hsa-miR-409-3p hsa-miR-483-5p hsa-miR-576-5p
ENST00000264258            1             1              1              0              0
ENST00000324219            0             0              0              1              1
                hsa-miR-767-3p
ENST00000264258              1
ENST00000324219              0

您可以通过执行以下操作将其存储在数据框中:

res<-as.data.frame.matrix(table(data[,c("target","name")]))