Skip to content

[R-es] Suma de columna en data.frame con restricciones

4 messages · Clei Y, Javier Marcuzzi, Carlos Ortega +1 more

#
Buen día,


Tengo un data frame con los siguientes datos
Quisiera saber como elaborar una tabla en la cual seleccione el sexo y la edad y R realice la suma de la frecuencia debido a que la lista original incluye miles de observaciones y existen muchas observaciones con mismo sexo, misma edad y es necesario realizar la suma de las frecuencias.


Saludos y gracias
#
Estimado Clei Y

Su pregunta es muy básica, está en muchos libros y hay muchas formas de resolverla.

Le paso una pista donde se preguntan por lo mismo, no se desaliente, es una duda común al haber tantas formas para algo tan simple, incluso observe apply, mapply, plyr, dplyr, do.call,  un algunas otras alternativas, cualquiera lo lleva a una respuesta para su caso.

https://stackoverflow.com/questions/15059076/call-apply-like-function-on-each-row-of-dataframe-with-multiple-arguments-from-e


Javier Rubén Marcuzzi

De: Clei Y
Enviado: domingo, 23 de julio de 2017 16:13
Para: r-help-es en r-project.org
Asunto: [R-es] Suma de columna en data.frame con restricciones

Buen d?a,


Tengo un data frame con los siguientes datos
Quisiera saber como elaborar una tabla en la cual seleccione el sexo y la edad y R realice la suma de la frecuencia debido a que la lista original incluye miles de observaciones y existen muchas observaciones con mismo sexo, misma edad y es necesario realizar la suma de las frecuencias.


Saludos y gracias
#
Hola,

Esas son diferentes opciones.
Si tu conjunto es muy grande, las opciones de dplyr, sqldf y especialmente
data.table son por las que optaría...


#-----------------------------------------
edad Sexo frec
1   10    1  150
2   12    1  125
3   15    1  342
4   10    2  156
5   12    2  308
6   15    2  174
+   group_by(edad, Sexo) %>%
+   summarise( res = sum(frec))
# A tibble: 6 x 3
# Groups:   edad [?]
   edad  Sexo   res
  <dbl> <dbl> <dbl>
1    10     1   150
2    10     2   156
3    12     1   125
4    12     2   308
5    15     1   342
6    15     2   174
Sexo edad frec mi_sum
1:    1   10  150    150
2:    1   12  125    125
3:    1   15  147    342
4:    2   12  123    308
5:    2   10  156    156
6:    2   15  174    174
7:    2   12  185    308
8:    1   15  195    342
by Sexo,edad")
Sexo edad sumfrec
1    1   10     150
2    1   12     125
3    1   15     342
4    2   10     156
5    2   12     308
6    2   15     174
#-----------------------------------------


Saludos,
Carlos Ortega
www.qualityexcellence.es

El 23 de julio de 2017, 21:13, Clei Y <cleiver_yam en hotmail.com> escribió: