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_estado <- data.frame(
codigo = trimws(as.character(datos$STAT_CODE))
)
# Reemplazar categorias
df_estado$estado <- case_when(
df_estado$codigo == "A" ~ "Activa",
df_estado$codigo == "B" ~ "Temp. Inactiva",
df_estado$codigo == "C" ~ "Cerrada",
df_estado$codigo == "F" ~ "Inactiva Perm.",
df_estado$codigo == "1" ~ "Activa Carbon",
df_estado$codigo == "2" ~ "Temp. Inactiva Carbon",
df_estado$codigo == "3" ~ "Cerrada Carbon",
TRUE ~ "Sin registro"
)
# Orden de categorias
orden_estado <- c(
"Activa", "Temp. Inactiva", "Cerrada", "Inactiva Perm.",
"Activa Carbon", "Temp. Inactiva Carbon", "Cerrada Carbon",
"Sin registro"
)
# Convertir en factor
df_estado$estado <- factor(
df_estado$estado,
levels = orden_estado
)
Tabla de Distribución
de Probabilidad
# Frecuencias y probabilidades
ni <- table(df_estado$estado)
hi <- round(prop.table(ni), 4)
P <- round(hi * 100, 2)
# Crear tabla base
tabla_final <- data.frame(
Estado = names(ni),
ni = as.numeric(ni),
hi = as.numeric(hi),
P = as.numeric(P)
)
# Fila TOTAL
fila_total <- data.frame(
Estado = "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
## Estado ni hi P
## 1 Activa 1198 0.3999 39.99
## 2 Temp. Inactiva 202 0.0674 6.74
## 3 Cerrada 277 0.0925 9.25
## 4 Inactiva Perm. 44 0.0147 1.47
## 5 Activa Carbon 688 0.2296 22.96
## 6 Temp. Inactiva Carbon 471 0.1572 15.72
## 7 Cerrada Carbon 42 0.0140 1.40
## 8 Sin registro 74 0.0247 2.47
## 9 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 estado operativo de las minas 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 = Estado == "TOTAL")
)
| Tabla N° 1 |
| Distribución de probabilidad del estado operativo de las minas en Estados Unidos |
| Estado |
ni |
hi |
P |
| Activa |
1198 |
0.3999 |
39.99 |
| Temp. Inactiva |
202 |
0.0674 |
6.74 |
| Cerrada |
277 |
0.0925 |
9.25 |
| Inactiva Perm. |
44 |
0.0147 |
1.47 |
| Activa Carbon |
688 |
0.2296 |
22.96 |
| Temp. Inactiva Carbon |
471 |
0.1572 |
15.72 |
| Cerrada Carbon |
42 |
0.0140 |
1.40 |
| 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$Estado != "TOTAL"])
Hi <- round(cumsum(tabla_final$hi[tabla_final$Estado != "TOTAL"]), 4)
Pi <- round(cumsum(tabla_final$P[tabla_final$Estado != "TOTAL"]), 2)
# Tabla agrupada
tabla_agrupada <- data.frame(
Estado = tabla_final$Estado[tabla_final$Estado != "TOTAL"],
ni = tabla_final$ni[tabla_final$Estado != "TOTAL"],
hi = tabla_final$hi[tabla_final$Estado != "TOTAL"],
P = tabla_final$P[tabla_final$Estado != "TOTAL"],
Ni = Ni,
Hi = Hi,
Pi = Pi
)
tabla_agrupada
## Estado ni hi P Ni Hi Pi
## 1 Activa 1198 0.3999 39.99 1198 0.3999 39.99
## 2 Temp. Inactiva 202 0.0674 6.74 1400 0.4673 46.73
## 3 Cerrada 277 0.0925 9.25 1677 0.5598 55.98
## 4 Inactiva Perm. 44 0.0147 1.47 1721 0.5745 57.45
## 5 Activa Carbon 688 0.2296 22.96 2409 0.8041 80.41
## 6 Temp. Inactiva Carbon 471 0.1572 15.72 2880 0.9613 96.13
## 7 Cerrada Carbon 42 0.0140 1.40 2922 0.9753 97.53
## 8 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 estados operativos")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 4 - Minas")
)
| Tabla N° 2 |
| Distribución acumulada de probabilidad de los estados operativos |
| Estado |
ni |
hi |
P |
Ni |
Hi |
Pi |
| Activa |
1198 |
0.3999 |
39.99 |
1198 |
0.3999 |
39.99 |
| Temp. Inactiva |
202 |
0.0674 |
6.74 |
1400 |
0.4673 |
46.73 |
| Cerrada |
277 |
0.0925 |
9.25 |
1677 |
0.5598 |
55.98 |
| Inactiva Perm. |
44 |
0.0147 |
1.47 |
1721 |
0.5745 |
57.45 |
| Activa Carbon |
688 |
0.2296 |
22.96 |
2409 |
0.8041 |
80.41 |
| Temp. Inactiva Carbon |
471 |
0.1572 |
15.72 |
2880 |
0.9613 |
96.13 |
| Cerrada Carbon |
42 |
0.0140 |
1.40 |
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 estado\noperativo de las minas en Estados Unidos",
cex.main = 0.8,
xlab = "",
ylab = "Probabilidad (%)",
col = "green",
names.arg = tabla_final$Estado[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$Estado != "TOTAL",
]
# Extraer probabilidad de Activa
prob_activa <- tabla_sin_total$P[
tabla_sin_total$Estado == "Activa"
]
# 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 se\n",
"encuentre en estado Activa?\n\n",
"Probabilidad = ", prob_activa, " (%)"
),
cex = 1.3,
col = "black",
font = 2
)

Conclusiones
conclusion <- sprintf(
"El estado operativo de las minas presenta una distribución probabilística heterogénea dentro de las instalaciones analizadas en Estados Unidos. El estado %s registra la mayor probabilidad de ocurrencia, indicando que la mayor parte de las instalaciones registradas se encuentran en ese estado operativo. 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 estados operativos analizados.",
tabla_final$Estado[which.max(tabla_final$ni[tabla_final$Estado != "TOTAL"])]
)
print(conclusion)
## [1] "El estado operativo de las minas presenta una distribución probabilística heterogénea dentro de las instalaciones analizadas en Estados Unidos. El estado Activa registra la mayor probabilidad de ocurrencia, indicando que la mayor parte de las instalaciones registradas se encuentran en ese estado operativo. 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 estados operativos analizados."