我有一个数据框,其输出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 +
答案 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")]))