1 CARGA DE DATOS Y LIBRERÍAS

CARGA DE DATOS

# Carga de Datos

ruta_completa <- "C:/Users/klaus/OneDrive/5000_Datos.xlsx"

datos <- readxl::read_excel(ruta_completa, sheet = "Hoja1")

CARGA DE LIBRERÍAS

# Carga de Librerías 

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(gt)
library(knitr)
library(readxl)

2 TABLA DE DISTRIBUCIÓN DE PROBABILIDAD

TABLA DE DISTRIBUCIÓN DE PROBABILIDAD POR TIPO DE MINA

# Tabla de distribución de probabilidad por Tipo de Mina

TablaTipoMina <- as.data.frame(
  table(datos$COAL_METAL_IND)
)

colnames(TablaTipoMina) <- c("Tipo_Mina", "ni")

TablaTipoMina$hi <- round(TablaTipoMina$ni / sum(TablaTipoMina$ni), 4)
TablaTipoMina$P  <- round(TablaTipoMina$hi * 100, 2)

# Fila TOTAL
total_tipo_mina <- data.frame(
  Tipo_Mina = "Total",
  ni = sum(TablaTipoMina$ni),
  hi = round(sum(TablaTipoMina$hi), 4),
  P  = round(sum(TablaTipoMina$P), 2)
)

# Tabla final
TablaTipoMinaFinal <- rbind(TablaTipoMina, total_tipo_mina)

# Mostrar tabla
TablaTipoMinaFinal
##   Tipo_Mina   ni     hi      P
## 1         C 2186 0.4421  44.21
## 2         M 2759 0.5579  55.79
## 3     Total 4945 1.0000 100.00

TABLA DE DISTRIBUCIÓN DE PROBABILIDAD POR TIPO DE MINA

tabla_tipo_mina_gt <- TablaTipoMinaFinal %>%
  gt() %>%
  tab_header(
    title = md("**Tabla N° 1**"),
    subtitle = md("**Distribución de probabilidad de accidentes mineros<br>
                   por Tipo de Mina (COAL_METAL_IND)**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo de Análisis Estadístico")
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    table_body.hlines.color = "gray",
    table_body.border.bottom.color = "black",
    row.striping.include_table_body = TRUE
  ) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(rows = Tipo_Mina == "Total")
  )

tabla_tipo_mina_gt
Tabla N° 1
Distribución de probabilidad de accidentes mineros
por Tipo de Mina (COAL_METAL_IND)
Tipo_Mina ni hi P
C 2186 0.4421 44.21
M 2759 0.5579 55.79
Total 4945 1.0000 100.00
Autor: Grupo de Análisis Estadístico

3 GRÁFICAS DE DISTRIBUCIÓN DE PROBABILIDAD

DIAGRAMA DE BARRAS

# Extraer porcentajes (sin Total)
P_tipo <- as.numeric(
  TablaTipoMinaFinal$P[1:(nrow(TablaTipoMinaFinal) - 1)]
)

tipos <- TablaTipoMinaFinal$Tipo_Mina[
  1:(nrow(TablaTipoMinaFinal) - 1)
]

etiquetas <- ifelse(tipos == "C", "Carbón", "Mineral / Metal")

# Diagrama de Barras
barplot(
  P_tipo,
  main = "Gráfica Nº1: Distribución de probabilidad\n de accidentes mineros por Tipo de Mina",
  xlab = "Tipo de Mina",
  ylab = "Probabilidad (%)",
  col = "purple",
  names.arg = etiquetas,
  cex.names = 1,
  ylim = c(0, 100)
)

4 CÁLCULO DE PROBABILIDAD

# Identificar tipo de mina con mayor probabilidad (excluye Total)
tabla_sin_total <- TablaTipoMinaFinal[
  TablaTipoMinaFinal$Tipo_Mina != "Total", 
]

tipo_mayor <- tabla_sin_total$Tipo_Mina[
  which.max(tabla_sin_total$P)
]

prob_mayor <- tabla_sin_total$P[
  which.max(tabla_sin_total$P)
]

nombre_mayor <- ifelse(tipo_mayor == "C", "Carbón", "Mineral / Metal")

# Gráfico de texto explicativo 
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")

text(
  x = 1, y = 1,
  labels = paste(
    "Cálculo de probabilidad\n(Estimación general)\n\n",
    "¿Qué tipo de mina es más probable\n",
    "que registre accidentes?\n\n",
    "R: ", nombre_mayor, "\n",
    "Probabilidad = ", prob_mayor, " (%)",
    sep = ""
  ),
  cex = 1.4,
  col = "black",
  font = 2
)

5 CONCLUSIÓN

Los resultados obtenidos indican que el tipo de mina con mayor probabilidad de registrar accidentes es la mina de Mineral–Metal, con una probabilidad del 55.79%.