[R-es] Estimada comunidad, queria pedirles ayuda porque realmente llevo muchas horas tratando de hacer algo que debe ser simple, y por eso mismo ya me esta frustrando ...

patricio fuenmayor patricio.fuenmayor en gmail.com
Sab Dic 16 17:30:07 CET 2017


Hola.
Lo que tienes que hacer es calcular el numero total de muertes por año
primero y luego este resultado adjuntarlo a tu data.table de causas de
muerte.
NO te salen los resultados porque al momento que haces todo en solo grupo
de operaciones y aplicas un FILTRO esto afecta en los totales.

dt <- data.table(readxl::read_xlsx("d:/cdm.xlsx","dat"))
dt
     año cdm muertes
 1: 2015   A       4
 2: 2015   B       3
 3: 2015   D       1
 4: 2015   F       8
 5: 2016   A       9
 6: 2016   B       5
 7: 2016   C       3
 8: 2017   C       4
 9: 2017   B       1
10: 2017   G       2
11: 2017   A       7

dt[,.(total=sum(muertes)),by=año][dt[,.(muertes_s=sum(muertes)),by=.(año,cdm)],on=.(año)][,.(año,cdm,pct=muertes_s/total)]

saludos

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es