[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