Variable Original: SUBUNIT_NU
Nombre Variable: NUM_SUBUNIDAD
Tipo: Cuantitativa Discreta
Escala: Razón
Justificación de la variable: El número de subunidades indica el tamaño operativo de cada instalación minera. Una mina con más subunidades implica mayor escala de operación, lo que puede relacionarse con mayores niveles de emisiones de CO2, NOx y CH4 por estado.
library(dplyr)
library(gt)
library(e1071)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
NUM_SUBUNIDAD <- as.numeric(datos$SUBUNIT_NU)
NUM_SUBUNIDAD <- NUM_SUBUNIDAD[!is.na(NUM_SUBUNIDAD)]
n <- length(NUM_SUBUNIDAD)
cat("n validos :", n, "\n")
## n validos : 2921
cat("Min :", min(NUM_SUBUNIDAD), "\n")
## Min : 0
cat("Max :", max(NUM_SUBUNIDAD), "\n")
## Max : 4
TDF <- as.data.frame(table(NUM_SUBUNIDAD)) %>%
rename(Valor = NUM_SUBUNIDAD, fi = Freq) %>%
mutate(
Valor = as.numeric(as.character(Valor)),
fri = round(fi / n * 100, 2),
Ni_asc = cumsum(fi),
Ni_des = rev(cumsum(rev(fi))),
Hi_asc = round(cumsum(fri), 2),
Hi_des = round(rev(cumsum(rev(fri))), 2)
)
TDF_total <- TDF %>%
add_row(
Valor = NA,
fi = sum(TDF$fi),
fri = round(sum(TDF$fri), 2),
Ni_asc = max(TDF$Ni_asc),
Ni_des = min(TDF$Ni_des),
Hi_asc = max(TDF$Hi_asc),
Hi_des = min(TDF$Hi_des)
)
TDF_total %>%
mutate(Valor = ifelse(is.na(Valor), "Total", as.character(Valor))) %>%
gt() %>%
tab_header(
title = md("**Tabla 1**"),
subtitle = md("Distribución de frecuencias — SUBUNIT_NU")
) %>%
cols_label(
Valor = "N° Subunidades", fi = "fi",
fri = "fri (%)",
Ni_asc = "Ni Asc.", Ni_des = "Ni Desc.",
Hi_asc = "Hi Asc. %", Hi_des = "Hi Desc. %"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = is.na(Valor))
) %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 1 | ||||||
| Distribución de frecuencias — SUBUNIT_NU | ||||||
| N° Subunidades | fi | fri (%) | Ni Asc. | Ni Desc. | Hi Asc. % | Hi Desc. % |
|---|---|---|---|---|---|---|
| 0 | 106 | 3.63 | 106 | 2921 | 3.63 | 100.00 |
| 1 | 802 | 27.46 | 908 | 2815 | 31.09 | 96.37 |
| 2 | 1134 | 38.82 | 2042 | 2013 | 69.91 | 68.91 |
| 3 | 749 | 25.64 | 2791 | 879 | 95.55 | 30.09 |
| 4 | 130 | 4.45 | 2921 | 130 | 100.00 | 4.45 |
| Total | 2921 | 100.00 | 2921 | 130 | 100.00 | 4.45 |
| Autor: Grupo 4 - Minas | ||||||
par(mar = c(5, 5, 4, 2))
barplot(
TDF_graf$fi,
names.arg = TDF_graf$Valor,
col = "#4472C4",
main = "Gráfica 1: Frecuencia Absoluta — NUM_SUBUNIDAD",
xlab = "Número de subunidades",
ylab = "Frecuencia absoluta (fi)",
cex.names = 1,
cex.axis = 0.9
)
par(mar = c(5, 5, 4, 2))
barplot(
TDF_graf$fri,
names.arg = TDF_graf$Valor,
col = "#AEC6E8",
main = "Gráfica 2: Frecuencia Relativa — NUM_SUBUNIDAD",
xlab = "Número de subunidades",
ylab = "Frecuencia relativa (%)",
ylim = c(0, max(TDF_graf$fri) + 5),
cex.names = 1,
cex.axis = 0.9
)
par(mar = c(5, 5, 4, 2))
plot(
TDF_graf$Valor, TDF_graf$Ni_asc,
type = "b", col = "black", pch = 16, lwd = 1.5,
main = "Gráfica 3: Ojivas Combinadas (Ni) — NUM_SUBUNIDAD",
xlab = "Número de subunidades",
ylab = "Frecuencia acumulada absoluta"
)
lines(TDF_graf$Valor, TDF_graf$Ni_des, type = "b", col = "#4472C4", pch = 16, lwd = 1.5)
legend("right", legend = c("Ascendente","Descendente"),
col = c("black","#4472C4"), lwd = 2, pch = 16, bty = "n")
par(mar = c(5, 5, 4, 2))
plot(
TDF_graf$Valor, TDF_graf$Hi_asc,
type = "b", col = "black", pch = 16, lwd = 1.5,
main = "Gráfica 4: Ojivas Combinadas (Hi) — NUM_SUBUNIDAD",
xlab = "Número de subunidades",
ylab = "Frecuencia acumulada relativa (%)",
ylim = c(0, 105)
)
lines(TDF_graf$Valor, TDF_graf$Hi_des, type = "b", col = "#4472C4", pch = 16, lwd = 1.5)
legend("right", legend = c("Ascendente","Descendente"),
col = c("black","#4472C4"), lwd = 2, pch = 16, bty = "n")
boxplot(
NUM_SUBUNIDAD,
horizontal = TRUE,
col = "#AEC6E8",
border = "#1F4E79",
main = "Gráfica 5: Diagrama de Caja — NUM_SUBUNIDAD",
xlab = "Número de subunidades"
)
media <- mean(NUM_SUBUNIDAD)
mediana <- median(NUM_SUBUNIDAD)
moda <- as.numeric(names(sort(table(NUM_SUBUNIDAD), decreasing = TRUE))[1])
desv <- sd(NUM_SUBUNIDAD)
cv <- desv / media * 100
asim <- skewness(NUM_SUBUNIDAD)
kurt <- kurtosis(NUM_SUBUNIDAD, type = 2) # excedente (normal = 0)
q1 <- quantile(NUM_SUBUNIDAD, 0.25)
q3 <- quantile(NUM_SUBUNIDAD, 0.75)
iqr_val <- q3 - q1
lim_inf <- q1 - 1.5 * iqr_val
lim_sup <- q3 + 1.5 * iqr_val
outs <- NUM_SUBUNIDAD[NUM_SUBUNIDAD < lim_inf | NUM_SUBUNIDAD > lim_sup]
n_outs <- length(outs)
Tabla 2: Indicadores Estadísticos
data.frame(
Indicador = c("Mínimo","Media","Mediana","Moda","Máximo",
"Desviación Estándar","CV (%)","Asimetría (Fisher)","Curtosis (Excedente)"),
Valor = c(
min(NUM_SUBUNIDAD), round(media,4), mediana, moda, max(NUM_SUBUNIDAD),
round(desv,4), round(cv,2), round(asim,4), round(kurt,4)
)
) %>%
gt() %>%
tab_header(
title = md("**Tabla 2**"),
subtitle = md("Indicadores estadísticos — NUM_SUBUNIDAD")
) %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 2 | |
| Indicadores estadísticos — NUM_SUBUNIDAD | |
| Indicador | Valor |
|---|---|
| Mínimo | 0.0000 |
| Media | 1.9983 |
| Mediana | 2.0000 |
| Moda | 2.0000 |
| Máximo | 4.0000 |
| Desviación Estándar | 0.9244 |
| CV (%) | 46.2600 |
| Asimetría (Fisher) | 0.0658 |
| Curtosis (Excedente) | -0.4987 |
| Autor: Grupo 4 - Minas | |
Tabla 3: Outliers
data.frame(
Outliers = n_outs,
Minimo = ifelse(n_outs > 0, min(outs), NA),
Maximo = ifelse(n_outs > 0, max(outs), NA)
) %>%
gt() %>%
tab_header(
title = md("**Tabla 3**"),
subtitle = md("Outliers de NUM_SUBUNIDAD")
) %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 3 | ||
| Outliers de NUM_SUBUNIDAD | ||
| Outliers | Minimo | Maximo |
|---|---|---|
| 0 | NA | NA |
| Autor: Grupo 4 - Minas | ||
conclusion <- sprintf(
"La variable NUM_SUBUNIDAD registra el número total de subunidades operativas de cada instalación minera, con valores entre %d y %d. Se analizaron %d registros válidos. La media es %.4f subunidades y la mediana es %.0f, lo que indica que la mayoría de las instalaciones tienen entre 1 y 2 subunidades. La moda es %.0f, confirmando que ese es el valor más frecuente por mina. El coeficiente de variación de %.2f%% indica una dispersión moderada entre instalaciones. La asimetría de %.4f muestra una distribución %s. Se identificaron %d valores atípicos. Esta variable es relevante para el proyecto porque instalaciones con mayor número de subunidades representan operaciones de mayor escala, lo que puede correlacionarse con mayores niveles de emisiones de CO2, NOx y CH4 por estado.",
min(NUM_SUBUNIDAD), max(NUM_SUBUNIDAD), n, media, mediana, moda, cv, asim,
ifelse(asim > 0, "positiva (cola hacia valores altos)", "negativa (cola hacia valores bajos)"),
n_outs
)
print(conclusion)
## [1] "La variable NUM_SUBUNIDAD registra el número total de subunidades operativas de cada instalación minera, con valores entre 0 y 4. Se analizaron 2921 registros válidos. La media es 1.9983 subunidades y la mediana es 2, lo que indica que la mayoría de las instalaciones tienen entre 1 y 2 subunidades. La moda es 2, confirmando que ese es el valor más frecuente por mina. El coeficiente de variación de 46.26% indica una dispersión moderada entre instalaciones. La asimetría de 0.0658 muestra una distribución positiva (cola hacia valores altos). Se identificaron 0 valores atípicos. Esta variable es relevante para el proyecto porque instalaciones con mayor número de subunidades representan operaciones de mayor escala, lo que puede correlacionarse con mayores niveles de emisiones de CO2, NOx y CH4 por estado."