ANÁLISIS INFERENCIAL

CARGA DE DATOS Y LIBRERÍAS

#========================================================
# LIMPIAR ENTORNO
#========================================================

rm(list = ls())

#========================================================
# CARGAR LIBRERÍAS
#========================================================

if (!require("readr")) install.packages("readr")
if (!require("dplyr")) install.packages("dplyr")
if (!require("knitr")) install.packages("knitr")
if (!require("moments")) install.packages("moments")
if (!require("e1071")) install.packages("e1071")
if (!require("gt")) install.packages("gt")

library(readr)
library(dplyr)
library(knitr)
library(moments)
library(e1071)
library(gt)

#========================================================
# CARGAR DATOS
#========================================================

ruta <- "D:/PUNTOS LA LO.csv"

datos <- read_csv(ruta)

cat("✓ Datos cargados exitosamente\n")
## ✓ Datos cargados exitosamente
cat("✓ Dimensiones:", nrow(datos), "observaciones\n")
## ✓ Dimensiones: 2500 observaciones
#========================================================
# EXTRAER Y LIMPIAR VARIABLE
#========================================================

LONGITUDE_raw <- datos$DEPOSIT__1

LONGITUDE <- as.numeric(LONGITUDE_raw)

LONGITUDE <- LONGITUDE[!is.na(LONGITUDE)]

LONGITUDE <- LONGITUDE[LONGITUDE != 0]

n <- length(LONGITUDE)

n
## [1] 2500

GRAFICA Y TABLA DE DISTRIBUCIÓN DE FRECUENCIA

#========================================================
# GRÁFICA Nº1
# DISTRIBUCIÓN DE CANTIDAD
#========================================================

histograma_longitud <- hist(

  LONGITUDE,

  breaks = 20,

  main = "Gráfica Nº1: Distribución de cantidad de la longitud
  en depósitos minerales de Estados Unidos",

  xlab = "Longitud (grados)",

  ylab = "Cantidad",

  col = "gray",

  border = "black"
)

#========================================================
# TABLA DE DISTRIBUCIÓN DE FRECUENCIAS
#========================================================

# Histograma para obtener intervalos

histograma <- hist(
  LONGITUDE,
  plot = FALSE
)

# Frecuencia absoluta

ni <- histograma$counts

# Frecuencia relativa

hi <- (ni / sum(ni)) * 100

# Intervalos

intervalos <- paste0(
  "[",
  round(histograma$breaks[-length(histograma$breaks)], 2),
  ", ",
  round(histograma$breaks[-1], 2),
  ")"
)

#========================================================
# TABLA FINAL
#========================================================

tabla_frecuencias <- data.frame(
  Intervalo = intervalos,
  ni = ni,
  hi = round(hi, 2)
)

#========================================================
# FILA TOTAL
#========================================================

fila_total <- data.frame(
  Intervalo = "TOTAL",
  ni = sum(tabla_frecuencias$ni),
  hi = sum(tabla_frecuencias$hi)
)

tabla_frecuencias <- rbind(
  tabla_frecuencias,
  fila_total
)

tabla_frecuencias
##       Intervalo   ni     hi
## 1  [-170, -160)    2   0.08
## 2  [-160, -150)  879  35.16
## 3  [-150, -140)    7   0.28
## 4  [-140, -130)    6   0.24
## 5  [-130, -120)   17   0.68
## 6  [-120, -110) 1426  57.04
## 7  [-110, -100)   71   2.84
## 8   [-100, -90)   77   3.08
## 9    [-90, -80)    7   0.28
## 10   [-80, -70)    1   0.04
## 11   [-70, -60)    7   0.28
## 12        TOTAL 2500 100.00
#========================================================
# TABLA DE DISTRIBUCIÓN AGRUPADA
#========================================================

tabla_longitud_gt <- tabla_frecuencias %>%

  gt() %>%

  tab_header(

    title = md("**Tabla Nº1**"),

    subtitle = md(
      "**Distribución de frecuencias de la longitud de los depósitos minerales**"
    )
  ) %>%

  tab_source_note(

    source_note = md("Autor: Grupo 2")
  ) %>%

  tab_options(

    table.border.top.color = "black",

    table.border.bottom.color = "black",

    heading.border.bottom.color = "black",

    heading.border.bottom.width = px(2),

    column_labels.border.top.color = "black",

    column_labels.border.bottom.color = "black",

    column_labels.border.bottom.width = px(2),

    table_body.hlines.color = "gray",

    table_body.border.bottom.color = "black",

    row.striping.include_table_body = TRUE
  ) %>%

  tab_style(

    style = cell_text(weight = "bold"),

    locations = cells_body(
      rows = Intervalo == "TOTAL"
    )
  )

tabla_longitud_gt
Tabla Nº1
Distribución de frecuencias de la longitud de los depósitos minerales
Intervalo ni hi
[-170, -160) 2 0.08
[-160, -150) 879 35.16
[-150, -140) 7 0.28
[-140, -130) 6 0.24
[-130, -120) 17 0.68
[-120, -110) 1426 57.04
[-110, -100) 71 2.84
[-100, -90) 77 3.08
[-90, -80) 7 0.28
[-80, -70) 1 0.04
[-70, -60) 7 0.28
TOTAL 2500 100.00
Autor: Grupo 2

INDICADORES ESTADISTICOS

#========================================================
# MEDIDAS DESCRIPTIVAS
#========================================================

media_longitud <- mean(LONGITUDE)
media_longitud
## [1] -128.669
mediana_longitud <- median(LONGITUDE)
mediana_longitud
## [1] -115.783
desviacion_longitud <- sd(LONGITUDE)
desviacion_longitud
## [1] 20.48554
varianza_longitud <- var(LONGITUDE)
varianza_longitud
## [1] 419.6575
minimo_longitud <- min(LONGITUDE)
minimo_longitud
## [1] -162.8379
maximo_longitud <- max(LONGITUDE)
maximo_longitud
## [1] -68.7448
rango_longitud <- maximo_longitud - minimo_longitud
rango_longitud
## [1] 94.0931
asimetria_longitud <- skewness(LONGITUDE)
asimetria_longitud
## [1] -0.3002175
curtosis_longitud <- kurtosis(LONGITUDE)
curtosis_longitud
## [1] -1.224926

CONJETURA DEL MODELO

#========================================================
# GRÁFICA Nº2
# DISTRIBUCIÓN DE LA LONGITUD
#========================================================

hist(LONGITUDE,
     probability = TRUE,
     breaks = 20,
     main = "Gráfica Nº2: Distribución de la longitud
     en análisis geoquímicos y geológicos de depósitos minerales",
     xlab = "Longitud (grados)",
     ylab = "Densidad",
     col = "gray",
     border = "black")

lines(density(LONGITUDE),
      col = "blue",
      lwd = 3)

abline(v = media_longitud,
       col = "red",
       lwd = 2,
       lty = 2)

abline(v = mediana_longitud,
       col = "darkgreen",
       lwd = 2,
       lty = 2)

legend("topright",
       legend = c(
         paste("Media =", round(media_longitud,2)),
         paste("Mediana =", round(mediana_longitud,2))
       ),
       col = c("red","darkgreen"),
       lty = 2,
       cex = 0.8)

#========================================================
# TEST DE NORMALIDAD
#========================================================

# Debido al gran tamaño muestral se toma una muestra

set.seed(123)

muestra_longitud <- sample(LONGITUDE,
                           size = 500)

normalidad_longitud <- shapiro.test(muestra_longitud)

normalidad_longitud
## 
##  Shapiro-Wilk normality test
## 
## data:  muestra_longitud
## W = 0.74694, p-value < 2.2e-16
#========================================================
# GRÁFICA Nº3
# DENSIDAD REAL DE LA DISTRIBUCIÓN
#========================================================

densidad_longitud <- density(LONGITUDE)

plot(
  densidad_longitud,
  lwd = 3,
  col = "blue",
  xlim = c(-140, -90),
  main = "Gráfica Nº3: Densidad real de la longitud
  en depósitos minerales",
  xlab = "Longitud",
  ylab = "Densidad"
)

polygon(
  densidad_longitud,
  col = rgb(0,0,1,0.3),
  border = "blue"
)

abline(
  v = mediana_longitud,
  col = "red",
  lwd = 2,
  lty = 2
)

#========================================================
# GRÁFICA Nº4
# DIAGRAMA DE CAJA
#========================================================

boxplot(LONGITUDE,
        horizontal = TRUE,
        col = "skyblue",
        main = "Gráfica Nº3: Diagrama de caja de la longitud
        en depósitos minerales",
        xlab = "Longitud")

abline(v = mediana_longitud,
       col = "red",
       lwd = 2,
       lty = 2)

CALCULO DE PROBABILIDADES

#========================================================
# ÍNDICE DE ASIMETRÍA
#========================================================

diferencia_central <- abs(media_longitud - mediana_longitud)

indice_asimetria <- (diferencia_central/abs(media_longitud))*100

indice_asimetria
## [1] 10.01488
#========================================================
# TABLA RESUMEN
#========================================================

Variable <- c("Longitud")

tabla_resumen <- data.frame(
  Variable,
  round(media_longitud,2),
  round(mediana_longitud,2),
  round(desviacion_longitud,2),
  round(varianza_longitud,2),
  round(asimetria_longitud,2),
  round(curtosis_longitud,2),
  round(indice_asimetria,2),
  round(normalidad_longitud$p.value,5)
)

colnames(tabla_resumen) <- c(
  "Variable",
  "Media",
  "Mediana",
  "Desviación estándar",
  "Varianza",
  "Asimetría",
  "Curtosis",
  "Índice de asimetría (%)",
  "p-valor Shapiro"
)

kable(tabla_resumen,
      format = "markdown",
      caption = "Tabla Nº1: Resumen estadístico de la longitud")
Tabla Nº1: Resumen estadístico de la longitud
Variable Media Mediana Desviación estándar Varianza Asimetría Curtosis Índice de asimetría (%) p-valor Shapiro
Longitud -128.67 -115.78 20.49 419.66 -0.3 -1.22 10.01 0
#========================================================
# PROBABILIDAD EMPÍRICA
#========================================================

# ¿Cuál es la probabilidad de que una nueva observación
# de longitud se encuentre entre -130 y -110?

longitud_rango <- LONGITUDE[
  LONGITUDE >= -130 &
  LONGITUDE <= -110
]

Probabilidad_1 <- (length(longitud_rango)/length(LONGITUDE))*100

Probabilidad_1
## [1] 57.72

CONCLUSIÓN

"La variable longitud se explica a través del modelo no paramétrico, siendo la media aritmética de -128.67 y una desviación estándar de 20.49.

De esta manera logramos calcular probabilidades como por ejemplo, que al seleccionar aleatoriamente cualquier depósito mineral analizado en Estados Unidos, la probabilidad de que su longitud se encuentre entre -130 y -110 grados es de 57.72%.

Mediante las medidas descriptivas obtenidas, se observa que la longitud presenta una mediana de -115.78, un rango de 94.09 grados y un índice de asimetría de 10.01%, evidenciando una distribución con ligera asimetría negativa dentro de los depósitos minerales analizados."
## [1] "La variable longitud se explica a través del modelo no paramétrico, siendo la media aritmética de -128.67 y una desviación estándar de 20.49.\n\nDe esta manera logramos calcular probabilidades como por ejemplo, que al seleccionar aleatoriamente cualquier depósito mineral analizado en Estados Unidos, la probabilidad de que su longitud se encuentre entre -130 y -110 grados es de 57.72%.\n\nMediante las medidas descriptivas obtenidas, se observa que la longitud presenta una mediana de -115.78, un rango de 94.09 grados y un índice de asimetría de 10.01%, evidenciando una distribución con ligera asimetría negativa dentro de los depósitos minerales analizados."