Contenido de este artículo
- 0
- 0
- 0
- 0
Actualizado el 7 de mayo de 2021, por Luis Benites.
Ocasionalmente, es posible que desee agregar datos diarios a datos semanales, mensuales o anuales en R.
Este tutorial explica cómo hacerlo fácilmente usando los paquetes lubridate y dplyr .
Ejemplo: datos diarios agregados en R
Suponga que tenemos el siguiente marco de datos en R que muestra las ventas diarias de algún artículo en el transcurso de 100 días consecutivos:
#Haga que este ejemplo sea reproducible set.seed (1) #create data frame df <- data.frame (date = as.Date (" 2020-12-01 ") + 0:99, ventas = runif (100, 20, 50)) #ver las primeras seis filas cabeza (df) ventas de fecha 1 2020-12-01 27.96526 2 2020-12-02 31.16372 3 2020-12-03 37.18560 4 2020-12-04 47.24623 5 2020-12-05 26.05046 6 2020-12-06 46.95169
Para agregar estos datos, podemos usar la función floor_date () del paquete lubridate que usa la siguiente sintaxis:
floor_date (x, unidad)
dónde:
- x: un vector de objetos de fecha.
- unidad: una unidad de tiempo a la que se redondea. Las opciones incluyen segundo, minuto, hora, día, semana, mes, bimestral, trimestre, medio año y año.
Los siguientes fragmentos de código muestran cómo utilizar esta función junto con la group_by () y resume () funciones de la dplyr paquete para encontrar las ventas medias por semana, mes, y año:
Ventas medias por semana
biblioteca (lubridate) biblioteca (dplyr) #fechas redondeadas hasta la semana df $ week <- floor_date (df $ date, " week ") # encontrar las ventas medias por semana df%>% group_by (semana)%>% resumir (media = media (ventas)) # A tibble: 15 x 2 semana media 1 2020-11-29 33,9 2 2020-12-06 35,3 3 2020-12-13 39,0 4 2020-12-20 34,4 5 2020-12-27 33,6 6 2021-01-03 35,9 7 2021-01-10 37,8 8 2021-01-17 36,8 9 2021-01-24 32,8 10 2021-01-31 33,9 11 2021-02-07 34,1 12 14/02/2021 41,6 13 2021-02-21 31,8 14 2021-02-28 35,2 15 2021-03-07 37,1
Ventas medias por mes
biblioteca (lubridate) biblioteca (dplyr) #fechas redondeadas hasta la semana df $ mes <- floor_date (df $ fecha, " mes ") # encontrar las ventas medias por mes df%>% group_by (mes)%>% resumir (media = media (ventas)) # A tibble: 4 x 2 mes promedio 1 2020-12-01 35,3 2 2021-01-01 35,6 3 2021-02-01 35.2 4 2021-03-01 37.0
Ventas medias por año
biblioteca (lubridate) biblioteca (dplyr) # fechas redondeadas hasta la semana df $ año <- floor_date (df $ fecha, " año ") # encontrar las ventas medias por mes df%>% group_by (año)%>% resumir (media = media (ventas)) # A tibble: 2 x 2 año medio 1 2020-01-01 35,3 2 2021-01-01 35,7
Tenga en cuenta que elegimos agregar por la media, pero podríamos usar cualquier estadística de resumen que nos gustaría, como la mediana, la moda, el máximo, el mínimo, etc.
Recursos adicionales
Cómo calcular la media por grupo en R
Cómo calcular sumas acumulativas en R
Cómo trazar una serie de tiempo en R
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: