2014-11-17 2 views
8

У меня есть кадр данных 200 столбцов, содержащих 150 генов (строк) в каждом столбце.подсчет вхождения в data.frame в 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

обернуть код предложил by @CathG и @Sven с помощью 'as.data.frame (...)', вы получите красивую структуру данных. – KFB

ответ

14

попробовать

occurences<-table(unlist(mydat)) 

(я назначил результат, так что вы не получите полный экран имен генов и таким образом встречаемости каждого гена могут быть доступны 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 ответ написал объяснение, и поэтому превосходный. –

Смежные вопросы