计算r中data.frame中的出现次数

时间:2014-11-17 09:14:16

标签: r dataframe

我有一个数据框200列,每列包含150个基因(行)。

我想计算整个数据框中每个基因的出现次数

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

等。但我想计算数据框中的每个基因。

我该怎么做?

2 个答案:

答案 0 :(得分:18)

occurences<-table(unlist(mydat))

(我分配了结果,因此您无法全屏显示基因名称,因此可以通过occurences["genename"]访问每个基因的出现次数

答案 1 :(得分:9)

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