ANÁLISIS ESTADÍSTICO
CARGA DE DATOS Y LIBRERÍAS
CARGA DE DATOS
#Limpiar entorno
rm(list = ls())
#Cargar librerías
if (!require("readr")) install.packages("readr")
if (!require("dplyr")) install.packages("dplyr")
if (!require("knitr")) install.packages("knitr")
if (!require("moments")) install.packages("moments")
library(readr)
library(dplyr)
library(knitr)
library(moments)
#Cargar datos
ruta <- "D:/contenido_cobre_2500_registros.csv"
datos <- read_csv(ruta)
cat("✓ Datos cargados exitosamente\n")
## ✓ Datos cargados exitosamente
cat("✓ Dimensiones:", nrow(datos), "observaciones\n")
## ✓ Dimensiones: 2500 observaciones
TABLA DE DISTRIBUCION DE PARAMETROS POR STURGES
# Parámetros de Sturges
R <- max(CONTENIDO_COBRE_PORCENTAJE) - min(CONTENIDO_COBRE_PORCENTAJE)
k <- floor(1 + 3.3 * log10(n))
A <- R / k
parametros_sturges <- data.frame(
Parámetro = c("Rango (R)",
"Número de datos (n)",
"Número de intervalos (k)",
"Amplitud de clase (A)"),
Valor = c(round(R, 4), n, k, round(A, 4))
)
kable(parametros_sturges,
caption = "Tabla 1: Parámetros de Sturges para la variable Contenido de Cobre (%)"
)
Tabla 1: Parámetros de Sturges para la variable Contenido de
Cobre (%)
| Rango (R) |
4.9460 |
| Número de datos (n) |
2500.0000 |
| Número de intervalos (k) |
12.0000 |
| Amplitud de clase (A) |
0.4122 |
# Intervalos y frecuencias
Li <- seq(min(CONTENIDO_COBRE_PORCENTAJE), max(CONTENIDO_COBRE_PORCENTAJE) - A, by = A)
Ls <- seq(min(CONTENIDO_COBRE_PORCENTAJE) + A, max(CONTENIDO_COBRE_PORCENTAJE), by = A)
MC <- (Li + Ls) / 2
ni <- numeric(k)
for (i in 1:k) {
if (i == k) {
ni[i] <- sum(CONTENIDO_COBRE_PORCENTAJE >= Li[i] & CONTENIDO_COBRE_PORCENTAJE <= Ls[i])
} else {
ni[i] <- sum(CONTENIDO_COBRE_PORCENTAJE >= Li[i] & CONTENIDO_COBRE_PORCENTAJE < Ls[i])
}
}
hi <- round((ni / n) * 100, 2)
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- round(cumsum(hi), 2)
Hidsc <- round(rev(cumsum(rev(hi))), 2)
TDF <- data.frame(
Clase = 1:k,
Li = round(Li, 2),
Ls = round(Ls, 2),
MC = round(MC, 2),
ni = ni,
hi = hi,
Niasc = Niasc,
Nidsc = Nidsc,
Hiasc = Hiasc,
Hidsc = Hidsc
)
kable(TDF,
caption = "Tabla 2: Distribución de frecuencias de Contenido de Cobre (%)")
Tabla 2: Distribución de frecuencias de Contenido de Cobre
(%)
| 1 |
0.05 |
0.47 |
0.26 |
1263 |
50.52 |
1263 |
2500 |
50.52 |
100.00 |
| 2 |
0.47 |
0.88 |
0.67 |
703 |
28.12 |
1966 |
1237 |
78.64 |
49.48 |
| 3 |
0.88 |
1.29 |
1.08 |
249 |
9.96 |
2215 |
534 |
88.60 |
21.36 |
| 4 |
1.29 |
1.70 |
1.50 |
143 |
5.72 |
2358 |
285 |
94.32 |
11.40 |
| 5 |
1.70 |
2.11 |
1.91 |
49 |
1.96 |
2407 |
142 |
96.28 |
5.68 |
| 6 |
2.11 |
2.53 |
2.32 |
38 |
1.52 |
2445 |
93 |
97.80 |
3.72 |
| 7 |
2.53 |
2.94 |
2.73 |
21 |
0.84 |
2466 |
55 |
98.64 |
2.20 |
| 8 |
2.94 |
3.35 |
3.15 |
13 |
0.52 |
2479 |
34 |
99.16 |
1.36 |
| 9 |
3.35 |
3.76 |
3.56 |
10 |
0.40 |
2489 |
21 |
99.56 |
0.84 |
| 10 |
3.76 |
4.18 |
3.97 |
5 |
0.20 |
2494 |
11 |
99.76 |
0.44 |
| 11 |
4.18 |
4.59 |
4.38 |
3 |
0.12 |
2497 |
6 |
99.88 |
0.24 |
| 12 |
4.59 |
5.00 |
4.79 |
3 |
0.12 |
2500 |
3 |
100.00 |
0.12 |
intervalos <- paste(round(Li, 2), round(Ls, 2), sep = " - ")
intervalos_resumen <- paste(
round(Li, 0),
round(Ls, 0),
sep = " a "
)
Debido a que los límites de clase obtenidos mediante la regla de
Sturges presentan números decimales difíciles de interpretar
visualmente.
h <- hist(CONTENIDO_COBRE_PORCENTAJE,
breaks = k,
plot = FALSE)
Li <- head(h$breaks, -1)
Ls <- tail(h$breaks, -1)
ni <- h$counts
n <- sum(ni)
hi <- round(ni/n*100, 2)
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- round(cumsum(hi), 2)
Hidsc <- round(rev(cumsum(rev(hi))), 2)
MC <- h$mids
TDF <- data.frame(
Clase = seq_along(ni),
Li = round(Li, 2),
Ls = round(Ls, 2),
MC = round(MC, 2),
ni = ni,
hi = hi,
Niasc = Niasc,
Nidsc = Nidsc,
Hiasc = Hiasc,
Hidsc = Hidsc
)
kable(
TDF,
caption = "Tabla 2: Distribución de frecuencias resumen"
)
Tabla 2: Distribución de frecuencias resumen
| 1 |
0.0 |
0.5 |
0.25 |
1349 |
53.96 |
1349 |
2500 |
53.96 |
100.00 |
| 2 |
0.5 |
1.0 |
0.75 |
719 |
28.76 |
2068 |
1151 |
82.72 |
46.04 |
| 3 |
1.0 |
1.5 |
1.25 |
248 |
9.92 |
2316 |
432 |
92.64 |
17.28 |
| 4 |
1.5 |
2.0 |
1.75 |
79 |
3.16 |
2395 |
184 |
95.80 |
7.36 |
| 5 |
2.0 |
2.5 |
2.25 |
47 |
1.88 |
2442 |
105 |
97.68 |
4.20 |
| 6 |
2.5 |
3.0 |
2.75 |
24 |
0.96 |
2466 |
58 |
98.64 |
2.32 |
| 7 |
3.0 |
3.5 |
3.25 |
19 |
0.76 |
2485 |
34 |
99.40 |
1.36 |
| 8 |
3.5 |
4.0 |
3.75 |
6 |
0.24 |
2491 |
15 |
99.64 |
0.60 |
| 9 |
4.0 |
4.5 |
4.25 |
5 |
0.20 |
2496 |
9 |
99.84 |
0.36 |
| 10 |
4.5 |
5.0 |
4.75 |
4 |
0.16 |
2500 |
4 |
100.00 |
0.16 |
GRAFICAS DE DISTRIBUCION DE CANTIDAD
# Histograma 1 (Ajuste estándar / normal)
hist(CONTENIDO_COBRE_PORCENTAJE,
breaks = k,
col = "sienna2",
main = "Gráfica 1: Distribución de cantidad de contenido de cobre\nen depósitos minerales",
xlab = "Contenido de Cobre (%)",
ylab = "Frecuencia")

# Histograma 2 (Con margen superior ampliado)
hist(CONTENIDO_COBRE_PORCENTAJE,
breaks = k,
col = "chocolate",
ylim = c(0, max(ni)*1.2),
main = "Gráfica 2: Distribución global del contenido de cobre\nen depósitos minerales",
xlab = "Contenido de Cobre (%)",
ylab = "Frecuencia")

# Calcular media y mediana
media_rel <- mean(CONTENIDO_COBRE_PORCENTAJE)
mediana_rel <- median(CONTENIDO_COBRE_PORCENTAJE)
# Histograma porcentaje
h <- hist(CONTENIDO_COBRE_PORCENTAJE,
breaks = k,
plot = FALSE)
porcentaje <- h$counts / sum(h$counts) * 100
par(mar = c(7,4,4,2))
barplot(
porcentaje,
names.arg = paste(round(head(h$breaks,-1),2),
round(tail(h$breaks,-1),2),
sep = "-"),
col = "sienna",
ylim = c(0, max(porcentaje)*1.15),
ylab = "Frecuencia Relativa (%)",
main = "Gráfica 3: Distribución porcentual del contenido de cobre\nen depósitos minerales",
las = 2,
space = 0,
border = "white"
)
title(
xlab = "Contenido de Cobre (%)",
line = 5.5
)

# Calcular media y mediana
media_rel_global <- mean(CONTENIDO_COBRE_PORCENTAJE)
mediana_rel_global <- median(CONTENIDO_COBRE_PORCENTAJE)
# Histograma sin dibujar
h <- hist(CONTENIDO_COBRE_PORCENTAJE,
breaks = k,
plot = FALSE)
# Frecuencia relativa (%)
hi <- h$counts / sum(h$counts) * 100
# Etiquetas de intervalos
intervalos_graf <- paste(
round(head(h$breaks,-1), 2),
round(tail(h$breaks,-1), 2),
sep = " - "
)
par(mar = c(7,4,4,2))
barplot(
hi,
names.arg = intervalos_graf,
col = "sandybrown",
ylim = c(0, 100),
cex.names = 0.7,
space = 0,
ylab = "Frecuencia Relativa (%)",
xlab = "",
main = "Gráfica 4: Distribución de cantidad en porcentaje del\ncontenido de cobre en depósitos minerales",
las = 2,
border = "white"
)
title(
xlab = "Intervalos de Contenido de Cobre (%)",
line = 6
)

# Histograma con polígono
histograma <- hist(
CONTENIDO_COBRE_PORCENTAJE,
breaks = h$breaks,
col = rgb(0.82, 0.41, 0.12, 0.6),
border = "black",
main = "Gráfica Nº5: Histograma con polígono de frecuencias\ndel contenido de cobre en depósitos minerales",
xlab = "Contenido de Cobre (%)",
ylab = "Cantidad"
)
# Polígono de frecuencias
lines(
histograma$mids,
histograma$counts,
type = "o",
pch = 16,
lwd = 2,
col = "saddlebrown"
)

# Ojiva de Frecuencias Absolutas Acumuladas
plot(Ls, Niasc,
type = "o",
pch = 16,
col = "blue",
main = "Gráfica 6: Ojiva de Frecuencias Absolutas Acumuladas\nde los depósitos por Contenido de Cobre (%)",
xlab = "Contenido de Cobre (%)",
ylab = "Frecuencia Acumulada Absoluta (Ni)")
lines(Ls, Nidsc,
type = "o",
pch = 16,
col = "red")
legend("topleft",
c("Ni Ascendente", "Ni Descendente"),
col = c("blue", "red"),
pch = 16)

# Ojiva de Frecuencias Relativas Acumuladas
plot(Ls, Hiasc,
type = "o",
pch = 16,
col = "blue",
main = "Gráfica 7: Ojiva de Frecuencias Relativas Acumuladas\nde los depósitos por Contenido de Cobre (%)",
xlab = "Contenido de Cobre (%)",
ylab = "Frecuencia Acumulada Relativa (%)")
lines(Ls, Hidsc,
type = "o",
pch = 16,
col = "red")
legend("bottomright",
c("Hi Ascendente", "Hi Descendente"),
col = c("blue", "red"),
pch = 16)

# Calcular todas las variables necesarias para el boxplot
media_box <- mean(CONTENIDO_COBRE_PORCENTAJE)
mediana_box <- median(CONTENIDO_COBRE_PORCENTAJE)
Q1_box <- quantile(CONTENIDO_COBRE_PORCENTAJE, 0.25)
Q3_box <- quantile(CONTENIDO_COBRE_PORCENTAJE, 0.75)
IQR_box <- IQR(CONTENIDO_COBRE_PORCENTAJE)
# Calcular outliers
lim_inf_outlier_box <- Q1_box - 1.5 * IQR_box
lim_sup_outlier_box <- Q3_box + 1.5 * IQR_box
outliers_box <- CONTENIDO_COBRE_PORCENTAJE[CONTENIDO_COBRE_PORCENTAJE < lim_inf_outlier_box | CONTENIDO_COBRE_PORCENTAJE > lim_sup_outlier_box]
n_outliers_box <- length(outliers_box)
boxplot(CONTENIDO_COBRE_PORCENTAJE,
horizontal = TRUE,
col = "sandybrown",
main = "Gráfica 7: Distribución del Contenido de Cobre (%)\ncon detección de valores atípicos",
xlab = "Contenido de Cobre (%)",
ylab = "",
border = "saddlebrown")
# Añadir estadísticos importantes
points(media_box, 1, pch = 23, bg = "red", cex = 1.2)
legend("topright",
legend = c(paste("Media:", round(media_box, 4)),
paste("Mediana:", round(mediana_box, 4)),
paste("Q1:", round(Q1_box, 4)),
paste("Q3:", round(Q3_box, 4)),
paste("Outliers:", n_outliers_box)),
bty = "n",
cex = 0.8)

# Ver resumen estadístico
summary(CONTENIDO_COBRE_PORCENTAJE)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0540 0.2939 0.4616 0.6612 0.7976 5.0000
# Histograma con diagrama de caja superpuesto
hist(
CONTENIDO_COBRE_PORCENTAJE,
breaks = h$breaks,
col = "lightgray",
border = "white",
main = "Gráfica Nº8: Histograma con diagrama de caja superpuesto\ndel contenido de cobre en depósitos minerales",
xlab = "Contenido de Cobre (%)",
ylab = "Cantidad"
)
boxplot(
CONTENIDO_COBRE_PORCENTAJE,
horizontal = TRUE,
at = par("usr")[4] * 0.70,
add = TRUE,
xaxt = "n",
yaxt = "n",
boxwex = par("usr")[4] * 0.30,
col = rgb(0.9, 0.5, 0.2, 0.4),
border = "saddlebrown"
)

INDICADORES ESTADISTICOS Y OUTLIERS
# Calcular indicadores de tendencia central
minimo <- min(CONTENIDO_COBRE_PORCENTAJE)
maximo <- max(CONTENIDO_COBRE_PORCENTAJE)
rango <- maximo - minimo
media <- mean(CONTENIDO_COBRE_PORCENTAJE)
mediana <- median(CONTENIDO_COBRE_PORCENTAJE)
moda <- as.numeric(names(sort(table(CONTENIDO_COBRE_PORCENTAJE), decreasing = TRUE)[1]))
# Crear tabla
tendencia_central <- data.frame(
Indicador = c("Mínimo", "Media", "Mediana", "Moda", "Máximo", "Rango"),
Valor = c(
round(minimo, 4),
round(media, 4),
round(mediana, 4),
round(moda, 4),
round(maximo, 4),
round(rango, 4)
),
Unidad = rep("%", 6),
Interpretación = c(
"Valor mínimo observado",
"Promedio de todos los valores",
"Valor que divide la muestra en dos partes iguales",
"Valor más frecuente en la muestra",
"Valor máximo observado",
"Diferencia entre el máximo y el mínimo"
)
)
kable(tendencia_central,
caption = "Tabla 3: Indicadores de Tendencia Central para la variable CONTENIDO_COBRE_PORCENTAJE",
align = "l")
Tabla 3: Indicadores de Tendencia Central para la variable
CONTENIDO_COBRE_PORCENTAJE
| Mínimo |
0.0540 |
% |
Valor mínimo observado |
| Media |
0.6612 |
% |
Promedio de todos los valores |
| Mediana |
0.4616 |
% |
Valor que divide la muestra en dos partes iguales |
| Moda |
1.3000 |
% |
Valor más frecuente en la muestra |
| Máximo |
5.0000 |
% |
Valor máximo observado |
| Rango |
4.9460 |
% |
Diferencia entre el máximo y el mínimo |
# Calcular indicadores de dispersión
varianza <- var(CONTENIDO_COBRE_PORCENTAJE)
desv_est <- sd(CONTENIDO_COBRE_PORCENTAJE)
CV <- (desv_est / media) * 100
# Interpretación del CV
if(CV < 15) {
interpretacion_CV <- "BAJA (CV < 15%)"
} else if(CV < 30) {
interpretacion_CV <- "MODERADA (15% ≤ CV < 30%)"
} else {
interpretacion_CV <- "ALTA (CV ≥ 30%)"
}
# Crear tabla
dispersion <- data.frame(
Indicador = c("Varianza", "Desviación Estándar", "Coeficiente de Variación"),
Valor = c(
round(varianza, 4),
round(desv_est, 4),
paste0(round(CV, 2), "%")
),
Unidad = c("%²", "%", ""),
Interpretación = c(
"Medida de dispersión al cuadrado",
"Dispersión promedio respecto a la media",
paste("Dispersión relativa:", interpretacion_CV)
)
)
kable(dispersion,
caption = "Tabla 4: Indicadores de Dispersión para la variable CONTENIDO_COBRE_PORCENTAJE",
align = "l")
Tabla 4: Indicadores de Dispersión para la variable
CONTENIDO_COBRE_PORCENTAJE
| Varianza |
0.3601 |
%² |
Medida de dispersión al cuadrado |
| Desviación Estándar |
0.6001 |
% |
Dispersión promedio respecto a la media |
| Coeficiente de Variación |
90.76% |
|
Dispersión relativa: ALTA (CV ≥ 30%) |
# Calcular indicadores de posición
cuartiles <- quantile(CONTENIDO_COBRE_PORCENTAJE)
Q1 <- cuartiles[2]
Q2 <- cuartiles[3]
Q3 <- cuartiles[4]
IQR_val <- IQR(CONTENIDO_COBRE_PORCENTAJE)
# Detección de outliers
lim_inf_outlier <- Q1 - 1.5 * IQR_val
lim_sup_outlier <- Q3 + 1.5 * IQR_val
outliers <- CONTENIDO_COBRE_PORCENTAJE[CONTENIDO_COBRE_PORCENTAJE < lim_inf_outlier | CONTENIDO_COBRE_PORCENTAJE > lim_sup_outlier]
n_outliers <- length(outliers)
porc_outliers <- round((n_outliers / n) * 100, 2)
# Crear tabla
posicion <- data.frame(
Indicador = c("Cuartil 1 (Q1)", "Cuartil 2 (Q2 - Mediana)", "Cuartil 3 (Q3)",
"Rango Intercuartílico (IQR)", "Límite Inferior Outliers",
"Límite Superior Outliers", "Número de Outliers"),
Valor = c(
round(Q1, 4),
round(Q2, 4),
round(Q3, 4),
round(IQR_val, 4),
round(lim_inf_outlier, 4),
round(lim_sup_outlier, 4),
paste0(n_outliers, " (", porc_outliers, "%)")
),
Unidad = c(rep("%", 6), "observaciones"),
Interpretación = c(
"25% de datos por debajo de este valor",
"50% de datos por debajo de este valor (coincide con mediana)",
"75% de datos por debajo de este valor",
"Rango del 50% central de datos (Q3 - Q1)",
"Límite inferior para detección de valores atípicos",
"Límite superior para detección de valores atípicos",
"Cantidad y porcentaje de valores atípicos detectados"
)
)
kable(posicion,
caption = "Tabla 5: Indicadores de Posición y detección de outliers en CONTENIDO_COBRE_PORCENTAJE",
align = "l")
Tabla 5: Indicadores de Posición y detección de outliers en
CONTENIDO_COBRE_PORCENTAJE
| Cuartil 1 (Q1) |
0.2939 |
% |
25% de datos por debajo de este valor |
| Cuartil 2 (Q2 - Mediana) |
0.4616 |
% |
50% de datos por debajo de este valor (coincide con
mediana) |
| Cuartil 3 (Q3) |
0.7976 |
% |
75% de datos por debajo de este valor |
| Rango Intercuartílico (IQR) |
0.5037 |
% |
Rango del 50% central de datos (Q3 - Q1) |
| Límite Inferior Outliers |
-0.4617 |
% |
Límite inferior para detección de valores atípicos |
| Límite Superior Outliers |
1.5532 |
% |
Límite superior para detección de valores atípicos |
| Número de Outliers |
174 (6.96%) |
observaciones |
Cantidad y porcentaje de valores atípicos
detectados |
# Calcular coeficiente de asimetría de Fisher
asimetria <- moments::skewness(CONTENIDO_COBRE_PORCENTAJE)
if(abs(asimetria) < 0.5) {
interpretacion_asimetria <- "Distribución simétrica"
} else if(asimetria > 0) {
interpretacion_asimetria <- "Asimetría positiva (sesgo a la derecha)"
} else {
interpretacion_asimetria <- "Asimetría negativa (sesgo a la izquierda)"
}
# Curtosis
curtosis <- moments::kurtosis(CONTENIDO_COBRE_PORCENTAJE) - 3
if(abs(curtosis) < 0.5) {
interpretacion_curtosis <- "Distribución mesocúrtica (normal)"
} else if(curtosis > 0) {
interpretacion_curtosis <- "Distribución leptocúrtica (picuda)"
} else {
interpretacion_curtosis <- "Distribución platicúrtica (aplanada)"
}
# Crear tabla
forma <- data.frame(
Indicador = c("Coeficiente de Asimetría (Fisher)", "Interpretación Asimetría",
"Coeficiente de Curtosis (Exceso)", "Interpretación Curtosis"),
Valor = c(
round(asimetria, 4),
interpretacion_asimetria,
round(curtosis, 4),
interpretacion_curtosis
),
Fórmula = c(
"g₁ = E[(X-μ)³]/σ³",
"|g₁| < 0.5: Simétrica; g₁ > 0: Positiva; g₁ < 0: Negativa",
"g₂ = E[(X-μ)⁴]/σ⁴ - 3",
"|g₂| < 0.5: Mesocúrtica; g₂ > 0: Leptocúrtica; g₂ < 0: Platicúrtica"
)
)
kable(forma,
caption = "Tabla 6: Indicadores de forma de la distribución de CONTENIDO_COBRE_PORCENTAJE",
align = "l")
Tabla 6: Indicadores de forma de la distribución de
CONTENIDO_COBRE_PORCENTAJE
| Coeficiente de Asimetría (Fisher) |
2.7208 |
g₁ = E[(X-μ)³]/σ³ |
| Interpretación Asimetría |
Asimetría positiva (sesgo a la derecha) |
|g₁| < 0.5: Simétrica; g₁ > 0: Positiva; g₁ <
0: Negativa |
| Coeficiente de Curtosis (Exceso) |
9.9288 |
g₂ = E[(X-μ)⁴]/σ⁴ - 3 |
| Interpretación Curtosis |
Distribución leptocúrtica (picuda) |
|g₂| < 0.5: Mesocúrtica; g₂ > 0: Leptocúrtica; g₂
< 0: Platicúrtica |
tabla_resumen <- data.frame(
Categoría = c("Tendencia Central", "Tendencia Central", "Tendencia Central",
"Tendencia Central", "Tendencia Central", "Tendencia Central",
"Dispersión", "Dispersión", "Dispersión",
"Posición", "Posición", "Posición", "Posición",
"Forma", "Forma", "Forma", "Forma"),
Indicador = c("Mínimo", "Media", "Mediana", "Moda", "Máximo", "Rango",
"Varianza", "Desviación Estándar", "Coeficiente de Variación",
"Cuartil 1 (Q1)", "Cuartil 2 (Q2)", "Cuartil 3 (Q3)",
"Rango Intercuartílico",
"Asimetría (g₁)", "Interpretación Asimetría",
"Curtosis (g₂)", "Interpretación Curtosis"),
Valor = c(
round(minimo, 4), round(media, 4), round(mediana, 4), round(moda, 4),
round(maximo, 4), round(rango, 4),
round(varianza, 4), round(desv_est, 4), paste0(round(CV, 2), "%"),
round(Q1, 4), round(Q2, 4), round(Q3, 4), round(IQR_val, 4),
round(asimetria, 4), interpretacion_asimetria,
round(curtosis, 4), interpretacion_curtosis
),
Unidad = c("%", "%", "%", "%", "%", "%",
"%²", "%", "", "%", "%", "%", "%",
"", "", "", "")
)
kable(tabla_resumen,
caption = "Tabla 7: Resumen completo de indicadores estadísticos de CONTENIDO_COBRE_PORCENTAJE",
align = "l",
row.names = FALSE)
Tabla 7: Resumen completo de indicadores estadísticos de
CONTENIDO_COBRE_PORCENTAJE
| Tendencia Central |
Mínimo |
0.054 |
% |
| Tendencia Central |
Media |
0.6612 |
% |
| Tendencia Central |
Mediana |
0.4616 |
% |
| Tendencia Central |
Moda |
1.3 |
% |
| Tendencia Central |
Máximo |
5 |
% |
| Tendencia Central |
Rango |
4.946 |
% |
| Dispersión |
Varianza |
0.3601 |
%² |
| Dispersión |
Desviación Estándar |
0.6001 |
% |
| Dispersión |
Coeficiente de Variación |
90.76% |
|
| Posición |
Cuartil 1 (Q1) |
0.2939 |
% |
| Posición |
Cuartil 2 (Q2) |
0.4616 |
% |
| Posición |
Cuartil 3 (Q3) |
0.7976 |
% |
| Posición |
Rango Intercuartílico |
0.5037 |
% |
| Forma |
Asimetría (g₁) |
2.7208 |
|
| Forma |
Interpretación Asimetría |
Asimetría positiva (sesgo a la derecha) |
|
| Forma |
Curtosis (g₂) |
9.9288 |
|
| Forma |
Interpretación Curtosis |
Distribución leptocúrtica (picuda) |
|
Conclusión
La variable contenido de cobre en porcentaje (%) presenta valores que
fluctúan entre un mínimo de 0.0540 % y un máximo de 5.0000 %, con una
mediana de 0.4616 %. La desviación estándar de 0.6001 % refleja la
dispersión observada respecto a la media de 0.6612 %. El análisis de
forma señala una asimetría positiva y una distribución leptocúrtica, con
un total de 174 valores atípicos identificados 6.96 %, los cuales
corresponden a depósitos con ley de cobre significativamente superior o
diferente al promedio de la población.