Carga de Datos y librerías

# Carga de librerías necesarias
library(knitr)
library(scales)

# setwd("C:/Users/ronal/OneDrive/Desktop") # Ajustar si es necesario
datos <- read.csv("database (1).csv", header = TRUE, sep = ",", dec = ".")

# Extracción y limpieza de la variable
variable_exp <- na.omit(datos$Liquid.Explosion)

Análisis de Frecuencias

# 3. Cálculo de Frecuencias
ni_exp <- table(na.omit(datos$Liquid.Explosion))
hi_exp <- prop.table(ni_exp) * 100

# Creación del Data Frame
tabla_exp_final <- data.frame(
  Estado = names(ni_exp),
  ni = as.vector(ni_exp),
  hi = as.vector(round(hi_exp, 2))  
)

# Crear la fila de TOTAL
fila_total <- data.frame(
  Estado = "**Total**",
  ni = sum(tabla_exp_final$ni),
  hi = sum(tabla_exp_final$hi)     
)

Tabla final de frecuencia

# Tabla final 
tabla_exp_final[[1]] <- as.character(tabla_exp_final[[1]])
tabla_exp_final[[1]][tabla_exp_final[[1]] == "YES"] <- "Si"
tabla_exp_final[[1]][tabla_exp_final[[1]] == "NO"] <- "No"

tabla_exp_final <- rbind(tabla_exp_final, fila_total)

tabla_exp_final$hi <- paste0(tabla_exp_final$hi, "%")

colnames(tabla_exp_final) <- c("Explosión de líquido", 
                               "Frecuencia Absoluta (ni)", 
                               "Frecuencia Relativa (hi)")

library(knitr)
kable(tabla_exp_final, 
      align = "c", 
      caption = "Tabla No. 1: Análisis de Frecuencias para Explosión líquida.")
Tabla No. 1: Análisis de Frecuencias para Explosión líquida.
Explosión de líquido Frecuencia Absoluta (ni) Frecuencia Relativa (hi)
No 2780 99.46%
Si 15 0.54%
Total 2795 100%

Gráficas de Barras

Gráfica No. 1: Distribucion global de Explosión de líquido

# Gráfica No. 1: Distribución Global de registro de Explosión de líquido

ni_exp_plot <- ni_exp

names(ni_exp_plot)[names(ni_exp_plot) == "YES"] <- "Si"
names(ni_exp_plot)[names(ni_exp_plot) == "NO"] <- "No"

barplot(ni_exp_plot, 
        main = "Grafica No. 1: Registro de Explosion de liquido",
        xlab = "Explosion de liquido", 
        ylab = "Cantidad",
        col = "lightblue", 
        border = "black",
        ylim = c(0, max(ni_exp_plot) * 1.2))

Gráfica No. 2: Distribucion local de Explosión líquida

# Gráfica No. 2: Distribución Local de registro de Explosión de líquido


umbral_90 <- quantile(datos$All.Costs[datos$All.Costs > 0], 0.90, na.rm = TRUE)
datos_local <- datos[datos$All.Costs <= umbral_90 & !is.na(datos$All.Costs), ]
ni_local <- table(na.omit(datos_local$Liquid.Explosion))

ni_local_plot <- ni_local
names(ni_local_plot)[names(ni_local_plot) == "YES"] <- "Si"
names(ni_local_plot)[names(ni_local_plot) == "NO"] <- "No"

barplot(ni_local_plot, 
        main = "Grafica No. 2: Registro de Explosion de liquido ",
        xlab = "Explosion de liquido", 
        ylab = "Cantidad",
        col = "lightblue", 
        border = "black",
        ylim = c(0, max(ni_local_plot) * 1.2))

Gráfica No. 3: Porcentaje global de registro de Explosión de líquido

# Cálculo de la frecuencia relativa global 
hi_global <- prop.table(table(na.omit(datos$Liquid.Explosion))) * 100

hi_global_plot <- hi_global
names(hi_global_plot)[names(hi_global_plot) == "YES"] <- "Si"
names(hi_global_plot)[names(hi_global_plot) == "NO"] <- "No"

bp_g <- barplot(hi_global_plot, 
                main = "Grafica No. 3: Registro porcentual de Explosion de liquido",
                ylab = "Porcentaje (%)", 
                xlab = "Explosion de Liquido",
                col = "lightblue", 
                ylim = c(0, 100))

Gráfica No. 4: Porcentaje local de registro de Explosión de líquido

hi_local <- prop.table(ni_local) * 100

hi_local_plot <- hi_local
names(hi_local_plot)[names(hi_local_plot) == "YES"] <- "Si"
names(hi_local_plot)[names(hi_local_plot) == "NO"] <- "No"

bp_l <- barplot(hi_local_plot, 
                main = "Grafica No. 4: Registro porcentual de Explosion de liquido (Local)",
                ylab = "Porcentaje (%)", 
                xlab = "Explosion de Liquido",
                col = "lightblue", 
                ylim = c(0, 100))

Diagrama Circular

par(mfrow = c(1, 1))

TablaExp_Global <- data.frame(
  Categoria = names(ni_exp), 
  hi_porc = as.vector(hi_exp)
)

TablaExp_Global$Categoria[TablaExp_Global$Categoria == "YES"] <- "Si"
TablaExp_Global$Categoria[TablaExp_Global$Categoria == "NO"] <- "No"

colores_azules <- c("steelblue", "lightskyblue")

pie(TablaExp_Global$hi_porc, 
    labels = NA, 
    radius = 1,  
    main = "Grafica No. 5: Porcentaje de Explosion de liquido", 
    col = colores_azules)

legend("topright", 
       legend = paste(TablaExp_Global$Categoria, ": ", round(TablaExp_Global$hi_porc, 2), "%"),
       fill = colores_azules,
       cex = 1, 
       title = "Hubo Explosion?")

Medidas de Tendencia Central

tabla_frec_exp <- table(na.omit(datos$Liquid.Explosion))
moda_valor <- names(tabla_frec_exp)[which.max(tabla_frec_exp)]
frecuencia_moda <- max(tabla_frec_exp)

cat("La moda de la variable es:", moda_valor, "\n")
## La moda de la variable es: NO

CONCLUSIONES

Valor más frecuente de la variable Liquid Explosion es ‘NO’.con un total de 2,780 registros. Esto representa aproximadamente el 99.46% de los casos, indicando que las explosiones líquidas son eventos extremadamente inusuales.