# Cargar los archivos de Excel (Asegúrate de que los nombres coincidan exactamente con tus archivos)
df_tiempos <- read_excel("Observaciones_Tiempos_Restaurante.xlsx")
df_personas <- read_excel("obersvaciones_personas.xlsx")
# Mostrar la base de datos de tiempos como una tabla interactiva
datatable(df_tiempos,
options = list(pageLength = 5, scrollX = TRUE),
caption = "Registro de Tiempos Operativos por Mesa")
# Extraer solo las columnas que tienen números (los tiempos)
vars_numericas <- df_tiempos %>% select_if(is.numeric)
# Crear la matriz de correlación
matriz_corr <- cor(vars_numericas, use = "complete.obs")
# Graficar
corrplot(matriz_corr, method = "color", type = "upper",
addCoef.col = "black", tl.col = "black", tl.srt = 45,
diag = FALSE, number.cex = 0.7)

# Asegurarnos de que los nombres de las columnas coincidan con los de tu Excel.
# Si tu columna se llama distinto, cámbialo en "x" y "y" dentro de aes()
p <- ggplot(df_tiempos, aes(x = `Espera Despacho (min)`, y = `Tiempo Total Ciclo (min)`,
color = `Franja Horaria`,
text = paste("Mesa:", `N° Mesa`, "<br>Franja:", `Franja Horaria`))) +
geom_point(size = 3, alpha = 0.7) +
geom_smooth(method = "lm", se = FALSE, color = "red", linetype = "dashed") +
labs(title = "Impacto del Cuello de Botella en el Ciclo Total",
x = "Tiempo de Espera en Despacho de Comida (min)",
y = "Tiempo Total del Cliente en el Restaurante (min)") +
theme_minimal()
# Convertir el gráfico estático de ggplot en uno dinámico
ggplotly(p, tooltip = "text")
# Crear el gráfico animado
p_anim <- ggplot(df_tiempos, aes(x = `Espera Despacho (min)`, y = `Tiempo Total Ciclo (min)`, color = `Franja Horaria`)) +
geom_point(size = 5, alpha = 0.8) +
theme_minimal() +
labs(title = 'Evolución de los Tiempos de Espera',
subtitle = 'Mesa evaluada: {closest_state}',
x = 'Espera en Despacho (min)',
y = 'Tiempo Total de Ciclo (min)') +
transition_states(`N° Mesa`, transition_length = 2, state_length = 1) +
enter_fade() +
exit_shrink()
# Renderizar la animación
animate(p_anim, renderer = gifski_renderer())
