2012-03-12 18 views
47

Ho un frame di dati con più colonne; alcuni caratteri numerici e alcuni. Come calcolare la somma di una colonna specifica? Googled per questo e vedo numerose funzioni (sum, cumsum, rowsum, rowSums, colSums, aggregate, apply) ma non riesco a dare un senso a tutto questo.Come sommare tutti i valori di una colonna di in un data.frame?

Per esempio supponiamo di avere un frame di dati people con le seguenti colonne

Name Height Weight 
Mary 65  110 
John 70  200 
Jane 64  115 
… 

Come faccio ad avere la somma di tutti i pesi?

risposta

57

È possibile utilizzare solo sum(people$Weight).

sum riassume un vettore e people$Weight recupera la colonna di peso dal frame di dati.

Nota - è possibile ottenere in linea integrata utilizzando ?sum, ?colSums, ecc (a proposito, colSums vi darà la somma per ogni colonna).

+1

quando faccio questo ottengo: '[1] NA'. Ho guardato i dati di questa colonna e l'ultima riga ha NA, è per questo? – User

+6

Sì, ecco perché. Puoi ignorare gli AN se vuoi tramite 'sum (people $ Weight, na.rm = TRUE)' (puoi leggere su questa opzione in '? Sum'). –

+0

grazie per il suggerimento di colSums! – xealits

Problemi correlati