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

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

Tabla de distribucion de frecuencia por Sturges

2. TABLAS DE DISTRIBUCIÓN DE FRECUENCIA POR STURGES

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


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


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


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

TDFplomo
##       Li    Ls    MC  ni    hi Niasc Nidsc  Hiasc  Hidsc
## 1    0.0  65.2  32.6 761 87.67   761   868  87.67 100.00
## 2   65.2 130.4  97.8  53  6.11   814   107  93.78  12.33
## 3  130.4 195.6 163.0  15  1.73   829    54  95.51   6.22
## 4  195.6 260.8 228.2  12  1.38   841    39  96.89   4.49
## 5  260.8 326.0 293.4  11  1.27   852    27  98.16   3.11
## 6  326.0 391.2 358.6   7  0.81   859    16  98.96   1.84
## 7  391.2 456.4 423.8   1  0.12   860     9  99.08   1.04
## 8  456.4 521.6 489.0   3  0.35   863     8  99.42   0.92
## 9  521.6 586.8 554.2   3  0.35   866     5  99.77   0.58
## 10 586.8 652.0 619.4   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(TDFplomo$ni),
  hi = round(sum(TDFplomo$hi),),
  Niasc = "",
  Nidsc = "",
  Hiasc = "",
  Hidsc = "")


#TABLA FINAL 
TDFplomo_p <- rbind(TDFplomo, 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
tablaplomo <- TDFplomo_p %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nº:1*"),
    subtitle = md("Distribución de Porcentaje en Peso de plomo en el mineral de los
Depósitos masivos de sulfuros volcanicos")
  ) %>%
  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")

tablaplomo
Tabla Nº:1
Distribución de Porcentaje en Peso de plomo en el mineral de los Depósitos masivos de sulfuros volcanicos
Li Ls MC ni hi Niasc Nidsc Hiasc Hidsc
0 65.2 32.6 761 87.67 761 868 87.67 100
65.2 130.4 97.8 53 6.11 814 107 93.78 12.33
130.4 195.6 163 15 1.73 829 54 95.51 6.22
195.6 260.8 228.2 12 1.38 841 39 96.89 4.49
260.8 326 293.4 11 1.27 852 27 98.16 3.11
326 391.2 358.6 7 0.81 859 16 98.96 1.84
391.2 456.4 423.8 1 0.12 860 9 99.08 1.04
456.4 521.6 489 3 0.35 863 8 99.42 0.92
521.6 586.8 554.2 3 0.35 866 5 99.77 0.58
586.8 652 619.4 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_plomo<-hist(plomo,
                      main = "Gráfica Nº1: Distribución de frecuencia absoluta local de Porcentaje en Peso de Plomo en el mineral de los depositos
                              masivos de sulfuros volcanicos ",
                      xlab = "Porcentaje en Peso de Plomo en el mineral ($ p/p)",
                      ylab = "Cantidad",
                      col = "gray")

TABLA DE DISTRIBUCION DE FRECUENCIA SIMPLIFICADA

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

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

#MARCA DE CLASE
MC_f <- histograma_plomo$mids

# Frecuencia absoluta(ni)
ni_f <- histograma_plomo$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
TDFplomo_f <- round(data.frame(lis, lss, MC_f, ni_f, hi_f, Niasc_f, Nidsc_f, Hiasc_f, Hidsc_f),2)
TDFplomo_f
##    lis lss MC_f ni_f  hi_f Niasc_f Nidsc_f Hiasc_f Hidsc_f
## 1    0  50   25  744 85.71     744     868   85.71  100.00
## 2   50 100   75   52  5.99     796     124   91.71   14.29
## 3  100 150  125   24  2.76     820      72   94.47    8.29
## 4  150 200  175   10  1.15     830      48   95.62    5.53
## 5  200 250  225   11  1.27     841      38   96.89    4.38
## 6  250 300  275    2  0.23     843      27   97.12    3.11
## 7  300 350  325   11  1.27     854      25   98.39    2.88
## 8  350 400  375    5  0.58     859      14   98.96    1.61
## 9  400 450  425    1  0.12     860       9   99.08    1.04
## 10 450 500  475    1  0.12     861       8   99.19    0.92
## 11 500 550  525    3  0.35     864       7   99.54    0.81
## 12 550 600  575    3  0.35     867       4   99.88    0.46
## 13 600 650  625    0  0.00     867       1   99.88    0.12
## 14 650 700  675    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(TDFplomo_f$ni_f),
  hi_f = round(sum(TDFplomo_f$hi_f),),
  Niasc_f = "",
  Nidsc_f = "",
  Hiasc_f = "",
  Hidsc_f = "")

TDFplomo_t <- rbind(TDFplomo_f, fila_total_f)

TABLA DE DISTRIBUCION DE FRECUENCIA SIMPLIFICADA FINAL

tabla_plomo_f <- TDFplomo_t %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nº:2*"),
    subtitle = md("Distribución Porcentaje en Peso de Plomo 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_plomo_f
Tabla Nº:2
Distribución Porcentaje en Peso de Plomo 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 50 25 744 85.71 744 868 85.71 100
50 100 75 52 5.99 796 124 91.71 14.29
100 150 125 24 2.76 820 72 94.47 8.29
150 200 175 10 1.15 830 48 95.62 5.53
200 250 225 11 1.27 841 38 96.89 4.38
250 300 275 2 0.23 843 27 97.12 3.11
300 350 325 11 1.27 854 25 98.39 2.88
350 400 375 5 0.58 859 14 98.96 1.61
400 450 425 1 0.12 860 9 99.08 1.04
450 500 475 1 0.12 861 8 99.19 0.92
500 550 525 3 0.35 864 7 99.54 0.81
550 600 575 3 0.35 867 4 99.88 0.46
600 650 625 0 0.00 867 1 99.88 0.12
650 700 675 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(
  plomo,
  main = "Gráfica Nº2: Distribución local de Porcentaje en Peso de Plomo
en el mineral de los Depositos Masivos
de Sulfuros Volcánicos",
  xlab = "Porcentaje en Peso de Plomo (%p/p)",
  ylab = "Cantidad",
  col = colores
)

#Histograma de frecuencia absoluta global
hist(
  plomo,
  main = "Gráfica Nº3: Distribución global de Porcentaje en Peso de Plomo
en el mineral de los Depositos Masivos
de Sulfuros Volcánicos",
  xlab = "Porcentaje en Peso de Plomo (%p/p)",
  ylab = "Cantidad ",
  col = colores,
  ylim = c(0, 868)
)

4. Histograma de frecuencia relativa local y global

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

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

h <- hist(plomo, breaks = breaks_100, 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, 80),
  space = 0,
  cex.names = 0.6,
  ylab = "Porcentaje (%)",
  xlab = "Porcentaje en Peso de Plomo (% p/p)",
  main = "Gráfica Nº4: Distribución relativa Local de Porcentaje en Peso de Plomo
en el mineral de 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, 100),
  cex.names = 0.6,
  space = 0,
  ylab = "Porcentaje (%)",
  xlab = "Porcentaje en Peso de Plomo (% p/p)",
  main = "Gráfica Nº5: Distribución relativa global de Porcentaje en Peso de Plomo
en el mineral de los Depósitos Masivos de Sulfuros Volcánicos",
  las = 2
)

4.1. Diagrama de caja

#Diagrama de caja
boxplot(
  plomo,
  horizontal = TRUE,
  main = "Gráfica Nº6: Distribución de frecuencia de Porcentaje en Peso de Plomo
en el mineral de los Depósitos Masivos de Sulfuros Volcánicos",
  xlab = "Porcentaje en peso de plomo",
  col = colores
)

Niasc_f <- as.numeric(TDFplomo_f$Niasc_f)
Nidsc_f <- as.numeric(TDFplomo_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 frecuencia acumulada
absoluta de Porcentaje en Peso de Plomo
en el mineral de los Depósitos Masivos de Sulfuros Volcánicos"
     , ylab="Cantidad", col="blue", xlab="Porcentaje en Peso de Plomo (% p/p)")
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 frecuencia acumulada
absoluta de Porcentaje en Peso de Plomo
en el mineral de los Depósitos Masivos de Sulfuros Volcánicos"
     , ylab="Porcentaje", col="blue", xlab="Porcentaje en Peso de Plomo (% p/p)")
lines(lis, Hiasc_f, col="black",type="b")

Indicadores estadísticos y outliers

5. Indicadores

Ver cuartiles

#cuartiles
summary(plomo) 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00    0.00   28.64   13.00  652.00

Posicion

#MEDIA ARITMETICA
x<-mean(plomo)
x
## [1] 28.6394
#MEDIANA ARITMETICA

ri<-min(plomo)
rs<-max(plomo)
Me<-median(plomo)
Me
## [1] 0

Dispersion

#DESVIACIÓN ESTÁNDAR
sd<-sd(plomo)
sd
## [1] 79.28055
#COEFICIENTE DE VARIACIÓN
CV <- ((sd / x) * 100)
CV
## [1] 276.8233

Forma

#COEFICIENTE DE ASIMETRÍA
As<-skewness(plomo)
As
## [1] 4.342582
#COEFICIENTE DE CURTOSIS
K<-kurtosis(plomo)
K
## [1] 21.7807

5.1. Tabla de Indicadores Estadísticos

#COEFICIENTE DE ASIMETRÍA
Variable<-c("Porcentaje en Peso de Plomo (% p/p)")
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 Porcentaje en Peso de Plomo en el mineral de los
      Depósitos Masivos de Sulfuros Volcánico")
Tabla N°3. Indicadores estadíticos de la variable Porcentaje en Peso de Plomo en el mineral de los Depósitos Masivos de Sulfuros Volcánico
Variable minimo máximo x Me sd Cv (%) As K
Porcentaje en Peso de Plomo (% p/p) 0 652 28.64 0 79.28 276.82 4.34 22

5.2. Tabla Outliers

#COEFICIENTE DE ASIMETRÍA
outliers<-boxplot.stats(plomo)$out
# Contar los valores atípicos
num_outliers <- length(outliers)
num_outliers
## [1] 155
minoutliers<-min(outliers)
minoutliers
## [1] 33
maxoutliers<-max(outliers)
maxoutliers
## [1] 652
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
Porcentaje en Peso de Plomo en el mineral de los Depósitos Masivos de Sulfuros Volcánico).")
Tabla N°4: Outliers de la variable Porcentaje en Peso de Plomo en el mineral de los Depósitos Masivos de Sulfuros Volcánico).
Outliers Mínimo Máximo
155 33 652
TablaOutliers
##   Outliers Mínimo Máximo
## 1      155     33    652

Conclusión

6. Conclusiones

La variable porcentaje en peso de plomo presenta valores que fluctuan entre 0 y 652, con valores entorno a 23% de plomo. Con una desviación estándar de 79.28 y un coeficiente de variación del 276.82% lo que indican un conjunto altamente heterogeneo en la distribución. La amuluacion de datos se concentra de manera fuerte en los valores altos, con la presencia de 155 valores atípicos 103 . En consecuencia, la mayoría de los depósitos masivos de sulfuros volcánicos presentan bajos contenidos de plomo, siendo pocos los casos con concentraciones excepcionalmente bajas.