2012-03-12 17 views
47

Tengo un marco de datos con varias columnas; algunos numéricos y algunos personajes. ¿Cómo calcular la suma de una columna específica? He buscado en Google para esto y veo numerosas funciones (sum, cumsum, rowsum, rowSums, colSums, aggregate, apply) pero no puedo dar sentido a todo.¿Cómo se suman todos los valores de una columna en un data.frame?

Por ejemplo supongamos que tengo una trama de datos people con las siguientes columnas

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

¿Cómo consigo la suma de todos los pesos?

Respuesta

57

Puede simplemente usar sum(people$Weight).

sum sume un vector, y people$Weight recupera la columna de peso de su marco de datos.

Nota: puede obtener ayuda integrada usando ?sum, ?colSums, etc. (por cierto, colSums le dará la suma de cada columna).

+1

cuando hago esto obtengo: '[1] NA'. Miré los datos de esta columna y la última fila tiene NA, ¿es por eso? – User

+6

Sí, es por eso. Puede ignorar las NA si lo desea a través de 'suma (personas $ Peso, na.rm = TRUE)' (puede leer sobre esta opción en '? Sum'). –

+0

gracias por sugerencias colsums! – xealits

Cuestiones relacionadas