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

in R, Extracting miRNA names from a dataframe using a column of ENST ids

我有一个具有 head(mydataframe) 输出的数据框,如下所示。我想根据目标列 (ENST) 提取名称列(miRNA 名称),这样所有出现的 miRNA 都不会重复 ENST id 两次或更多次。

每一列都是一个 miRNA,每一行都是 ENST(每个特定的 ENST 出现一次),根据 miRNA 的存在,单元格为 1 或 0。

               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      +

您可以直接使用 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")]))