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]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es