1. Carga y preparación de los datos
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)
# Lectura del archivo Excel (previamente cargado al proyecto)
datos_nuevoartes <- read_excel("datos_nuevoartes.xlsx")
# Conversión de la variable fecha
event_date <- as.Date(datos_nuevoartes$event_date)
# Eliminación de valores perdidos
event_date <- event_date[!is.na(event_date)]
2. Identificación de los meses del año
# Extracción del mes en formato numérico
mes_num <- as.numeric(format(event_date, "%m"))
# Nombres de los meses
meses <- c(
"Enero", "Febrero", "Marzo", "Abril",
"Mayo", "Junio", "Julio", "Agosto",
"Septiembre", "Octubre", "Noviembre", "Diciembre"
)
3. Tabla de distribución de frecuencias
# Frecuencia absoluta
ni_m <- sapply(1:12, function(i) sum(mes_num == i))
# Frecuencia relativa (%)
hi_m <- round((ni_m / sum(ni_m)) * 100, 2)
## Construcción de la tabla
tabla_meses <- data.frame(
Mes = meses,
ni = ni_m,
hi = hi_m
)
# Fila de total
tabla_meses <- tabla_meses %>%
add_row(
Mes = "Total",
ni = sum(ni_m),
hi = 100
)
3.1. Presentación de la tabla
tabla_meses %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 1**"),
subtitle = md("Distribución de frecuencias simples de los eventos según el mes")
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 2 – Carrera de Geología")
) %>%
cols_label(
Mes = "Mes",
ni = "Frecuencia absoluta (ni)",
hi = "Frecuencia relativa (%)"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = Mes == "Total")
)
| Tabla Nro. 1 |
| Distribución de frecuencias simples de los eventos según el mes |
| Mes |
Frecuencia absoluta (ni) |
Frecuencia relativa (%) |
| Enero |
945 |
8.57 |
| Febrero |
797 |
7.22 |
| Marzo |
985 |
8.93 |
| Abril |
841 |
7.62 |
| Mayo |
788 |
7.14 |
| Junio |
974 |
8.83 |
| Julio |
1243 |
11.27 |
| Agosto |
1175 |
10.65 |
| Septiembre |
896 |
8.12 |
| Octubre |
761 |
6.90 |
| Noviembre |
668 |
6.05 |
| Diciembre |
960 |
8.70 |
| Total |
11033 |
100.00 |
| Elaborado por: Grupo 2 – Carrera de Geología |
4. Diagrama de barras
4.1. Frecuencia absoluta
barplot(
ni_m,
names.arg = meses,
las = 2,
col = "gray",
main = "Distribución mensual de eventos (frecuencia absoluta)",
ylab = "Frecuencia absoluta (ni)",
xlab = "Mes"
)

4.2. Frecuencia Relativa
barplot(
hi_m,
names.arg = meses,
las = 2,
col = "lightblue",
main = "Distribución mensual de eventos (frecuencia relativa)",
ylab = "Frecuencia relativa (%)",
xlab = "Mes"
)

5. 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"
)

6. Indicadores Estadísticos
6.1. 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