Hola Clei, ya te han dado varias opciones ... solo para aportar un detalle que te puede servir, si en la opcion 3 de Carlos Ortega (donde usa data.table), NO ASIGNAS la suma a un nuevo objeto, es decir, no usas el operador ":=" para asignar el resultados a la nueva columna "mi_sum" como hace Carlos, obtienes una tabla de resultados limpia, sin los datos originales, solo con las sumas agrupadas, por ejemplo: Sexo<-c(1,1,1,2,2,2,2,1) Suerte !!! Eric.
On 07/23/2017 04:45 PM, Carlos Ortega
wrote:
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...#-----------------------------------------# Opcion 1 aggregate(frec ~ edad + Sexo, data = "" FUN = sum)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# Opcion 2 library(dplyr) res_out <- df %>%+ group_by(edad, Sexo) %>% + summarise( res = sum(frec))res_out# 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# Opcion 3 library(data.table) DT <- as.data.table(df) DT[, mi_sum := sum(frec), by=c('Sexo','edad')] DTSexo 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# Opcion 4 library(sqldf) res_sql <- sqldf("select Sexo, edad, sum(frec) as sumfrec from df groupby Sexo,edad")res_sqlSexo 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_...@hotmail.com> escribió:Buen día, Tengo un data frame con los siguientes datosSexo<-c(1,1,1,2,2,2,2,1) edad<-c(10,12,15,12,10,15,12,15) frec<-c(150,125,147,123,156,174,185,195) df<-data.frame(Sexo,edad,frec)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 [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Forest Engineer Master in Environmental and Natural Resource Economics Ph.D. student in Sciences of Natural Resources at La Frontera University Member in AguaDeTemu2030, citizen movement for Temuco with green city standards for living Nota: Las tildes se han omitido para asegurar compatibilidad con algunos lectores de correo. |
_______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es