ANÁLISIS ESTADÍSTICO
CARGA DE DATOS Y LIBRERÍAS
CARGA DE DATOS
# CARGA DE DATOS
library(readxl)
datos <- read_excel("D:/dataset_variables_discretas_mineria.xlsx")
# CARGA DE LIBRERIAS
library(gt)
library(dplyr)
library(knitr)
library(e1071)
SELECCIÓN DE LA VARIABLE
disc <- as.numeric(datos$`Cantidad de elementos No Detectados`)
disc <- na.omit(disc)
TABLA DE DISTRIBUCION DE CANTIDAD
# 4) Frecuencias simples
# Frecuencias simples
ni <- table(disc)
total <- sum(ni)
hi <- round(as.numeric(ni) / total * 100, 2)
# Frecuencias acumuladas
Ni_Asc <- cumsum(ni)
Hi_Asc <- cumsum(hi)
Ni_Desc <- rev(cumsum(rev(ni)))
Hi_Desc <- rev(cumsum(rev(hi)))
tabla_final <- data.frame(
Elementos_No_Detectados = as.numeric(names(ni)),
ni = as.numeric(ni),
hi = hi,
Ni_Asc = as.numeric(Ni_Asc),
Hi_Asc = round(Hi_Asc, 2),
Ni_Desc = as.numeric(Ni_Desc),
Hi_Desc = round(Hi_Desc, 2)
)
fila_total <- data.frame(
Elementos_No_Detectados = "TOTAL",
ni = sum(tabla_final$ni),
hi = round(sum(tabla_final$hi), 2),
Ni_Asc = "-",
Hi_Asc = "-",
Ni_Desc = "-",
Hi_Desc = "-"
)
tabla_final <- rbind(tabla_final, fila_total)
# TABLA GT
TablaDisc <- tabla_final %>%
gt() %>%
tab_header(
title = md("*Tabla Nº. 1*"),
subtitle = md("**Tabla de distribución de la cantidad de elementos no detectados en las muestras mineras**")
) %>%
tab_source_note(
source_note = md("__Autor: Grupo 2__")
) %>%
tab_options(
table.border.top.color = "black",
table.border.bottom.color = "black",
table.border.top.style = "solid",
table.border.bottom.style = "solid",
column_labels.border.top.color = "black",
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
row.striping.include_table_body = TRUE,
heading.border.bottom.color = "black",
heading.border.bottom.width = px(2),
table_body.hlines.color = "gray",
table_body.border.bottom.color = "black"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = Elementos_No_Detectados == "TOTAL"
)
)
TablaDisc
| Tabla Nº. 1 |
| Tabla de distribución de la cantidad de elementos no detectados en las muestras mineras |
| Elementos_No_Detectados |
ni |
hi |
Ni_Asc |
Hi_Asc |
Ni_Desc |
Hi_Desc |
| 0 |
60 |
2.40 |
60 |
2.4 |
2500 |
100 |
| 1 |
187 |
7.48 |
247 |
9.88 |
2440 |
97.6 |
| 2 |
338 |
13.52 |
585 |
23.4 |
2253 |
90.12 |
| 3 |
523 |
20.92 |
1108 |
44.32 |
1915 |
76.6 |
| 4 |
482 |
19.28 |
1590 |
63.6 |
1392 |
55.68 |
| 5 |
391 |
15.64 |
1981 |
79.24 |
910 |
36.4 |
| 6 |
273 |
10.92 |
2254 |
90.16 |
519 |
20.76 |
| 7 |
136 |
5.44 |
2390 |
95.6 |
246 |
9.84 |
| 8 |
63 |
2.52 |
2453 |
98.12 |
110 |
4.4 |
| 9 |
32 |
1.28 |
2485 |
99.4 |
47 |
1.88 |
| 10 |
11 |
0.44 |
2496 |
99.84 |
15 |
0.6 |
| 11 |
3 |
0.12 |
2499 |
99.96 |
4 |
0.16 |
| 12 |
1 |
0.04 |
2500 |
100 |
1 |
0.04 |
| TOTAL |
2500 |
100.00 |
- |
- |
- |
- |
| Autor: Grupo 2 |
Gráficas de distribución de cantidad
# Histograma de cantidad
# Frecuencias
freq <- table(disc)
# Gráfica Nº1
barplot(freq,
main="Grafica Nº1: Distribución de cantidad de elementos no detectados
en depósitos minerales de Estados Unidos",
col="gray",
ylab="Cantidad",
xlab="Cantidad de elementos no detectados",
cex.names=0.6)

# Histograma de cantidad con límite en Y
# Frecuencias
freq <- table(disc)
# Gráfica Nº2 con límite en Y
barplot(freq,
main="Grafica Nº2: Distribución de cantidad de elementos no detectados
en depósitos minerales de Estados Unidos",
col="gray",
xlab="Cantidad de elementos no detectados",
ylab="Cantidad",
cex.names=0.6,
ylim=c(0,800))

# Histograma de cantidad en porcentaje
etiquetas_x <- tabla_final$Elementos_No_Detectados[
tabla_final$Elementos_No_Detectados != "TOTAL"
]
hi_plot <- tabla_final$hi[
tabla_final$Elementos_No_Detectados != "TOTAL"
]
barplot(hi_plot,
main = "Grafica Nº3: Distribución de cantidad en porcentaje de elementos
no detectados en depósitos minerales de Estados Unidos",
col="gray",
space=0.3,
las=1,
xlab="Cantidad de elementos no detectados",
ylab="Porcentaje",
names.arg = etiquetas_x,
cex.names = 0.6)

# Histograma de cantidad en porcentaje con límite en Y
hi_plot <- tabla_final$hi[
tabla_final$Elementos_No_Detectados != "TOTAL"
]
barplot(
hi_plot,
space = 0.3,
main = "Grafica Nº4: Distribución de cantidad en porcentaje de elementos
no detectados en depósitos minerales de Estados Unidos",
col = "gray",
las = 1,
xlab = "Cantidad de elementos no detectados",
ylab = "Porcentaje",
names.arg = etiquetas_x,
ylim = c(0, 100),
cex.names = 0.6
)

# Ojivas combinadas Ni
x_intervalos <- as.numeric(names(ni))
plot(x = x_intervalos,
y = Ni_Asc,
type = "p",
col = "blue",
main = "Grafica Nº5: Ojiva combinada de la cantidad de elementos no detectados\n(Ni)",
xlab = "Cantidad de elementos no detectados",
ylab = "Cantidad acumulada (Ni)",
las = 2
)
lines(x = x_intervalos,
y = Ni_Desc,
type = "p",
col = "red")

# Ojivas combinadas Hi
plot(x = x_intervalos,
y = Hi_Asc,
type = "p",
col = "blue",
main = "Grafica Nº6: Ojiva combinada de la cantidad de elementos no detectados\n(Hi)",
xlab = "Cantidad de elementos no detectados",
ylab = "Porcentaje acumulado (Hi)",
las = 2,
ylim = c(0, 100)
)
lines(x = x_intervalos,
y = Hi_Desc,
type = "p",
col = "black")

# DIAGRAMA DE CAJA
boxplot(disc,
horizontal = TRUE,
col = "blue",
main = "Gráfica Nº7: Distribución de cantidad de elementos no detectados
en depósitos minerales de Estados Unidos",
xlab = "Cantidad de elementos no detectados")

Indicadores Estadisticos
# Indicadores Estadisticos
# POSICION
# MEDIA ARITMETICA
x <- mean(disc)
x
## [1] 3.9408
# MEDIANA ARITMETICA
ri <- min(disc)
rs <- max(disc)
Me <- median(disc)
Me
## [1] 4
# MODA
Mo <- as.numeric(names(which.max(table(disc))))
Mo
## [1] 3
# DISPERSION
# DESVIACIÓN ESTÁNDAR
sd <- sd(disc)
sd
## [1] 1.96317
# COEFICIENTE DE VARIACIÓN
CV <- ((sd / x) * 100)
CV
## [1] 49.81654
# FORMA
# COEFICIENTE DE ASIMETRÍA
As <- skewness(disc)
As
## [1] 0.4118896
# COEFICIENTE DE CURTOSIS
K <- kurtosis(disc)
K
## [1] 0.1113899
# TABLA DE INDICADORES ESTADISTICOS
Variable <- c("Cantidad de elementos No Detectados")
TablaIndicadores <- data.frame(
Variable,
ri,
rs,
round(x, 2),
Me,
round(sd, 2),
round(CV, 2),
round(As, 2),
round(K, 2)
)
colnames(TablaIndicadores) <- c(
"Variable",
"minimo",
"máximo",
"x",
"Me",
"sd",
"Cv (%)",
"As",
"K"
)
kable(
TablaIndicadores,
format = "markdown",
caption = "Tabla N°3. Indicadores estadísticos de la variable cantidad de elementos no detectados"
)
Tabla N°3. Indicadores estadísticos de la variable cantidad de
elementos no detectados
| Cantidad de elementos No Detectados |
0 |
12 |
3.94 |
4 |
1.96 |
49.82 |
0.41 |
0.11 |
# OUTLIERS
outliers <- boxplot.stats(disc)$out
num_outliers <- length(outliers)
if (num_outliers == 0) {
minoutliers <- NA
maxoutliers <- NA
} else {
minoutliers <- min(outliers)
maxoutliers <- max(outliers)
}
TablaOutliers <- data.frame(num_outliers, minoutliers, maxoutliers)
colnames(TablaOutliers) <- c("Outliers", "Mínimo", "Máximo")
kable(
TablaOutliers,
format = "markdown",
caption = "Tabla N°4: Outliers de la variable cantidad de elementos no detectados"
)
Tabla N°4: Outliers de la variable cantidad de elementos no
detectados
| 47 |
9 |
12 |
Conclusión
La variable cantidad de elementos no detectados presenta valores
entre 0 y 12, con una concentración alrededor de la mediana de 4
elementos. La desviación estándar de 1.96 y el coeficiente de variación
de 49.82% indican alta variabilidad, influenciada por valores atípicos
elevados entre 9 y 12. La distribución presenta ligera asimetría
positiva, lo que evidencia acumulación de datos bajos. Esto resulta
medianamente favorable, ya que la mayoría de las muestras presentan
pocos elementos no detectados.