2014-11-17 71 views
8

我有一个数据帧200列,每列包含150个基因(行)。统计r中数据帧的出现

我要计数的出现次数每个基因在整个数据帧

mydat <- 

    V1  V2  V3  V4  V5  V6  V7  V8 
1 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2 
2 MAML2 MAML2 MAML2  MAML2 MAML2 MAML2  MAML2 MAML2 
3 BMPR2 EIF5A WRAP53 WRAP53 EIF5A EIF5A  EIF5A EIF5A 
4 EIF5A BMPR2 EIF5A  EIF5A ADAMTSL3 BMPR2  WRAP53 BMPR2 
5 EIF5AL1 WRAP53 ADAMTSL3 BMPR2 BMPR2 WRAP53 BMPR2 EIF5AL1 
6 WRAP53 EIF5AL1 BMPR2  ADAMTSL3 WRAP53 EIF5AL1 EIF5AL1 WRAP53 
7 TBC1D5 ADAMTSL3 EIF5AL1 EIF5AL1 EIF5AL1 ADAMTSL3 ADAMTSL3 C1QTNF7 
8 ADAMTSL3 C1QTNF7 C1QTNF7 C1QTNF7 FHL1  YAP1  AURKB ADAMTSL3 
9 C1QTNF7 FHL1  RGS7BP LIFR  C1QTNF7 TMEM43 C1QTNF7 LIFR 
10 AURKB RGS5  AURKB  FAM198B AURKB C1QTNF7 PSMB6 PDGFD 

所以,我所要的输出是这样的:

occurences 
TGFBR2: 8 
MALM2 : 8 
FHL1: 3 

等,但我想统计数据帧中的每个基因。

我该怎么做?

+0

包裹代码提示由@CathG和@Sven通过'as.data.frame(...)',你将会看到一个漂亮的数据框。 – KFB

回答

14

尝试

occurences<-table(unlist(mydat)) 

(我分配的结果,所以你没有得到基因名称的全屏等各个基因的occurence可以通过occurences["genename"]访问)

6
table(unlist(mydat)) 

将做的伎俩。

ADAMTSL3 AURKB BMPR2 C1QTNF7 EIF5A EIF5AL1 MAML2 TBC1D5 
     8  4  8  8  8  8  8  1 
    TGFBR2 WRAP53  FHL1  RGS5 RGS7BP FAM198B  LIFR TMEM43 
     8  8  2  1  1  1  2  1 
    YAP1 PSMB6 PDGFD 
     1  1  1 
+0

@ kimmie这有点奇怪。你有两个使用相同代码的答案,但你在某个时候接受了一个答案,然后更改为另一个答案。不幸的是,谁发布第一个不明确在这里... ... – akrun

+1

CathG答案已经写了解释,因此优越。 –