library(dplyr)
library(plotly)
## Cargando paquete requerido: ggplot2
##
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(lubridate)
##
## Adjuntando el paquete: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
Bins_Ready <- Bins
names(Bins_Ready)[grep("Nombre.*Sucursal", names(Bins_Ready), ignore.case=T)[1]] <- "Nombre Sucursal Origen"
names(Bins_Ready)[grep("Planta|Destino", names(Bins_Ready), ignore.case=T)[1]] <- "Planta"
names(Bins_Ready)[grep("500", names(Bins_Ready))[1]] <- "BINS500"
names(Bins_Ready)[grep("1000", names(Bins_Ready))[1]] <- "BINS1000"
names(Bins_Ready)[grep("Toneladas", names(Bins_Ready), ignore.case=T)[1]] <- "Toneladas"
col_fecha <- grep("Día.*Recepción|Fecha", names(Bins_Ready), ignore.case=T)[1]
names(Bins_Ready)[col_fecha] <- "Fecha"
Datos_Tiempo <- Bins_Ready %>%
mutate(
BINS500 = as.numeric(BINS500),
BINS1000 = as.numeric(BINS1000),
Fecha = as.Date(Fecha, tryFormats = c("%Y-%m-%d", "%d-%m-%Y")),
Toneladas = as.numeric(Toneladas)
) %>%
filter(!is.na(Fecha) & month(Fecha) %in% c(8, 9, 10)) %>%
group_by(Fecha) %>%
summarise(
Total_Toneladas = sum(Toneladas, na.rm = TRUE)
)
modelo_tiempo <- lm(Total_Toneladas ~ Fecha, data = Datos_Tiempo)
fechas_noviembre <- seq(as.Date("2025-11-01"), as.Date("2025-11-30"), by="day")
datos_noviembre <- data.frame(Fecha = fechas_noviembre)
datos_noviembre$Total_Toneladas <- predict(modelo_tiempo, newdata = datos_noviembre)
datos_noviembre$Tipo <- "Proyección (Nov)"
Datos_Tiempo$Tipo <- "Histórico (Ago-Oct)"
Datos_Final <- bind_rows(Datos_Tiempo, datos_noviembre)
grafico_tendencia <- plot_ly(Datos_Final, x = ~Fecha, y = ~Total_Toneladas) %>%
add_trace(
data = filter(Datos_Final, Tipo == "Histórico (Ago-Oct)"),
type = 'scatter', mode = 'lines+markers',
name = 'Histórico (Ago-Oct)',
line = list(color = 'blue')
) %>%
add_lines(
data = filter(Datos_Final, Tipo == "Proyección (Nov)"),
name = 'Tendencia Noviembre',
line = list(color = 'red', dash = 'dash', width = 3)
) %>%
layout(
title = "Proyección de Tendencia de Toneladas hacia Noviembre",
xaxis = list(title = "Fecha", tickformat = "%d-%b"),
yaxis = list(title = "Total Toneladas Diarias"),
legend = list(title = list(text = "Periodo"))
)
grafico_tendencia