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: