# =====================================================
# 1️⃣ CARGA DE DATOS (RCLOUD)
# =====================================================

library(readxl)
library(dplyr)
## 
## Attaching package: '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)

# Leer archivo (debe estar subido al proyecto)
datos_nuevoartes <- read_excel("datos_nuevoartes.xlsx")

# Conversión de fecha
event_date <- as.Date(datos_nuevoartes$event_date)

# Eliminar valores NA
event_date <- event_date[!is.na(event_date)]

# =====================================================
# 1.1️⃣ ASIGNACIÓN DEL NOMBRE (MESES)
# =====================================================

mes_num <- as.numeric(format(event_date, "%m"))

meses <- c(
  "Enero", "Febrero", "Marzo", "Abril",
  "Mayo", "Junio", "Julio", "Agosto",
  "Septiembre", "Octubre", "Noviembre", "Diciembre"
)

# =====================================================
# 2️⃣ TABLA DE DISTRIBUCIÓN DE FRECUENCIAS
# =====================================================

ni_m <- sapply(1:12, function(i) sum(mes_num == i))
hi_m <- round((ni_m / sum(ni_m)) * 100, 2)
Ni_m <- cumsum(ni_m)
Hi_m <- round(cumsum(hi_m), 2)

tabla_meses <- data.frame(
  Mes = meses,
  ni = ni_m,
  Ni = Ni_m,
  hi = hi_m,
  Hi = Hi_m
)

# =====================================================
# TABLA CON gt (VISIBLE EN RCLOUD)
# =====================================================

tabla_meses %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Tabla de distribución de frecuencias simples y acumuladas de los eventos por mes**")
  ) %>%
  tab_source_note(
    source_note = md("Elaborado por: Grupo 2 de la carrera de Geología")
  ) %>%
  cols_label(
    Mes = "Mes",
    ni = "ni",
    Ni = "Ni",
    hi = "hi (%)",
    Hi = "Hi (%)"
  )
Tabla Nro. 1
Tabla de distribución de frecuencias simples y acumuladas de los eventos por mes
Mes ni Ni hi (%) Hi (%)
Enero 945 945 8.57 8.57
Febrero 797 1742 7.22 15.79
Marzo 985 2727 8.93 24.72
Abril 841 3568 7.62 32.34
Mayo 788 4356 7.14 39.48
Junio 974 5330 8.83 48.31
Julio 1243 6573 11.27 59.58
Agosto 1175 7748 10.65 70.23
Septiembre 896 8644 8.12 78.35
Octubre 761 9405 6.90 85.25
Noviembre 668 10073 6.05 91.30
Diciembre 960 11033 8.70 100.00
Elaborado por: Grupo 2 de la carrera de Geología
# =====================================================
# 2️⃣ DIAGRAMAS DE BARRAS
# =====================================================

barplot(ni_m, names.arg = meses, las = 2,
        col = "gray", main = "Diagrama de barras local (ni)")

barplot(Ni_m, names.arg = meses, las = 2,
        col = "darkgray", main = "Diagrama de barras global (Ni)")

barplot(hi_m, names.arg = meses, las = 2,
        col = "lightblue", main = "Diagrama de barras local (hi)")

barplot(Hi_m, names.arg = meses, las = 2,
        col = "steelblue", main = "Diagrama de barras global (Hi)")

# =====================================================
# 3️⃣ DIAGRAMA CIRCULAR
# =====================================================

colores <- c(
  "#66c2a5", "#fc8d62", "#8da0cb", "#e78ac3",
  "#a6d854", "#ffd92f", "#e5c494", "#b3b3b3",
  "#1b9e77", "#d95f02", "#7570b3", "#e7298a"
)

pie(hi_m, col = colores,
    labels = paste0(hi_m, " %"),
    main = "Distribución porcentual de eventos por mes")

legend("topright", legend = meses,
       fill = colores, cex = 0.7, bty = "n")

# =====================================================
# 4️⃣ INDICADOR ESTADÍSTICO (MODA)
# =====================================================

moda_mes <- meses[which.max(ni_m)]
cat("La moda de la variable Mes es:", moda_mes)
## La moda de la variable Mes es: Julio