[R-es] Función aggregate en dataframe

David Camilo Gomez Medina dcgomezme @end|ng |rom un@|@edu@co
Mie Mar 29 22:12:34 CEST 2023


Muchísimas gracias Carlos, aunque yo quiero conservar las columnas. Por
ejemplo, tú creaste información del año 2019 a 2022, para la columna X1
quiero calcular el promedio de enero para esos años y así con las demás
columnas. ¿Cómo podría cambiar tu código?

On Wed, 29 Mar 2023 at 15:05, Carlos Ortega <cof using qualityexcellence.es>
wrote:

> Ah, gracias..
>
> Me he creado uno de forma sintética...
> Esta es una forma...
>
> #---------------------------------
> > library(dplyr)
> > library(tidyr)
> > library(lubridate)
> >
> >
> > crear_data_frame <- function(anios_inicio, anios_fin) {
> +   anios_meses <- expand.grid(Year = anios_inicio:anios_fin, Month = 1:12)
> +   anios_meses$yearmon <- paste0(anios_meses$Year, "-", sprintf("%02d",
> anios_meses$Month))
> +   vars <- replicate(5, runif(nrow(anios_meses)))
> +   data.frame(anios_meses, vars, stringsAsFactors = FALSE) %>%
> +     select(-Year, -Month) %>%
> +     arrange(yearmon)
> + }
> >
> > df <- crear_data_frame(2019, 2022)
> >
> > head(df)
>   yearmon        X1        X2          X3        X4         X5
> 1 2019-01 0.2783405 0.1556831 0.007564986 0.9981701 0.35200632
> 2 2019-02 0.3906244 0.1525354 0.794696565 0.6935012 0.15611665
> 3 2019-03 0.3607439 0.2350400 0.208026463 0.1175302 0.84753470
> 4 2019-04 0.7787032 0.3713333 0.697207166 0.3701457 0.04013776
> 5 2019-05 0.4973347 0.6898472 0.603442922 0.5696876 0.63328772
> 6 2019-06 0.5392983 0.9604180 0.456174444 0.7767546 0.62486765
> >
> > resout <- df %>%
> +   mutate(year = year(ym(yearmon))) %>%
> +   mutate(month = month(ym(yearmon))) %>%
> +   select(-year) %>%
> +   relocate(month, .after = yearmon) %>%
> +   pivot_longer( cols = X1:X5) %>%
> +   mutate(mes_avg = mean(value), .by = month) %>%
> +   select(month, mes_avg) %>%
> +   distinct() %>%
> +   as.data.frame
> > resout
>    month   mes_avg
> 1      1 0.4305554
> 2      2 0.4485030
> 3      3 0.4451672
> 4      4 0.4101606
> 5      5 0.4715812
> 6      6 0.5428447
> 7      7 0.5350282
> 8      8 0.4792279
> 9      9 0.5052422
> 10    10 0.4272948
> 11    11 0.5197938
> 12    12 0.3883511
>
> #------------------------------------
>
> El mié, 29 mar 2023 a las 21:54, David Camilo Gomez Medina (<
> dcgomezme using unal.edu.co>) escribió:
>
>> Claro Carlos, gracias, exporté el dataframe a Excel.
>>
>>
>>
>> On Wed, 29 Mar 2023 at 14:44, Carlos Ortega <cof using qualityexcellence.es>
>> wrote:
>>
>>> Hola,
>>>
>>> Puedes pasar una pequeña muestra del conjunto para darte la solución...
>>>
>>> Gracias,
>>> Carlos Ortega
>>> www.qualityexcellence.es
>>>
>>> El mié, 29 mar 2023 a las 21:38, David Camilo Gomez Medina (<
>>> dcgomezme using unal.edu.co>) escribió:
>>>
>>>> Buen día a todos,
>>>>
>>>> Tengo un dataframe donde está almacenada la información por año y mes,
>>>> deseo calcular el promedio de todos los meses, es decir, obtener el
>>>> promedio mensual multianual de cada columna. He intentado realizarlo con la
>>>> función aggregate, pero no sé cómo seleccionar solamente el mes. Por
>>>> ejemplo, coger solo el mes de enero ('01') de cada año y promediarlo.
>>>>
>>>> Quedo muy atento, muchas gracias.
>>>>
>>>> [image: image.png]
>>>>
>>>> *Aviso legal:* El contenido de este mensaje y los archivos adjuntos
>>>> son confidenciales y de uso exclusivo de la Universidad Nacional de
>>>> Colombia. Se encuentran dirigidos sólo para el uso del destinatario al cual
>>>> van enviados. La reproducción, lectura y/o copia se encuentran prohibidas a
>>>> cualquier persona diferente a este y puede ser ilegal. Si usted lo ha
>>>> recibido por error, infórmenos y elimínelo de su correo. Los Datos
>>>> Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra
>>>> Política de Datos Personales que podrá consultar en la página web
>>>> www.unal.edu.co. Las opiniones, informaciones, conclusiones y
>>>> cualquier otro tipo de dato contenido en este correo electrónico, no
>>>> relacionados con la actividad de la Universidad Nacional de Colombia, se
>>>> entenderá como personales y de ninguna manera son avaladas por la
>>>> Universidad.
>>>> _______________________________________________
>>>> 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
>>>
>>
>> *Aviso legal:* El contenido de este mensaje y los archivos adjuntos son
>> confidenciales y de uso exclusivo de la Universidad Nacional de Colombia.
>> Se encuentran dirigidos sólo para el uso del destinatario al cual van
>> enviados. La reproducción, lectura y/o copia se encuentran prohibidas a
>> cualquier persona diferente a este y puede ser ilegal. Si usted lo ha
>> recibido por error, infórmenos y elimínelo de su correo. Los Datos
>> Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra
>> Política de Datos Personales que podrá consultar en la página web
>> www.unal.edu.co. Las opiniones, informaciones, conclusiones y cualquier
>> otro tipo de dato contenido en este correo electrónico, no relacionados con
>> la actividad de la Universidad Nacional de Colombia, se entenderá como
>> personales y de ninguna manera son avaladas por la Universidad.
>>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>

-- 
*Aviso legal:* El contenido de este mensaje y los archivos adjuntos son 
confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. 
Se encuentran dirigidos sólo para el uso del destinatario al cual van 
enviados. La reproducción, lectura y/o copia se encuentran prohibidas a 
cualquier persona diferente a este y puede ser ilegal. Si usted lo ha 
recibido por error, infórmenos y elimínelo de su correo. Los Datos 
Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra 
Política de Datos Personales que podrá consultar en la página web 
www.unal.edu.co <http://www.unal.edu.co/>.* *Las opiniones, informaciones, 
conclusiones y cualquier otro tipo de dato contenido en este correo 
electrónico, no relacionados con la actividad de la Universidad Nacional de 
Colombia, se entenderá como personales y de ninguna manera son avaladas por 
la Universidad.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230329/71ae1864/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 25589 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230329/71ae1864/attachment-0001.png>


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