ANÁLISIS ESTADÍSTICO

CARGA DE DATOS Y LIBRERÍAS

CARGA DE DATOS

#Carga de datos
setwd("~/UNI/ESTADISTICA")
datos <- read.csv("Depositos_Sulfuro.csv", header = TRUE, sep = ";", dec = ".")

#Limpiamos la Variable

oro <- as.numeric(datos$augrd) 
oro <- na.omit(oro)
oro <- subset(oro, oro >= 0)

CARGA DE LIBRERIAS

#Carga de librerias
library(gt)
library(dplyr)
library(knitr)
library(e1071)

TABLA DE DISTRIBUCIÓN DE FRECUENCIA POR STURGES

TABLA DE DISTRIBUCION DE FRECUENCIA POR STURGES

# Calculamos el numero de datos
n <- length(oro)

# Numero de clases con Sturges
k <- floor(1 + 3.3 * log10(n))

# Min, Max 
minimo <- min(oro)
maximo <- max(oro)

#Rango
R <- maximo - minimo

# Amplitud
A <- R/k

# Límites inferior (Li) y superior (Ls)
Li <- round(seq(from = minimo, to = maximo-A, by = A), 2)
Ls <- round(seq(from = minimo+A, to = maximo, by = A), 2)

# Marca de clase
MC <- round((Li + Ls)/2, 2)

# Frecuencia Absoluta (ni)
ni <- numeric(length(Li))
for (i in 1:length(Li)) {
  ni[i] <- sum(oro >= Li[i] & oro < Ls[i])
}
ni[length(Li)] <- sum(oro >= Li[length(Li)] & oro <= maximo)

# Frecuencia Relativa (hi)
hi <- (ni / sum(ni)) * 100

# Frecuencias Acumuladas
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- round(cumsum(hi), 2)
Hidsc <- round(rev(cumsum(rev(hi))), 2)

# TABLA FINAL
TDForo <- round(data.frame(
  Li, Ls, MC, ni, hi , Niasc, Nidsc, Hiasc, Hidsc
),2)

TDForo
##       Li    Ls    MC  ni    hi Niasc Nidsc  Hiasc  Hidsc
## 1    0.0  73.8  36.9 762 87.79   762   868  87.79 100.00
## 2   73.8 147.6 110.7  65  7.49   827   106  95.28  12.21
## 3  147.6 221.4 184.5  22  2.53   849    41  97.81   4.72
## 4  221.4 295.2 258.3   6  0.69   855    19  98.50   2.19
## 5  295.2 369.0 332.1   3  0.35   858    13  98.85   1.50
## 6  369.0 442.8 405.9   5  0.58   863    10  99.42   1.15
## 7  442.8 516.6 479.7   4  0.46   867     5  99.88   0.58
## 8  516.6 590.4 553.5   0  0.00   867     1  99.88   0.12
## 9  590.4 664.2 627.3   0  0.00   867     1  99.88   0.12
## 10 664.2 738.0 701.1   1  0.12   868     1 100.00   0.12

Fila total de las sumas de ni y hi

# FILA TOTAL
fila_total <- data.frame(
  Li = "TOTAL",
  Ls = "",
  MC = "",
  ni = sum(TDForo$ni),
  hi = round(sum(TDForo$hi),),
  Niasc = "",
  Nidsc = "",
  Hiasc = "",
  Hidsc = ""
)
#TABLA FINAL 
TDForo_p <- rbind(TDForo, fila_total)

TABLA DE DISTRIBUCIÓN DE FRECUENCIA POR STURGES FINAL

# TABLA GT
tabla_oro_p <- TDForo_p %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nº:1*"),
    subtitle = md("Tabla de distribución de frecuencias simples y acumuladas de 
                  oro en los depósitos masivos de sulfuros")
  ) %>%
  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"
  )

tabla_oro_p
Tabla Nº:1
Tabla de distribución de frecuencias simples y acumuladas de oro en los depósitos masivos de sulfuros
Li Ls MC ni hi Niasc Nidsc Hiasc Hidsc
0 73.8 36.9 762 87.79 762 868 87.79 100
73.8 147.6 110.7 65 7.49 827 106 95.28 12.21
147.6 221.4 184.5 22 2.53 849 41 97.81 4.72
221.4 295.2 258.3 6 0.69 855 19 98.5 2.19
295.2 369 332.1 3 0.35 858 13 98.85 1.5
369 442.8 405.9 5 0.58 863 10 99.42 1.15
442.8 516.6 479.7 4 0.46 867 5 99.88 0.58
516.6 590.4 553.5 0 0.00 867 1 99.88 0.12
590.4 664.2 627.3 0 0.00 867 1 99.88 0.12
664.2 738 701.1 1 0.12 868 1 100 0.12
TOTAL 868 100.00
Autor: GRUPO 2

DEBIDO A QUE LA TABLA SE PRESENTA CON NUMEROS MUY DIFICILES SE DECIDIO SIMPLIFICAR LA TABLA

TABLA DE DISTRIBUCIÓN DE FRECUENCIA SIMPLIFICADA

HISTOGRAMA DE DISTRIBUCIÓN DE FRECUENCIA

histograma_oro<-hist(oro,
                     main = "Gráfica Nº1: Distribución de frecuencia absoluta 
                     local de gramos de oro en depositos masivos 
                     de sulfuros volcanicos ",
                     xlab = "gramos de Oro (g/t)",
                     ylab = "Cantidad",
                     col = "gray")

TABLA DE DISTRIBUCION DE FRECUENCIA SIMPLIFICADA

#LIMITE INFERIOR SIMPLIFICADA

lis<- histograma_oro$breaks[1:15]
lis
##  [1]   0  50 100 150 200 250 300 350 400 450 500 550 600 650 700
#LIMITE SUPERIOR SIMPLIFICADA
lss<-histograma_oro$breaks[2:16]
lss
##  [1]  50 100 150 200 250 300 350 400 450 500 550 600 650 700 750
#MARCA DE CLASE
MC_f<-histograma_oro$mids
MC_f
##  [1]  25  75 125 175 225 275 325 375 425 475 525 575 625 675 725
# Frecuencia absoluta(ni)
ni_f <-histograma_oro $counts
ni_f
##  [1] 706  86  35  15  11   3   2   4   2   3   0   0   0   0   1
# Frecuencia relativa (hi)
hi_f <- (ni_f/sum(ni_f))*100
hi_f
##  [1] 81.3364055  9.9078341  4.0322581  1.7281106  1.2672811  0.3456221
##  [7]  0.2304147  0.4608295  0.2304147  0.3456221  0.0000000  0.0000000
## [13]  0.0000000  0.0000000  0.1152074
# Frecuencias Acumuladas
Niasc_f <- cumsum(ni_f)
Nidsc_f <- rev(cumsum(rev(ni_f)))
Hiasc_f <- round(cumsum(hi_f), 2)
Hidsc_f <- round(rev(cumsum(rev(hi_f))), 2)

# TABLA FINAL
TDForo_f <- round(data.frame(
  lis, lss, MC_f, ni_f, hi_f, Niasc_f, Nidsc_f, Hiasc_f, Hidsc_f
),2)

TDForo_f
##    lis lss MC_f ni_f  hi_f Niasc_f Nidsc_f Hiasc_f Hidsc_f
## 1    0  50   25  706 81.34     706     868   81.34  100.00
## 2   50 100   75   86  9.91     792     162   91.24   18.66
## 3  100 150  125   35  4.03     827      76   95.28    8.76
## 4  150 200  175   15  1.73     842      41   97.00    4.72
## 5  200 250  225   11  1.27     853      26   98.27    3.00
## 6  250 300  275    3  0.35     856      15   98.62    1.73
## 7  300 350  325    2  0.23     858      12   98.85    1.38
## 8  350 400  375    4  0.46     862      10   99.31    1.15
## 9  400 450  425    2  0.23     864       6   99.54    0.69
## 10 450 500  475    3  0.35     867       4   99.88    0.46
## 11 500 550  525    0  0.00     867       1   99.88    0.12
## 12 550 600  575    0  0.00     867       1   99.88    0.12
## 13 600 650  625    0  0.00     867       1   99.88    0.12
## 14 650 700  675    0  0.00     867       1   99.88    0.12
## 15 700 750  725    1  0.12     868       1  100.00    0.12

Fila total de las sumas de ni y hi

# FILA TOTAL
fila_total_f <- data.frame(
  lis = "TOTAL",
  lss = "",
  MC_f = "",
  ni_f = sum(TDForo_f$ni_f),
  hi_f = round(sum(TDForo_f$hi_f),),
  Niasc_f = "",
  Nidsc_f = "",
  Hiasc_f = "",
  Hidsc_f = ""
)

TDForo_t <- rbind(TDForo_f, fila_total_f)

TABLA DE DISTRIBUCION DE FRECUENCIA SIMPLIFICADA FINAL

# TABLA DE DISTRIBUCION DE FRECUENCIA SIMPLIFICADA FINAL
tabla_oro_f <- TDForo_t %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nº:2*"),
    subtitle = md("Tabla de distribución de frecuencias simples y acumuladas de oro en los depósitos masivos de sulfuros")
  ) %>%
  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"
  )

tabla_oro_f
Tabla Nº:2
Tabla de distribución de frecuencias simples y acumuladas de oro en los depósitos masivos de sulfuros
lis lss MC_f ni_f hi_f Niasc_f Nidsc_f Hiasc_f Hidsc_f
0 50 25 706 81.34 706 868 81.34 100
50 100 75 86 9.91 792 162 91.24 18.66
100 150 125 35 4.03 827 76 95.28 8.76
150 200 175 15 1.73 842 41 97 4.72
200 250 225 11 1.27 853 26 98.27 3
250 300 275 3 0.35 856 15 98.62 1.73
300 350 325 2 0.23 858 12 98.85 1.38
350 400 375 4 0.46 862 10 99.31 1.15
400 450 425 2 0.23 864 6 99.54 0.69
450 500 475 3 0.35 867 4 99.88 0.46
500 550 525 0 0.00 867 1 99.88 0.12
550 600 575 0 0.00 867 1 99.88 0.12
600 650 625 0 0.00 867 1 99.88 0.12
650 700 675 0 0.00 867 1 99.88 0.12
700 750 725 1 0.12 868 1 100 0.12
TOTAL 868 100.00
Autor: GRUPO 2

GRÁFICAS DE DISTRIBUCIÓN DE FRECUENCIA

Colores de las barras

# colores de las barras
colores <- gray.colors(length(ni), start = 0.3, end = 0.9)

Histograma de frecuencia absoluta local

hist(
  oro,
  main = "Gráfica Nº2: Distribución de frecuencia absoluta local de gramos 
  de oro en depositos masivos 
  de sulfuros volcanicos ",
  xlab = "gramos de Oro (g/t)",
  ylab = "Cantidad",
  col = colores
)

Histograma de frecuencia absoluta global

hist(
  oro,
  main = "Gráfica Nº3: Distribución de frecuencia absoluta global de gramos 
  de oro en depositos masivos 
  de sulfuros volcanicos",
  xlab = "gramos de Oro (g/t)",
  ylab = "Cantidad ",
  col = colores,
  ylim = c(0, 868)
)

Histograma de frecuencia relativa local

# Intervalos de 50 en 50
breaks_50 <- seq(
  from = floor(min(oro)/50)*50,
  to   = ceiling(max(oro)/50)*50,
  by   = 50
)

# Etiquetas de intervalos
intervalos <- paste(
  breaks_50[-length(breaks_50)],
  breaks_50[-1],
  sep = "-"
)

barplot(
  hi_f,
  names.arg = intervalos,
  col = colores,
  ylim = c(0, 85),
  space = 0,
  cex.names = 0.6,
  ylab = "Porcentaje (%)",
  xlab = "Gramos de Oro (g/t)",
  main = "Gráfica Nº4: Distribución relativa local de gramos de oro
en depósitos masivos de sulfuros volcánicos",
  las = 2
)

Histograma de frecuencia relativa global

barplot(
  hi_f,
  names.arg = intervalos,
  col = colores,
  ylim = c(0, 100),
  cex.names = 0.6,
  space = 0,
  ylab = "Porcentaje (%)",
  xlab = "Gramos de Oro (g/t)",
  main = "Gráfica Nº5: Distribución relativa global de gramos 
  de oro en depósitos masivos de sulfuros volcánicos",
  las = 2
)

DIAGRAMA DE CAJA

boxplot(
  oro,
  horizontal = TRUE,
  main = "Gráfica Nº6: Distribución de frecuencia de gramos
  de oro en depositos masivos de sulfuros volcanicos",
  xlab = "gramos de Oro (g/t)",
  col = colores
)

Convertir columnas que quedaron como character a numéricas

Niasc_f <- as.numeric(TDForo_f$Niasc_f)
Nidsc_f <- as.numeric(TDForo_f$Nidsc_f)

Ojivas combinadas Ni

plot(lss, Nidsc_f, type="o",
     main="Gráfica Nº7: Distribución de frecuencia acumulada 
     absoluta de gramos de oro en depositos masivos de sulfuros 
     volcanicos"
     , ylab="Cantidad", col="blue", xlab="gramos de Oro (g/t)")

lines(lis, Niasc_f, col="black", add=TRUE, type="b")

Ojivas combinadas Hi

plot(lss, Hidsc_f, type="o",
     main="Gráfica Nº8: Distribución de frecuencia acumulada 
     relativa de gramos de oro en depositos masivos de sulfuros 
     volcanicos"
     , ylab="Porcentaje", col="blue", xlab="gramos de Oro (g/t)")

lines(lis, Hiasc_f, col="black", add=TRUE, type="b")

INDICADORES ESTADISTICOS Y OUTLIERS

Ver los cuartiles

summary(oro) 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00    3.00   30.99   29.50  738.00

Indicadores Estadisticos

POSICION

#MEDIA ARITMETICA
x<-mean(oro)
x
## [1] 30.99078
#MEDIANA ARITMETICA

ri<-min(oro)
rs<-max(oro)
Me<-median(oro)
Me
## [1] 3

DISPERSION

#DESVIACIÓN ESTÁNDAR
sd<-sd(oro)
sd
## [1] 67.3281
#COEFICIENTE DE VARIACIÓN
CV <- ((sd / x) * 100)
CV
## [1] 217.252

FORMA

#COEFICIENTE DE ASIMETRÍA
As<-skewness(oro)
As
## [1] 4.423344
#COEFICIENTE DE CURTOSIS
K<-kurtosis(oro)
K
## [1] 27.13775

TABLA DE INDICADORES ESTADISTICOS

Variable<-c("Gramos de oro (T/m)")
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íticos de la variable gramos de oro en los depositos masivos de sulfuros volcanicos")
Tabla N°3. Indicadores estadíticos de la variable gramos de oro en los depositos masivos de sulfuros volcanicos
Variable minimo máximo x Me sd Cv (%) As K
Gramos de oro (T/m) 0 738 30.99 3 67.33 217.25 4.42 27.14

TABLA DE OUTLIERS

outliers<-boxplot.stats(oro)$out 
# Contar los valores atípicos 
num_outliers <- length(outliers) 
num_outliers
## [1] 102
minoutliers<-min(outliers)
minoutliers
## [1] 77
maxoutliers<-max(outliers)
maxoutliers
## [1] 738
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 gramos de oro en los depositos masivos de sulfuros
      volcanicos).")
Tabla N°4: Outliers de la variable gramos de oro en los depositos masivos de sulfuros volcanicos).
Outliers Mínimo Máximo
102 77 738

CONCLUSIÓN

CONCLUSÍON

La variable gramos de oro por tonelada métrica de mineral (g/t) presenta valores que fluctúan entre 0 y 738 g/t, con valores en torno a 30.99 g/t, y una desviación estándar de 67.33 g/t, lo que indica un conjunto altamente heterogéneo con presencia significativa de valores atípicos. La acumulación de datos se concentra de manera marcada en los valores bajos. Por lo anterior, el comportamiento es medianamente perjudicial, ya que la mayoría de los depósitos masivos de sulfuros volcánicos presentan bajas leyes de oro, siendo pocos los depósitos con concentraciones elevadas.