[R-es] cálculo porcentajes por categorías para total casos por año.
juan manuel dias
ju@m@d|@@ @end|ng |rom gm@||@com
Jue Ago 5 22:24:14 CEST 2021
Hola Carlos, muchas gracias!
Voy a probar con este código que me pasaste!
También encontré esta forma de hacerlo que copio más abajo!
Saludos, Juan.
base_porcentajes<-suaci_reclamos %>% group_by(anio, TIPO_PRESTACION) %>%
dplyr::summarise(reclamos = sum(n_reclamos)) %>%
transmute(TIPO_PRESTACION, porc_categorias =(reclamos/sum(reclamos)))
El jue, 5 ago 2021 a las 15:56, Carlos Ortega (<cof using qualityexcellence.es>)
escribió:
> Hola,
>
> Esta es una forma...
>
> #--------------
> > library(dplyr)
> > library(data.table)
> >
> > datin <- fread('suaci_reclamos.csv')
> >
> > datin %>%
> + group_by(anio) %>%
> + mutate(tot_year = sum(n_reclamos)) %>%
> + group_by(anio, TIPO_PRESTACION) %>%
> + mutate(tot_pres = sum(n_reclamos) ) %>%
> + mutate(por_pres_year = (tot_pres/tot_year)*100) %>%
> + select(-tot_year, -tot_pres) %>%
> + arrange(anio, TIPO_PRESTACION)
> # A tibble: 15 × 6
> # Groups: anio, TIPO_PRESTACION [15]
> V1 TIPO_PRESTACION anio n_reclamos miles_reclamos por_pres_year
> <int> <chr> <int> <int> <dbl> <dbl>
> 1 1 DENUNCIA 2013 35086 35.1 5.49
> 2 4 QUEJA 2013 12476 12.5 1.95
> 3 7 RECLAMO 2013 225296 225. 35.2
> 4 10 SOLICITUD 2013 209066 209. 32.7
> 5 13 TRAMITE 2013 157633 158. 24.6
> 6 2 DENUNCIA 2014 38959 39.0 7.53
> 7 5 QUEJA 2014 9544 9.54 1.84
> 8 8 RECLAMO 2014 154987 155. 29.9
> 9 11 SOLICITUD 2014 143330 143. 27.7
> 10 14 TRAMITE 2014 170888 171. 33.0
> 11 3 DENUNCIA 2015 94532 94.5 11.3
> 12 6 QUEJA 2015 12216 12.2 1.46
> 13 9 RECLAMO 2015 230389 230. 27.5
> 14 12 SOLICITUD 2015 128488 128. 15.3
> 15 15 TRAMITE 2015 372677 373. 44.5
> #--------------
>
> Gracias,
> Carlos Ortega
> www.qualityexcellence.es
>
> El jue, 5 ago 2021 a las 17:28, juan manuel dias (<juamadias using gmail.com>)
> escribió:
>
>> Hola Estimados/as
>>
>> Estoy necesitando calcular los porcentajes para cada categoría de la
>> variable "tipo de prestación" sobre el total de casos de todas las
>> categorías para cada año (anio).
>>
>> Con este código que pego abajo puedo hacer los porcentajes de cada
>> categoría pero sobre el total de todos los casos.
>>
>> base_ancha<-suaci_reclamos %>%
>> group_by(anio,TIPO_PRESTACION) %>%
>> dplyr::summarise(cantidad_reclamos=sum(n_reclamos)) %>%
>> mutate(porcentaje_tpres=round(cantidad_reclamos/sum(cantidad_reclamos)*100,digits=4))
>> %>%
>> ungroup()
>>
>> Adjunto la base original sobre la que estoy trabajando (suaci_reclamos) y
>> el resultado al que llego corriendo el código de arriba (base_ancha)...y un
>> excel donde en la columna "Necesito_esto" figura el cálculo que necesito.
>>
>> Lo intenté de varias formas pero no logro que quede así!
>>
>> Muchas gracias!
>>
>> Saludos, Juan.
>>
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es using r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es