2014-11-17 25 views
8

Ho una colonna di dati 200 colonne contenenti 150 geni (righe) in ogni colonna.conteggio occorrenze in data.frame in r

voglio contare le occorrenze numero per ogni gene in tutto il frame di dati

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 

Quindi voglio l'uscita di essere qualcosa di simile:

occurences 
TGFBR2: 8 
MALM2 : 8 
FHL1: 3 

ecc Ma voglio conta ogni gene nel frame di dati.

Come posso fare?

+0

avvolgere il codice suggerito di @CathG e @Sven di 'as.data.frame (...)', si otterrà una bella cornice di dati. – KFB

risposta

14

provare

occurences<-table(unlist(mydat)) 

(ho assegnato il risultato in modo da non avere uno schermo pieno di nomi di geni e così occorrenza di ogni gene può essere letta da occurences["genename"])

6
table(unlist(mydat)) 

farà il trucco.

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 Questo è un po 'strano. Hai due risposte che hanno utilizzato lo stesso codice, ma hai accettato una risposta per un momento e poi cambiato in un'altra. Purtroppo, chi ha postato per primo non è chiaro qui ... – akrun

+1

La risposta di CathG ha una spiegazione scritta ed è quindi superiore. –

Problemi correlati