Carga de Datos y
Librerías
library(dplyr)
library(stringr)
library(gt)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
cat("Datos cargados correctamente\n")
## Datos cargados correctamente
cat("Numero de observaciones:", nrow(datos), "\n")
## Numero de observaciones: 2996
# Extraer variable
df_tipo <- data.frame(
codigo = trimws(as.character(datos$MINE_TYPE))
)
# Reemplazar categorias
df_tipo$tipo <- case_when(
df_tipo$codigo == "1" ~ "Underground",
df_tipo$codigo == "2" ~ "Surface",
df_tipo$codigo == "3" ~ "Strip",
df_tipo$codigo == "4" ~ "Auger",
df_tipo$codigo == "5" ~ "Culm/Refuse",
df_tipo$codigo == "6" ~ "Dredge",
df_tipo$codigo == "10" ~ "In Situ",
df_tipo$codigo == "11" ~ "Mill/Prep Plant",
df_tipo$codigo == "12" ~ "Shops/Yards",
TRUE ~ "Sin registro"
)
# Orden de categorias
orden_tipo <- c(
"Underground", "Surface", "Strip", "Auger",
"Culm/Refuse", "Dredge", "In Situ",
"Mill/Prep Plant", "Shops/Yards", "Sin registro"
)
# Convertir en factor
df_tipo$tipo <- factor(
df_tipo$tipo,
levels = orden_tipo
)
Tabla de Distribución
de Probabilidad
# Frecuencias y probabilidades
ni <- table(df_tipo$tipo)
hi <- round(prop.table(ni), 4)
P <- round(hi * 100, 2)
# Crear tabla base
tabla_final <- data.frame(
Tipo = names(ni),
ni = as.numeric(ni),
hi = as.numeric(hi),
P = as.numeric(P)
)
# Fila TOTAL
fila_total <- data.frame(
Tipo = "TOTAL",
ni = sum(tabla_final$ni),
hi = round(sum(tabla_final$hi), 4),
P = round(sum(tabla_final$P), 2)
)
# Agregar TOTAL
tabla_final <- rbind(
tabla_final,
fila_total
)
tabla_final
## Tipo ni hi P
## 1 Underground 69 0.0230 2.30
## 2 Surface 19 0.0063 0.63
## 3 Strip 4 0.0013 0.13
## 4 Auger 104 0.0347 3.47
## 5 Culm/Refuse 366 0.1222 12.22
## 6 Dredge 634 0.2116 21.16
## 7 In Situ 5 0.0017 0.17
## 8 Mill/Prep Plant 757 0.2527 25.27
## 9 Shops/Yards 964 0.3218 32.18
## 10 Sin registro 74 0.0247 2.47
## 11 TOTAL 2996 1.0000 100.00
# Tabla gt
tabla_final %>%
gt() %>%
tab_header(
title = md("**Tabla N° 1**"),
subtitle = md("Distribución de probabilidad del tipo de mina en Estados Unidos")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 4 - Minas")
) %>%
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 == "TOTAL")
)
| Tabla N° 1 |
| Distribución de probabilidad del tipo de mina en Estados Unidos |
| Tipo |
ni |
hi |
P |
| Underground |
69 |
0.0230 |
2.30 |
| Surface |
19 |
0.0063 |
0.63 |
| Strip |
4 |
0.0013 |
0.13 |
| Auger |
104 |
0.0347 |
3.47 |
| Culm/Refuse |
366 |
0.1222 |
12.22 |
| Dredge |
634 |
0.2116 |
21.16 |
| In Situ |
5 |
0.0017 |
0.17 |
| Mill/Prep Plant |
757 |
0.2527 |
25.27 |
| Shops/Yards |
964 |
0.3218 |
32.18 |
| Sin registro |
74 |
0.0247 |
2.47 |
| TOTAL |
2996 |
1.0000 |
100.00 |
| Autor: Grupo 4 - Minas |
Tabla de Distribución
de Probabilidad Agrupada
# Frecuencias acumuladas
Ni <- cumsum(tabla_final$ni[tabla_final$Tipo != "TOTAL"])
Hi <- round(cumsum(tabla_final$hi[tabla_final$Tipo != "TOTAL"]), 4)
Pi <- round(cumsum(tabla_final$P[tabla_final$Tipo != "TOTAL"]), 2)
# Tabla agrupada
tabla_agrupada <- data.frame(
Tipo = tabla_final$Tipo[tabla_final$Tipo != "TOTAL"],
ni = tabla_final$ni[tabla_final$Tipo != "TOTAL"],
hi = tabla_final$hi[tabla_final$Tipo != "TOTAL"],
P = tabla_final$P[tabla_final$Tipo != "TOTAL"],
Ni = Ni,
Hi = Hi,
Pi = Pi
)
tabla_agrupada
## Tipo ni hi P Ni Hi Pi
## 1 Underground 69 0.0230 2.30 69 0.0230 2.30
## 2 Surface 19 0.0063 0.63 88 0.0293 2.93
## 3 Strip 4 0.0013 0.13 92 0.0306 3.06
## 4 Auger 104 0.0347 3.47 196 0.0653 6.53
## 5 Culm/Refuse 366 0.1222 12.22 562 0.1875 18.75
## 6 Dredge 634 0.2116 21.16 1196 0.3991 39.91
## 7 In Situ 5 0.0017 0.17 1201 0.4008 40.08
## 8 Mill/Prep Plant 757 0.2527 25.27 1958 0.6535 65.35
## 9 Shops/Yards 964 0.3218 32.18 2922 0.9753 97.53
## 10 Sin registro 74 0.0247 2.47 2996 1.0000 100.00
# Tabla agrupada gt
tabla_agrupada %>%
gt() %>%
tab_header(
title = md("**Tabla N° 2**"),
subtitle = md("Distribución acumulada de probabilidad de los tipos de mina")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 4 - Minas")
)
| Tabla N° 2 |
| Distribución acumulada de probabilidad de los tipos de mina |
| Tipo |
ni |
hi |
P |
Ni |
Hi |
Pi |
| Underground |
69 |
0.0230 |
2.30 |
69 |
0.0230 |
2.30 |
| Surface |
19 |
0.0063 |
0.63 |
88 |
0.0293 |
2.93 |
| Strip |
4 |
0.0013 |
0.13 |
92 |
0.0306 |
3.06 |
| Auger |
104 |
0.0347 |
3.47 |
196 |
0.0653 |
6.53 |
| Culm/Refuse |
366 |
0.1222 |
12.22 |
562 |
0.1875 |
18.75 |
| Dredge |
634 |
0.2116 |
21.16 |
1196 |
0.3991 |
39.91 |
| In Situ |
5 |
0.0017 |
0.17 |
1201 |
0.4008 |
40.08 |
| Mill/Prep Plant |
757 |
0.2527 |
25.27 |
1958 |
0.6535 |
65.35 |
| Shops/Yards |
964 |
0.3218 |
32.18 |
2922 |
0.9753 |
97.53 |
| Sin registro |
74 |
0.0247 |
2.47 |
2996 |
1.0000 |
100.00 |
| Autor: Grupo 4 - Minas |
Gráficas de
Distribución de Probabilidad
# Extraer probabilidades sin TOTAL
P_global <- as.numeric(
tabla_final$P[1:(nrow(tabla_final)-1)]
)
# Gráfico de barras
par(mar = c(8, 5, 4, 2))
barplot(
P_global,
main = "Gráfica N°1: Distribución de probabilidad del\ntipo de mina en Estados Unidos",
cex.main = 0.8,
xlab = "",
ylab = "Probabilidad (%)",
col = "green",
names.arg = tabla_final$Tipo[1:(nrow(tabla_final)-1)],
cex.names = 0.8,
ylim = c(0, 100),
las = 2
)

Cálculo de
Probabilidad
# Eliminar fila TOTAL
tabla_sin_total <- tabla_final[
tabla_final$Tipo != "TOTAL",
]
# Extraer probabilidad de Mill/Prep Plant
prob_mill <- tabla_sin_total$P[
tabla_sin_total$Tipo == "Mill/Prep Plant"
]
# Gráfico explicativo
plot(
1,
type = "n",
axes = FALSE,
xlab = "",
ylab = ""
)
text(
x = 1,
y = 1,
labels = paste0(
"Cálculo de probabilidad\n(Estimación general)\n\n",
"¿Qué probabilidad existe de que una instalación\n",
"minera registrada en Estados Unidos sea del\n",
"tipo Mill/Prep Plant?\n\n",
"Probabilidad = ", prob_mill, " (%)"
),
cex = 1.3,
col = "black",
font = 2
)

Conclusiones
conclusion <- sprintf(
"El tipo de mina presenta una distribución probabilística heterogénea dentro de las instalaciones analizadas en Estados Unidos. El tipo %s registra una de las mayores probabilidades de ocurrencia, reflejando su amplio uso en la actividad minera nacional. La distribución acumulada permite observar el comportamiento progresivo de las probabilidades entre categorías, mientras que las gráficas evidencian diferencias importantes entre los tipos de mina analizados.",
tabla_final$Tipo[which.max(tabla_final$ni[tabla_final$Tipo != "TOTAL"])]
)
print(conclusion)
## [1] "El tipo de mina presenta una distribución probabilística heterogénea dentro de las instalaciones analizadas en Estados Unidos. El tipo Shops/Yards registra una de las mayores probabilidades de ocurrencia, reflejando su amplio uso en la actividad minera nacional. La distribución acumulada permite observar el comportamiento progresivo de las probabilidades entre categorías, mientras que las gráficas evidencian diferencias importantes entre los tipos de mina analizados."