Carga de Datos y Librerías

1. CARGA DE LIBRERIAS

# cargar librerías
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(gt)
## Warning: package 'gt' was built under R version 4.5.2
library(knitr)
## Warning: package 'knitr' was built under R version 4.5.2
library(e1071)
## Warning: package 'e1071' was built under R version 4.5.2
## 
## Adjuntando el paquete: 'e1071'
## The following object is masked from 'package:ggplot2':
## 
##     element

1.2. CARGA DE DATOS

#cargar datos
datos <- read.csv("C:/Users/aules/Documents/ESTADISTICA/tablas/Depositos_sulfuro.csv", 
                  header = TRUE, 
                  sep = ";", 
                  dec = ".")

#Limpiamos la Variable

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

Tabla de distribucion de frecuencia por Sturges

2. TABLAS DE DISTRIBUCIÓN DE FRECUENCIA POR STURGES

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


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


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


#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(plata >= Li[i] & plata < Ls[i])}
ni[length(Li)] <- sum(plata >= Li[length(Li)] & plata <= 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
TDFplata <- round(data.frame(Li, Ls, MC, ni, hi , Niasc, Nidsc, Hiasc, Hidsc),2)

TDFplata
##         Li      Ls       MC  ni    hi Niasc Nidsc  Hiasc  Hidsc
## 1      0.0  1812.5   906.25 852 98.16   852   868  98.16 100.00
## 2   1812.5  3625.0  2718.75   9  1.04   861    16  99.19   1.84
## 3   3625.0  5437.5  4531.25   3  0.35   864     7  99.54   0.81
## 4   5437.5  7250.0  6343.75   2  0.23   866     4  99.77   0.46
## 5   7250.0  9062.5  8156.25   0  0.00   866     2  99.77   0.23
## 6   9062.5 10875.0  9968.75   0  0.00   866     2  99.77   0.23
## 7  10875.0 12687.5 11781.25   0  0.00   866     2  99.77   0.23
## 8  12687.5 14500.0 13593.75   0  0.00   866     2  99.77   0.23
## 9  14500.0 16312.5 15406.25   0  0.00   866     2  99.77   0.23
## 10 16312.5 18125.0 17218.75   2  0.23   868     2 100.00   0.23

Fila total de las sumas de ni y hi

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


#TABLA FINAL
TDFplata_p <- rbind(TDFplata, fila_total)
TABLA DE DISTRIBUCIÓN DE FRECUENCIA POR STURGES FINAL

2.1. Tabla Nº1-Distribución de Porcentaje en Peso de Plomo en el mineral de los Depósitos masivos de sulfuros volcanicos

#Crear Tabla
tablaplata <- TDFplata_p %>%
  gt() %>%
  tab_header(
    title = md("Tabla Nº:1"),
    subtitle = md("Tabla de distribución de frecuencias simples y acumuladas de
plata 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")

tablaplata
Tabla Nº:1
Tabla de distribución de frecuencias simples y acumuladas de plata en los depósitos masivos de sulfuros
Li Ls MC ni hi Niasc Nidsc Hiasc Hidsc
0 1812.5 906.25 852 98.16 852 868 98.16 100
1812.5 3625 2718.75 9 1.04 861 16 99.19 1.84
3625 5437.5 4531.25 3 0.35 864 7 99.54 0.81
5437.5 7250 6343.75 2 0.23 866 4 99.77 0.46
7250 9062.5 8156.25 0 0.00 866 2 99.77 0.23
9062.5 10875 9968.75 0 0.00 866 2 99.77 0.23
10875 12687.5 11781.25 0 0.00 866 2 99.77 0.23
12687.5 14500 13593.75 0 0.00 866 2 99.77 0.23
14500 16312.5 15406.25 0 0.00 866 2 99.77 0.23
16312.5 18125 17218.75 2 0.23 868 2 100 0.23
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 frecuencias simplificada

4. Histograma de distribución de frecuencias

histograma_plata<-hist(plata,
                       main = "Gráfica Nº1: Distribución de frecuencia absoluta local de Gramos de Plata en los depositos
                              masivos de sulfuros volcanicos",
                       xlab = "Gramos de Plata (T/m)",
                       ylab = "Cantidad",
                       col = "gray")

TABLA DE DISTRIBUCION DE FRECUENCIA SIMPLIFICADA

#LIMITE INFERIOR SIMPLIFICADA
lis <- histograma_plata$breaks[-length(histograma_plata$breaks)]

#LIMITE SUPERIOR SIMPLIFICADA
lss <- histograma_plata$breaks[-1]

#MARCA DE CLASE
MC_f <- histograma_plata$mids

# Frecuencia absoluta(ni)
ni_f <- histograma_plata$counts

# Frecuencia relativa(hi)
hi_f <- (ni_f / sum(ni_f)) * 100


# 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
TDFplata_f <- round(data.frame(lis, lss, MC_f, ni_f, hi_f, Niasc_f, Nidsc_f, Hiasc_f, Hidsc_f),2)
TDFplata_f
##      lis   lss  MC_f ni_f  hi_f Niasc_f Nidsc_f Hiasc_f Hidsc_f
## 1      0  2000  1000  855 98.50     855     868   98.50  100.00
## 2   2000  4000  3000    7  0.81     862      13   99.31    1.50
## 3   4000  6000  5000    2  0.23     864       6   99.54    0.69
## 4   6000  8000  7000    2  0.23     866       4   99.77    0.46
## 5   8000 10000  9000    0  0.00     866       2   99.77    0.23
## 6  10000 12000 11000    0  0.00     866       2   99.77    0.23
## 7  12000 14000 13000    0  0.00     866       2   99.77    0.23
## 8  14000 16000 15000    0  0.00     866       2   99.77    0.23
## 9  16000 18000 17000    1  0.12     867       2   99.88    0.23
## 10 18000 20000 19000    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(TDFplata_f$ni_f),
  hi_f = round(sum(TDFplata_f$hi_f),),
  Niasc_f = "",
  Nidsc_f = "",
  Hiasc_f = "",
  Hidsc_f = "")

TDFplata_t <- rbind(TDFplata_f, fila_total_f)

TABLA DE DISTRIBUCION DE FRECUENCIA SIMPLIFICADA FINAL

tabla_plata_f <- TDFplata_t %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nº:2*"),
    subtitle = md("Distribución Porcentaje en Peso de Plata en el mineral de los Depósitos
Masivos de Sulfuros volcánicos")
  ) %>%
  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_plata_f
Tabla Nº:2
Distribución Porcentaje en Peso de Plata en el mineral de los Depósitos Masivos de Sulfuros volcánicos
lis lss MC_f ni_f hi_f Niasc_f Nidsc_f Hiasc_f Hidsc_f
0 2000 1000 855 98.50 855 868 98.5 100
2000 4000 3000 7 0.81 862 13 99.31 1.5
4000 6000 5000 2 0.23 864 6 99.54 0.69
6000 8000 7000 2 0.23 866 4 99.77 0.46
8000 10000 9000 0 0.00 866 2 99.77 0.23
10000 12000 11000 0 0.00 866 2 99.77 0.23
12000 14000 13000 0 0.00 866 2 99.77 0.23
14000 16000 15000 0 0.00 866 2 99.77 0.23
16000 18000 17000 1 0.12 867 2 99.88 0.23
18000 20000 19000 1 0.12 868 1 100 0.12
TOTAL 868 100.00
Autor: GRUPO 2

Gráficas de distribución de frecuencia

Colores de barras

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

Histograma de frecuencia absoluta local y global

#Histograma de frecuencia absoluta local
hist(
  plata,
  main = "Gráfica Nº2: Tabla de distribución de frecuencias simples y acumuladas de plata 
          en los depósitos masivos de sulfuros volcanicos",
  xlab = "Gramos de plata (T/m)",
  ylab = "Cantidad",
  col = colores,
  ylim = c(0, 1000)
)

#Histograma de frecuencia absoluta global
hist(
  plata,
  main = "Gráfica Nº3: Distribución global de gramos de plata en 
          los Depositos Masivos de Sulfuros Volcánicos",
  xlab = "Gramos de Plata (T/m)",
  ylab = "Cantidad ",
  col = colores,
  ylim = c(0, 1000)
)

4. Histograma de frecuencia relativa local y global

# Intervalos de 200 en 200
breaks_100 <- seq(
  from = floor(min(plata)/100)*100,
  to = ceiling(max(plata)/100)*100,
  by = 100
)

# Etiquetas de intervalos
breaks_1000 <- seq(
  from = floor(min(plata)/1000)*1000,
  to = ceiling(max(plata)/1000)*1000,
  by = 1000
)


# Etiquetas de intervalos
breaks_1000 <- seq(
  from = floor(min(plata)/1000)*1000,
  to = ceiling(max(plata)/1000)*1000,
  by = 1000
)


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

h <- hist(plata, breaks = breaks_1000, plot = FALSE)

hi_f <- h$counts
intervalos <- paste(h$breaks[-length(h$breaks)],
                    h$breaks[-1],
                    sep = "-")

barplot(
  hi_f,
  names.arg = intervalos,
  col = colores,
  ylim = c(0, 1000),
  space = 0,
  cex.names = 0.6,
  ylab = "Porcentaje (%)",
  xlab = "Gramos de Plata (T/m)",
  main = "Gráfica Nº4: Distribución relativa Local de gramos de plata 
          en los 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, 1000),
  cex.names = 0.6,
  space = 0,
  ylab = "Porcentaje (%)",
  xlab = "Gramos de Plata (T/m)",
  main = "Gráfica Nº5: Distribución relativa global de gramos de plata
          en los Depósitos Masivos de Sulfuros Volcánicos",
  las = 2
)

4.1. Diagrama de caja

#Diagrama de caja
boxplot(
  plata,
  horizontal = TRUE,
  main = "Gráfica Nº6: Distribución de gramos de plata en depositos masivos
          sulfuros volcanicos",
  xlab = "Gramos de Plata (T/m)",
  col = colores
)

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

4.2. Ojivas combinadas

Ojivas combinadas Ni y hi

#Ojivas combinadas Ni
plot(lss, Nidsc_f, type="o",
     main="Gráfica Nº7: Distribución de gramos de plata en depositos masivos
           sulfuros volcanicos"
     , ylab="Cantidad", col="blue", xlab="Gramos de Plata (T/m)")
lines(lis, Niasc_f, col="black", type="b")

#Ojivas combinadas Hi
plot(lss, Hidsc_f, type="o",
     main="Gráfica Nº8: Distribución de gramos de plata en depositos masivos
           sulfuros volcanicos"
     , ylab="Porcentaje", col="blue", xlab="Gramos de Plata (T/m)")
lines(lis, Hiasc_f, col="black",type="b")

Indicadores estadísticos y outliers

5. Indicadores

Ver cuartiles

#cuartiles
summary(plata) 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     0.0     0.0    25.0   222.9   134.5 18125.0

Posicion

#MEDIA ARITMETICA
x<-mean(plata)
x
## [1] 222.8917
#MEDIANA ARITMETICA

ri<-min(plata)
rs<-max(plata)
Me<-median(plata)
Me
## [1] 25

Dispersion

#DESVIACIÓN ESTÁNDAR
sd<-sd(plata)
sd
## [1] 1010.459
#COEFICIENTE DE VARIACIÓN
CV <- ((sd / x) * 100)
CV
## [1] 453.3407

Forma

#COEFICIENTE DE ASIMETRÍA
As<-skewness(plata)
As
## [1] 13.58191
#COEFICIENTE DE CURTOSIS
K<-kurtosis(plata)
K
## [1] 222.5318

5.1. Tabla de Indicadores Estadísticos

#COEFICIENTE DE ASIMETRÍA
Variable<-c("Gramos de Plata (T/m)")
TablaIndicadores<-data.frame(Variable,ri,rs,round(x,2),Me,round(sd,2), round(CV,2), round(As,2),round(K))
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 plata en los Depósitos Masivos de Sulfuros 
      Volcánicos")
Tabla N°3. Indicadores estadíticos de la variable gramos de plata en los Depósitos Masivos de Sulfuros Volcánicos
Variable minimo máximo x Me sd Cv (%) As K
Gramos de Plata (T/m) 0 18125 222.89 25 1010.46 453.34 13.58 223

5.2. Tabla Outliers

#COEFICIENTE DE ASIMETRÍA
outliers<-boxplot.stats(plata)$out
# Contar los valores atípicos
num_outliers <- length(outliers)
num_outliers
## [1] 108
minoutliers<-min(outliers)
minoutliers
## [1] 342
maxoutliers<-max(outliers)
maxoutliers
## [1] 18125
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 plata en los Depósitos Masivos de Sulfuros Volcánicos).")
Tabla N°4: Outliers de la variable gramos de plata en los Depósitos Masivos de Sulfuros Volcánicos).
Outliers Mínimo Máximo
108 342 18125
TablaOutliers
##   Outliers Mínimo Máximo
## 1      108    342  18125

Conclusión

6. Conclusiones

La variable porcentaje en peso de plomo presenta valores que fluctuan entre 0 y 18125, con valores entorno a 25 gramos de plata por tonelada. Con una desviación estándar de 1010,45 y un coeficiente de variación del 453,24 lo que indican un conjunto altamente heterogeneo en la distribución. La acumulacion de datos se concentra de manera fuerte en los valores altos, con la presencia de 108 valores atípicos 103 . En consecuencia, la mayoría de los depósitos masivos de sulfuros volcánicos presentan altos contenidos de plomo, siendo pocos los casos con concentraciones excepcionalmente bajas.