CARGA DE DATOS Y LIBRERÍAS

# Cargar librerías 
library(moments)
library(dplyr)
## 
## 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(gt)

# Cargar datos
datos <- read.csv("~/UNI/estadistica/2026/dataset_geologico_limpio_80.csv")
cat("Dimensiones:", nrow(datos), "observaciones:", ncol(datos), "variables\n\n")
## Dimensiones: 27784 observaciones: 58 variables

#Extraer la Variable

mesR_raw <- datos$MONTH_COLL
print("Primeros valores de MONTH_COLL:")
## [1] "Primeros valores de MONTH_COLL:"
print(head(mesR_raw))
## [1] "DICIEMBRE" "DICIEMBRE" "DICIEMBRE" "DICIEMBRE" "DICIEMBRE" "DICIEMBRE"
mesR <- na.omit(mesR_raw)

orden_meses <- c("ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO",
                 "JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE")

mesR <- toupper(trimws(as.character(mesR)))
mesR <- factor(mesR, levels = orden_meses, ordered = TRUE)

summary(mesR)
##      ENERO    FEBRERO      MARZO      ABRIL       MAYO      JUNIO      JULIO 
##        163        732       1878       1479       3437       4293       4213 
##     AGOSTO SEPTIEMBRE    OCTUBRE  NOVIEMBRE  DICIEMBRE 
##       3417       3332       2171       1309        315
n <- length(mesR)
print(paste("Número de observaciones válidas (n):", n))
## [1] "Número de observaciones válidas (n): 26739"

TABLA DE DISTRIBUCIÓN DE FRECUENCIA

Tabla de Distribucion de Frecuencia Simple

n <- length(mesR)

ni <- table(mesR)
hi <- prop.table(ni) * 100

Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))

TablaFrecuencias_MONTH_COLL <- data.frame(
  MesR = names(ni),
  ni = as.numeric(ni),
  hi = round(as.numeric(hi), 2),
  Ni_asc = as.numeric(Ni_asc),
  Hi_asc = round(as.numeric(Hi_asc), 2),
  Ni_desc = as.numeric(Ni_desc),
  Hi_desc = round(as.numeric(Hi_desc), 2)
)

TablaFrecuencias_MONTH_COLL[nrow(TablaFrecuencias_MONTH_COLL) + 1, ] <- 
  c("TOTAL", sum(ni), sum(hi), NA, NA, NA, NA)

TablaFrecuencias_MONTH_COLL
##          MesR    ni    hi Ni_asc Hi_asc Ni_desc Hi_desc
## 1       ENERO   163  0.61    163   0.61   26739     100
## 2     FEBRERO   732  2.74    895   3.35   26576   99.39
## 3       MARZO  1878  7.02   2773  10.37   25844   96.65
## 4       ABRIL  1479  5.53   4252   15.9   23966   89.63
## 5        MAYO  3437 12.85   7689  28.76   22487    84.1
## 6       JUNIO  4293 16.06  11982  44.81   19050   71.24
## 7       JULIO  4213 15.76  16195  60.57   14757   55.19
## 8      AGOSTO  3417 12.78  19612  73.35   10544   39.43
## 9  SEPTIEMBRE  3332 12.46  22944  85.81    7127   26.65
## 10    OCTUBRE  2171  8.12  25115  93.93    3795   14.19
## 11  NOVIEMBRE  1309   4.9  26424  98.82    1624    6.07
## 12  DICIEMBRE   315  1.18  26739    100     315    1.18
## 13      TOTAL 26739   100   <NA>   <NA>    <NA>    <NA>

TablaFrecuencias_MONTH_COLL %>%
  gt() %>%
  tab_header(
    title = md("**Tabla Nº1**"),
    subtitle = md("**Distribución de frecuencias de la variable MONTH_COLL en depósitos marinos**")
  ) %>%
  tab_source_note(
    source_note = md("**Autor: Grupo 3**")
  ) %>%
  cols_label(
    MesR = "Mes",
    ni = "Frecuencia (ni)",
    hi = "Frecuencia relativa hi (%)",
    Ni_asc = "Ni Asc",
    Hi_asc = "Hi Asc (%)",
    Ni_desc = "Ni Desc",
    Hi_desc = "Hi Desc (%)"
  ) %>%
  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"
  ) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(
      rows = MesR == "TOTAL"
    )
  )
Tabla Nº1
Distribución de frecuencias de la variable MONTH_COLL en depósitos marinos
Mes Frecuencia (ni) Frecuencia relativa hi (%) Ni Asc Hi Asc (%) Ni Desc Hi Desc (%)
ENERO 163 0.61 163 0.61 26739 100
FEBRERO 732 2.74 895 3.35 26576 99.39
MARZO 1878 7.02 2773 10.37 25844 96.65
ABRIL 1479 5.53 4252 15.9 23966 89.63
MAYO 3437 12.85 7689 28.76 22487 84.1
JUNIO 4293 16.06 11982 44.81 19050 71.24
JULIO 4213 15.76 16195 60.57 14757 55.19
AGOSTO 3417 12.78 19612 73.35 10544 39.43
SEPTIEMBRE 3332 12.46 22944 85.81 7127 26.65
OCTUBRE 2171 8.12 25115 93.93 3795 14.19
NOVIEMBRE 1309 4.9 26424 98.82 1624 6.07
DICIEMBRE 315 1.18 26739 100 315 1.18
TOTAL 26739 100 NA NA NA NA
Autor: Grupo 3

GRÁFICAS DE DISTRIBUCIÓN DE FRECUENCIA

par(mfrow = c(1,1))
par(mar = c(9,4,4,2))

tabla_graf <- TablaFrecuencias_MONTH_COLL[TablaFrecuencias_MONTH_COLL$MesR != "TOTAL", ]

tabla_graf$ni <- as.numeric(tabla_graf$ni)
tabla_graf$hi <- as.numeric(tabla_graf$hi)

barplot(tabla_graf$ni,
        names.arg = tabla_graf$MesR,
        las = 2,
        cex.names = 0.8,
        col = "lightgreen",
        main = "Grafica 1: Distribucion de Cantidad de Mes de Recoleccion 
        de Depositos Marinos",
        xlab = "Mes de recolección",
        ylab = "Cantidad",
        ylim = c(0, max(tabla_graf$ni) * 1.15))
abline(h = 0, lwd = 1)


par(mfrow = c(1,1))
par(mar = c(9,4,4,2))

barplot(tabla_graf$ni,
        names.arg = tabla_graf$MesR,
        las = 2,
        cex.names = 0.8,
        col = "skyblue",
        main = "Grafica 2: Distribucion de Cantidad de Mes de 
        Recoleccion de Depositos Marinos",
        xlab = "Mes de recolección",
        ylab = "Cantidad",
        ylim = c(0, max(tabla_graf$ni) * 1.15))
abline(h = 0, lwd = 1)


par(mfrow = c(1,1))
par(mar = c(9,4,4,2))

barplot(tabla_graf$hi,
        names.arg = tabla_graf$MesR,
        las = 2,
        cex.names = 0.8,
        col = "orchid",
        main = "Grafica 3: Distribucion de Cantidad en Porcentaje de 
        Mes de Recoleccion de Depositos Marinos",
        xlab = "Mes de recolección",
        ylab = "Porcentaje (%)",
        ylim = c(0, max(tabla_graf$hi) * 1.15))
abline(h = 0, lwd = 1)


par(mfrow = c(1,1))
par(mar = c(9,4,4,2))

barplot(tabla_graf$hi,
        names.arg = tabla_graf$MesR,
        las = 2,
        cex.names = 0.8,
        col = "mediumpurple",
        main = "Grafica 4: Distribucion de Cantidad en Porcentaje de 
        Mes de Recoleccion de Depositos Marinos",
        xlab = "Mes de recolección",
        ylab = "Porcentaje (%)",
        ylim = c(0, max(tabla_graf$hi) * 1.15))
abline(h = 0, lwd = 1)


par(mfrow = c(1,2))
par(mar = c(2,2,4,2))

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

pie(tabla_graf$hi,
    labels = paste0(round(tabla_graf$hi, 2), "%"),
    radius = 0.6,
    col = colores,
    main = "Grafica 5: Distribucion porcentual de 
    Mes de Recoleccion",
    cex.main = 0.8,
    cex = 0.7)

plot.new()
legend("center",
       legend = tabla_graf$MesR,
       fill = colores,
       title = "Mes",
       cex = 0.8,
       bg = "white",
       box.lwd = 0.7)


INDICADORES ESTADÍSTICOS

moda <- tabla_graf$MesR[which.max(tabla_graf$ni)]

tabla_posicion <- data.frame(
  Indicador = "Moda",
  Categoria = moda
)

tabla_posicion
##   Indicador Categoria
## 1      Moda     JUNIO

tabla_posicion %>%
  gt() %>%
  tab_header(
    title = md("**Tabla Nº2**"),
    subtitle = md("**Indicador de posición de la variable MONTH_COLL**")
  ) %>%
  tab_source_note(
    source_note = md("**Autor: Grupo 3**")
  ) %>%
  cols_label(
    Indicador = "Indicador de posición",
    Categoria = "Categoría modal"
  ) %>%
  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 Nº2
Indicador de posición de la variable MONTH_COLL
Indicador de posición Categoría modal
Moda JUNIO
Autor: Grupo 3

CONCLUSIONES

La variable MONTH_COLL presenta como mes más frecuente de recolección el mes de Junio. Esto permite identificar el periodo en el cual se realizaron más campañas de muestreo de depósitos marinos, lo cual puede relacionarse con condiciones oceanográficas favorables o con la planificación de las expediciones científicas.