¿Cómo puedo hacer un gráfico de líneas que combine múltiples registros por día a lo largo de un período de tiempo?
No estoy seguro si mi título tiene sentido, pero estoy tratando de graficar el gasto a lo largo del tiempo. Aquí está mi dput:
structure(list(case = c(1L, 1L, 1L, 1L, 1L, 2L), year = c(2021L,
2021L, 2021L, 2021L, 2021L, 2021L), month = c(11L, 11L, 11L,
11L, 11L, 11L), day = c(11L, 11L, 11L, 11L, 11L, 12L), type1 = c("food",
"food", "drink", "misc", "drink", "drink"), type2 = c("restaurant",
"tang_kee", "coffee", "headphone", "cola", "coffee_grounds"),
amount = c(210, 12, 9, 50, 18, 39)), row.names = c(NA, 6L
), class = "data.frame")
Cuando simplemente hago un gráfico de línea simple con gglines
, se muestra esto:
ggline(slack_budget,
x="case",
y="amount")+
theme_bw()+
labs(title = "Progresión del gasto en noviembre y diciembre",
subtitle = "Gráfico de línea de gasto no relacionado con alquiler/servicios públicos",
caption = "*Datos obtenidos de la matriz local.")+
theme(plot.title = element_text(face = "bold"),
plot.caption = element_text(face = "italic"))
Lo cual crea esto:
Como se puede ver aquí, se grafica un punto para cada entrada individual de gasto en ese día. En mi opinión, esto se ve un poco feo porque no muestra realmente una imagen de cuánto se gasta día a día en total.
Lo que realmente estoy buscando es combinar todas las entradas de cada día sin combinar el gasto de cada mes (por eso tengo x = case
en lugar de x = day
). Si hay una forma más fácil de lograr esto, sería genial saberlo.
Solución:
Gracias a Stefan por su respuesta. Ahora he creado este hermoso gráfico después de agrupar los datos:
davy.ai
Para combinar las entradas de cada día sin combinar los gastos de cada mes, primero puedes agregar los datos sumando las cantidades para cada día utilizando el paquete
dplyr
. Luego puedes crear un gráfico de líneas usandoggplot2
y mostrar las etiquetas de fecha en el eje x en lugar de los números de caso. Aquí tienes un ejemplo de código:Esto debería darte un gráfico de líneas que muestra el gasto total para cada día en lugar de cada entrada individual de gasto en ese día.