Descargamos los datos de nuestro datase
datos <- read.csv("database-_1_.csv")
zona<-datos$Liquid.Ignition
library(dplyr)
library(knitr)
library(kableExtra)
# 1. Procesamiento de datos (Variable Liquid Ignition)
liq_ign <- datos$Liquid.Ignition
freq_LI <- table(liq_ign)
Tabla_LI <- as.data.frame(freq_LI)
colnames(Tabla_LI) <- c("x", "ni")
Tabla_LI$hi <- round(Tabla_LI$ni / sum(Tabla_LI$ni), 4)
# 2. Crear fila de TOTAL
fila_total_LI <- data.frame(x = "TOTAL", ni = sum(Tabla_LI$ni), hi = 1.00)
TablaFinal_LI <- rbind(Tabla_LI, fila_total_LI)
# 3. Generar tabla con formato kableExtra
TablaFinal_LI %>%
kable(
caption = "Tabla 2: Distribución de Frecuencias de Ignición del Líquido",
align = "c",
col.names = c("Estado de Ignición", "Frecuencia Absoluta (ni)", "Frecuencia Relativa (hi)")
) %>%
kable_styling(
bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = F,
position = "center"
) %>%
row_spec(0, bold = T, color = "white", background = "#2c3e50") %>% # Encabezado
row_spec(nrow(TablaFinal_LI), bold = T, color = "white", background = "#34495e") %>% # Fila TOTAL
column_spec(1, italic = T, border_right = T)
| Estado de Ignición | Frecuencia Absoluta (ni) | Frecuencia Relativa (hi) |
|---|---|---|
| NO | 2700 | 0.966 |
| YES | 95 | 0.034 |
| TOTAL | 2795 | 1.000 |
Desde el punto de vista de la teoría de la probabilidad, la gráfica representa la función de masa de una variable aleatoria discreta con una marcada concentración de probabilidad en el estado de no-ignición. La brecha de magnitudes entre ambas barras (\(0.9188\) vs \(0.0812\)) indica un sistema con alta resiliencia térmica o fluidos con puntos de inflamación elevados.
library(ggplot2)
library(scales)
ggplot(Tabla_LI, aes(x = x, y = hi, fill = x)) +
geom_bar(stat = "identity", width = 0.6, show.legend = FALSE) +
scale_y_continuous(labels = percent_format(), limits = c(0, 1)) +
scale_fill_manual(values = c("skyblue", "#a1c4fd")) + # Azul para NO, Rojo para YES
labs(
title = "Distribución Porcentual de Ignición del Líquido",
x = "Ignición",
y = "Proporción de Accidentes"
) +
theme_minimal(base_size = 14) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5),
panel.grid.major.x = element_blank()
)
La visualización de la frecuencia relativa local evidencia la naturaleza de los accidentes en la red de oleoductos, donde la categoría “NO” domina de forma absoluta el espacio muestral con un 91.88%.
library(ggplot2)
# Gráfica de Densidad de Masa de Probabilidad
ggplot(datos, aes(x = Liquid.Ignition, fill = Liquid.Ignition)) +
geom_bar(aes(y = after_stat(count)/sum(after_stat(count))), width = 0.5) +
geom_text(aes(y = after_stat(count)/sum(after_stat(count)),
label = round(after_stat(count)/sum(after_stat(count)), 4)),
stat = "count", vjust = -0.5, fontface = "bold") +
scale_fill_manual(values = c("skyblue", "#a1c4fd")) +
labs(
title = "Densidad de Masa de Probabilidad: Ignición del Líquido",
subtitle = "Distribución Normalizada (Suma de Densidades = 1.0)",
x = "Estado de Ignición",
y = "Densidad"
) +
theme_classic(base_size = 14) +
theme(
plot.title = element_text(face = "bold", color = "#2c3e50"),
legend.position = "none"
)
Al ajustar el eje Y al valor de 2765, la gráfica revela la escala real de la siniestralidad. Se observa que la categoría “NO” se aproxima al techo del eje, mientras que la categoría “YES” representa apenas un pequeño segmento de la capacidad total de la muestra.
library(ggplot2)
ggplot(Tabla_LI, aes(x = x, y = ni, fill = x)) +
geom_bar(stat = "identity", width = 0.6, show.legend = FALSE) +
scale_y_continuous(limits = c(0, 2765), breaks = seq(0, 2765, by = 500)) +
scale_fill_manual(values = c("skyblue", "#a1c4fd")) +
labs(
title = "Magnitud de Ignición en el Total de Accidentes",
x = "Ignición",
y = "Cantidad"
) +
theme_minimal(base_size = 14) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5),
panel.grid.major.x = element_blank()
)
El diagrama circular de la variable ignición del líquido resalta visualmente la hegemonía de la categoría “NO”, que ocupa más del 90% de la superficie total, reflejando su predominancia absoluta en la siniestralidad. El sector restante, correspondiente a la ignición positiva (“YES”), aparece como una porción marginal, evidenciando que la gran mayoría de los incidentes no escalan a eventos de combustión. Esta representación permite confirmar que el riesgo predominante es de carácter mecánico y ambiental, y no térmico.
library(ggplot2)
library(dplyr)
# Preparar datos para el gráfico circular
df_pie <- Tabla_LI %>% filter(x != "TOTAL")
ggplot(df_pie, aes(x = "", y = hi, fill = x)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y", start = 0) +
geom_text(aes(label = paste0(round(hi * 100, 1), "%")),
position = position_stack(vjust = 0.5),
color = "white", fontface = "bold", size = 6) +
scale_fill_manual(values = c("skyblue", "#a1c4fd"),
name = "¿Ignición?") +
labs(title = "Composición de Densidad: Ignición del Líquido",
subtitle = "Distribución Probabilística del Espacio Muestral") +
theme_void() +
theme(plot.title = element_text(face = "bold", hjust = 0.5, size = 16),
plot.subtitle = element_text(hjust = 0.5, size = 12))
Bajo un enfoque de teoría de la decisión, la variable se comporta como un ensayo de Bernoulli donde el parámetro de éxito (ignición) es \(\hat{p} \approx 0.0812\). La esperanza matemática del sistema indica que, ante un evento de ruptura aleatorio, el resultado esperado es la no-ignición en más de 9 de cada 10 casos. Matemáticamente, la distribución presenta una asimetría positiva extrema en términos de riesgo, lo que implica que la masa de probabilidad está “secuestrada” por el estado de reposo térmico, clasificando a la ignición como un evento de baja frecuencia pero potencialmente de alta severidad en la cola de la distribución.
# Calcular la Moda (categoría más frecuente)
moda_LI <- names(which.max(table(liq_ign)))
# Calcular la proporción de la categoría dominante
proporcion_dominante <- max(Tabla_LI$hi) * 100
# Mostrar indicadores en consola
cat("Indicadores Estadísticos:",
"\n- Moda:", moda_LI,
"\n- Frecuencia Absoluta Máxima:", max(Tabla_LI$ni),
"\n- Concentración de Datos:", proporcion_dominante, "%")
## Indicadores Estadísticos:
## - Moda: NO
## - Frecuencia Absoluta Máxima: 2700
## - Concentración de Datos: 96.6 %
el análisis estadístico de la variable ignición de líquidos revela una distribución con una marcada asimetría hacia el estado de no-ignición, lo que representa una densidad de masa de probabilidad del 91.88% (\(n = 2,568\)). Matemáticamente, este comportamiento confirma que la siniestralidad en oleoductos se caracteriza predominantemente por eventos de pérdida de contención física (derrames fríos) y no por desastres térmicos, situando a la ignición como un evento estocásticamente raro (\(p \approx 0.08\)). Por tanto, la gestión de riesgos debe priorizar protocolos de contención ambiental y limpieza, ya que, aunque la frecuencia de incendios es baja, la saturación de incidentes sin fuego exige una respuesta operativa enfocada en la integridad mecánica de la red.