ANÁLISIS ESTADÍSTICO

CARGA DE DATOS Y LIBRERÍAS

CARGA DE DATOS

library(dplyr)
library(stringr)
library(gt)
library(readxl)

datos <- read_excel("D:/mining_dataset_final.xlsx")

ASIGNACION DE VARIABLES

ASIGNACION DE VARIABLES

df_roca <- data.frame(roca = toupper(trimws(datos$Tipo_Roca)))

df_roca$roca <- case_when(
  toupper(df_roca$roca) == "IGNEA" ~ "Ígnea",
  toupper(df_roca$roca) == "SEDIMENTARIA" ~ "Sedimentaria",
  toupper(df_roca$roca) == "METAMORFICA" ~ "Metamórfica",
  TRUE ~ NA_character_
)

orden_roca <- c(
  "Ígnea",
  "Sedimentaria",
  "Metamórfica"
)

df_roca$roca <- factor(
  df_roca$roca,
  levels = orden_roca,
  ordered = TRUE
)

TABLA DE DISTRIBUCIÓN DE CANTIDAD

TABLA DE DISTRIBUCION DE CANTIDAD

TDF_roca <- df_roca %>%
  count(roca, name = "ni") %>%
  arrange(roca) %>%
  mutate(hi = round(ni / sum(ni) * 100, 0))

tabla_roca <- TDF_roca %>%
  gt() %>%
  tab_header(
    title = "Tabla N° 1",
    subtitle = "Distribución del Tipo de Roca"
  )

tabla_roca
Tabla N° 1
Distribución del Tipo de Roca
roca ni hi
Ígnea 600 30
Sedimentaria 1000 50
Metamórfica 400 20
# Agregamos fila TOTAL
tabla_final_roca <- TDF_roca %>%
  mutate(
    roca = as.character(roca)
  )

tabla_final_roca <- bind_rows(
  tabla_final_roca,
  data.frame(
    roca = "TOTAL",
    ni = sum(tabla_final_roca$ni),
    hi = sum(tabla_final_roca$hi)
  )
)

# TABLA ESQUELETO
tabla_roca_gt <- tabla_final_roca %>%

  gt() %>%

  tab_header(
    title = md("**Tabla Nº2**"),
    subtitle = md("Distribución ordinal del tipo de roca")
  ) %>%

  cols_label(
    roca = "Tipo de Roca",
    ni = "Frecuencia",
    hi = "Porcentaje (%)"
  ) %>%

  cols_align(
    align = "center",
    columns = everything()
  ) %>%

  fmt_number(
    columns = c(ni, hi),
    decimals = 0
  ) %>%

  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(
      rows = roca == "TOTAL"
    )
  ) %>%

  tab_source_note(
    source_note = md("Autor: Grupo 2")
  )

tabla_roca_gt
Tabla Nº2
Distribución ordinal del tipo de roca
Tipo de Roca Frecuencia Porcentaje (%)
Ígnea 600 30
Sedimentaria 1,000 50
Metamórfica 400 20
TOTAL 2,000 100
Autor: Grupo 2

GRÁFICAS DE DISTRIBUCIÓN DE CANTIDAD

# Gráfica Nº1: Frecuencia absoluta
barplot(TDF_roca$ni,
        main = "Gráfica Nº1: Frecuencia del Tipo de Roca",
        xlab = "Tipo de Roca",
        ylab = "Cantidad (ni)",
        col = "steelblue",
        names.arg = TDF_roca$roca,
        cex.names = 0.8,
        las = 1)

# Gráfica Nº2: Frecuencia absoluta ajustada
barplot(TDF_roca$ni,
        main = "Gráfica Nº2: Frecuencia del Tipo de Roca (Escala Ajustada)",
        xlab = "Tipo de Roca",
        ylab = "Cantidad (ni)",
        col = "steelblue",
        names.arg = TDF_roca$roca,
        cex.names = 0.8,
        las = 1,
        ylim = c(0, max(TDF_roca$ni) * 1.2))

# Gráfica Nº3: Frecuencia relativa
barplot(TDF_roca$hi,
        main = "Gráfica Nº3: Porcentaje del Tipo de Roca",
        xlab = "Tipo de Roca",
        ylab = "Porcentaje (%)",
        col = "steelblue",
        names.arg = TDF_roca$roca,
        cex.names = 0.8,
        las = 1)

# Gráfica Nº4: Frecuencia relativa escala completa
barplot(TDF_roca$hi,
        main = "Gráfica Nº4: Porcentaje del Tipo de Roca (Escala Completa)",
        xlab = "Tipo de Roca",
        ylab = "Porcentaje (%)",
        col = "steelblue",
        names.arg = TDF_roca$roca,
        cex.names = 0.8,
        las = 1,
        ylim = c(0, 100))

# Gráfico circular
par(mar = c(4, 4, 4, 8))

colores <- rainbow(length(TDF_roca$hi))

pie(TDF_roca$hi,
    col = colores,
    main = "Distribución del Tipo de Roca",
    labels = NA)

legend("right",
       legend = paste(TDF_roca$roca, TDF_roca$hi, "%"),
       fill = colores,
       title = "ROCAS",
       bty = "o",
       xpd = TRUE,
       inset = c(-0.25, 0))

INDICADORES ESTADISTICOS

# Moda
moda_roca <- TDF_roca[TDF_roca$ni == max(TDF_roca$ni), ]
moda_roca
##           roca   ni hi
## 2 Sedimentaria 1000 50
# Mediana
TDF_roca <- TDF_roca %>%
  mutate(Ni = cumsum(ni))

N <- sum(TDF_roca$ni)

mediana_roca <- TDF_roca %>%
  filter(Ni >= N/2) %>%
  slice(1)

mediana_roca
##           roca   ni hi   Ni
## 1 Sedimentaria 1000 50 1600
#conclucion