ANÁLISIS ESTADÍSTICO

CARGA DE DATOS Y LIBRERÍAS

CARGA DE DATOS

# CARGA DE DATOS


datos <-  read.csv("D:/Numero_Metodos_Analiticos_Empleados_2500.csv")
 

# CARGA DE LIBRERIAS

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

SELECCIÓN DE LA VARIABLE

disc <- datos$Numero_Metodos_Analiticos_Empleados
disc <- na.omit(disc) 

TABLA DE DISTRIBUCION DE CANTIDAD

# Frecuencias simples

ni <- table(disc)

total <- sum(ni)

hi <- round(as.numeric(ni) / total * 100, 2)

# Acumuladas ascendentes

Ni_Asc <- cumsum(ni)
Hi_Asc <- cumsum(hi)

# Acumuladas descendentes

Ni_Desc <- rev(cumsum(rev(ni)))
Hi_Desc <- rev(cumsum(rev(hi)))

# Tabla final

tabla_final <- data.frame(
  Numero_Metodos = 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

fila_total <- data.frame(
  Numero_Metodos = "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_final
##   Numero_Metodos   ni  hi Ni_Asc Hi_Asc Ni_Desc Hi_Desc
## 1              1  375  15    375     15    2500     100
## 2              2  550  22    925     37    2125      85
## 3              3  475  19   1400     56    1575      63
## 4              4  400  16   1800     72    1100      44
## 5              5  350  14   2150     86     700      28
## 6              6  350  14   2500    100     350      14
## 7          TOTAL 2500 100      -      -       -       -
# TABLA GT
TablaDisc <- tabla_final %>%
  gt() %>%
  
  tab_header(
    title = md("**Tabla Nº 1**"),
    subtitle = md("Distribución del número de métodos analíticos empleados")
  ) %>%
  
  fmt_number(
    columns = c(ni, hi),
    decimals = 2
  ) %>%
  
  cols_align(
    align = "center",
    columns = everything()
  ) %>%
  
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(
      rows = Numero_Metodos == "TOTAL"
    )
  ) %>%
  
  tab_source_note(
    source_note = md("Autor: Grupo 2")
  )

TablaDisc
Tabla Nº 1
Distribución del número de métodos analíticos empleados
Numero_Metodos ni hi Ni_Asc Hi_Asc Ni_Desc Hi_Desc
1 375.00 15.00 375 15 2500 100
2 550.00 22.00 925 37 2125 85
3 475.00 19.00 1400 56 1575 63
4 400.00 16.00 1800 72 1100 44
5 350.00 14.00 2150 86 700 28
6 350.00 14.00 2500 100 350 14
TOTAL 2,500.00 100.00 - - - -
Autor: Grupo 2

Gráficas de distribución de cantidad

# Histograma de cantidad

freq <- table(disc)

barplot(
  freq,
  main = "Grafica Nº1: Distribución de cantidad del número de 
  métodos analíticos empleados en depósitos minerales de 
  Estados Unidos",
  col = "gray",
  ylab = "Cantidad",
  xlab = "Número de métodos analíticos empleados",
  cex.names = 0.8
)

# Histograma de cantidad

barplot(
  freq,
  main = "Grafica Nº2: Distribución de cantidad del número de 
  métodos analíticos empleados en depósitos minerales de 
  Estados Unidos",
  col = "gray",
  xlab = "Número de métodos analíticos empleados",
  ylab = "Cantidad",
  ylim = c(0, 800),
  cex.names = 0.8
)

# Histograma de cantidad en porcentaje

hi_plot <- tabla_final$hi[
  tabla_final$Numero_Metodos != "TOTAL"
]

etiquetas_x <- tabla_final$Numero_Metodos[
  tabla_final$Numero_Metodos != "TOTAL"
]

barplot(hi_plot,
        main = "Grafica Nº3: Distribución de cantidad en porcentaje del 
        número de metodos analiticos empleados en depósitos 
        minerales de Estados Unidos",
        col="gray", 
        space=0,
        las=1,
        xlab="Número de métodos analíticos empleados",
        ylab="Porcentaje",
        names.arg = etiquetas_x, # Se cambian las etiquetas numéricas fijas por los intervalos reales
        cex.names = 0.6)

# Histograma de cantidad en porcentaje

# Filtrar los datos SIN la fila TOTAL
hi_plot <- tabla_final$hi[
  tabla_final$Numero_Metodos != "TOTAL"
]

etiquetas_x <- tabla_final$Numero_Metodos[
  tabla_final$Numero_Metodos != "TOTAL"
]

barplot(hi_plot,
        space = 0,
        main="Grafica Nº4: Distribución de cantidad en porcentaje del 
        número de metodos analiticos empleados en depósitos 
        minerales de Estados Unidos",
        col = "gray",
        las = 1,
        xlab = "Número de métodos analíticos empleados",
        ylab = "Porcentaje",
        names.arg = etiquetas_x, # Se cambian las etiquetas numéricas fijas por los intervalos reales
        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 del número de métodos analíticos empleados\n(Ni)",
  xlab = "Número de métodos analíticos empleados",
  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 del número de métodos analíticos empleados\n(Hi)",
  xlab = "Número de métodos analíticos empleados",
  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 del número de metodos 
        analiticos empleados en depósitos minerales de 
        Estados Unidos",
        xlab = "Número de métodos analíticos empleados")

Indicadores Estadisticos

# Indicadores Estadisticos

# POSICION

#MEDIA ARITMETICA
x<-mean(disc)
x
## [1] 3.34
# MODA
Mo <- as.numeric(names(which.max(table(disc))))
Mo
## [1] 2
#MEDIANA ARITMETICA

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

#DESVIACIÓN ESTÁNDAR
sd<-sd(disc)
sd
## [1] 1.638742
#COEFICIENTE DE VARIACIÓN
CV <- ((sd / x) * 100)
CV
## [1] 49.06412
# FORMA

#COEFICIENTE DE ASIMETRÍA
As<-skewness(disc)
As
## [1] 0.1960117
#COEFICIENTE DE CURTOSIS
K<-kurtosis(disc)
K
## [1] -1.154186
# TABLA DE INDICADORES ESTADISTICOS

Variable<-c("Número de métodos analíticos empleados")

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 número de métodos analíticos empleados"
)
Tabla N°3. Indicadores estadísticos de la variable número de métodos analíticos empleados
Variable minimo máximo x Me sd Cv (%) As K
Número de métodos analíticos empleados 1 6 3.34 3 1.64 49.06 0.2 -1.15
# ==============================================================================
# OUTLIERS (CORREGIDO PARA EVITAR INF / -INF)
# ==============================================================================

# OUTLIERS

outliers <- boxplot.stats(disc)$out
num_outliers <- length(outliers)

# Verificar si existen 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"
)
Tabla N°4: Outliers de la variable
Outliers Mínimo Máximo
0 NA NA

Conclusión

La variable número de métodos analíticos empleados presenta valores entre 1 y 6, con una concentración alrededor de la mediana de 3 métodos. La desviación estándar de 1.72 y el coeficiente de variación de 49.77% indican variabilidad moderada-alta en los procedimientos analíticos utilizados. La distribución es prácticamente simétrica, lo que evidencia uniformidad en la aplicación de métodos. Esto resulta favorable, ya que permite obtener análisis más completos y confiables de las muestras minerales.