# VARIABLE CUALITATIVA ORDINAL: MES
# Proyecto: Producción de pozos de gas y petróleo no convencional
# Grupo – Carrera de Petróleos
# 2026

# =========================================================
# 1. CARGA Y PREPARACIÓN DE LOS DATOS
# =========================================================

library(readr)
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)

# Evita notación científica

options(scipen = 999)

# Lectura del archivo CSV

datos <- read_delim(
  "produccin-de-pozos-de-gas-y-petrleo-no-convencional.csv",
  delim = ";"
)
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
##   dat <- vroom(...)
##   problems(dat)
## Rows: 400759 Columns: 40
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr  (27): idempresa, prod_pet, prod_gas, prod_agua, tef, tipoextraccion, ti...
## dbl  (10): anio, mes, idpozo, iny_agua, iny_gas, iny_co2, iny_otro, vida_uti...
## lgl   (2): rectificado, habilitado
## dttm  (1): fechaingreso
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# =========================================================
# 2. IDENTIFICACIÓN DE LOS MESES
# =========================================================

# Conversión de la fecha

datos$fecha_data <- as.Date(datos$fecha_data)

# Eliminación de valores perdidos

fecha_data <- datos$fecha_data[!is.na(datos$fecha_data)]

# Extracción del mes

mes_num <- as.numeric(format(fecha_data, "%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
# =========================================================

# 3.1. Frecuencia absoluta

ni_m <- sapply(1:12, function(i) sum(mes_num == i))

# 3.2. Frecuencia relativa

hi_m <- ni_m / sum(ni_m) * 100

# =========================================================
# 3.3. ELABORACIÓN DE LA TABLA
# =========================================================

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

# Fila total

tabla_meses_r <- tabla_meses %>%
  add_row(
    Mes = "Total",
    ni = sum(ni_m),
    hi = sum(hi_m)
  )

# =========================================================
# 3.4. PRESENTACIÓN DE LA TABLA
# =========================================================

tabla_meses_presentacion <- tabla_meses_r %>%
  mutate(
    hi = round(hi, 4)
  )

tabla_meses_presentacion %>%
  gt() %>%
  tab_header(
    title = md("**Tabla Nro. 1**"),
    subtitle = md("Distribución mensual de la frecuencia de producción
                  en pozos de gas y petróleo no convencional")
  ) %>%
  tab_source_note(
    source_note = md("Elaborado por: Grupo – Carrera de Petróleos")
  ) %>%
  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 mensual de la frecuencia de producción en pozos de gas y petróleo no convencional
Mes Frecuencia absoluta (ni) Frecuencia relativa (%)
Enero 34801 8.6844
Febrero 35320 8.8139
Marzo 35414 8.8373
Abril 31232 7.7937
Mayo 31691 7.9083
Junio 32066 8.0019
Julio 32501 8.1104
Agosto 32887 8.2067
Septiembre 33053 8.2482
Octubre 33547 8.3714
Noviembre 33894 8.4580
Diciembre 34326 8.5658
Total 400732 100.0000
Elaborado por: Grupo – Carrera de Petróleos
# =========================================================
# 4. DIAGRAMAS DE BARRAS
# =========================================================

# =========================================================
# 4.1. FRECUENCIA ABSOLUTA
# =========================================================

par(mar = c(9, 5, 4, 2))

barplot(
  ni_m,
  names.arg = meses,
  las = 2,
  col = "gray",
  main = "Gráfica 1: Distribución mensual de la frecuencia absoluta
de producción en pozos no convencionales",
  ylab = "",
  xlab = "Mes",
  ylim = c(0, max(ni_m) * 1.15),
  cex.names = 0.85,
  cex.axis = 0.9
)

mtext(
  "Frecuencia absoluta (ni)",
  side = 2,
  line = 3
)

# =========================================================
# 4.2. FRECUENCIA RELATIVA
# =========================================================

par(mar = c(9, 5, 4, 2))

barplot(
  hi_m,
  names.arg = meses,
  las = 2,
  col = "lightblue",
  main = "Gráfica 2: Distribución mensual de la frecuencia relativa
de producción en pozos no convencionales",
  ylab = "",
  xlab = "Mes",
  ylim = c(0, max(hi_m) * 1.15),
  cex.names = 0.85,
  cex.axis = 0.9
)

mtext(
  "Frecuencia relativa (%)",
  side = 2,
  line = 3
)

# =========================================================
# 5. DIAGRAMA CIRCULAR
# =========================================================

hi_m_red <- round(hi_m, 4)

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

pie(
  hi_m_red,
  col = colores,
  labels = paste0(hi_m_red, " %"),
  main = "Gráfica 3: Distribución porcentual mensual
de producción en pozos no convencionales"
)

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

# =========================================================
# 6. INDICADORES ESTADÍSTICOS
# =========================================================

# 6.1. Moda

indice_moda <- which.max(ni_m)

moda_mes <- meses[indice_moda]

moda_valor <- ni_m[indice_moda]

moda_hi <- round(hi_m[indice_moda], 4)

# =========================================================
# 6.2. TABLA RESUMEN
# =========================================================

tabla_resumen <- data.frame(
  Variable = "Mes",
  Indicador = "Moda",
  Resultado = paste0(
    moda_mes,
    " (",
    moda_valor,
    " registros, ",
    moda_hi,
    "%)"
  )
)

tabla_resumen %>%
  gt() %>%
  tab_header(
    title = md("**Tabla Nro. 2**"),
    subtitle = md("Indicadores estadísticos de la variable mes
                  en pozos no convencionales")
  ) %>%
  cols_label(
    Variable = "Variable analizada",
    Indicador = "Indicador estadístico",
    Resultado = "Resultado"
  ) %>%
  tab_source_note(
    source_note = md("Elaborado por: Grupo – Carrera de Petróleos")
  ) %>%
  opt_all_caps() %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body()
  )
Tabla Nro. 2
Indicadores estadísticos de la variable mes en pozos no convencionales
Variable analizada Indicador estadístico Resultado
Mes Moda Marzo (35414 registros, 8.8373%)
Elaborado por: Grupo – Carrera de Petróleos
# =========================================================
# 7. CONCLUSIÓN
# =========================================================

cat(
  "La variable Mes corresponde a una variable cualitativa ordinal, ",
  "empleada para identificar la distribución temporal de la producción ",
  "de pozos de gas y petróleo no convencional. El análisis realizado ",
  "permitió identificar que el mes con mayor frecuencia de registros fue ",
  moda_mes,
  ", con un total de ",
  moda_valor,
  " registros equivalentes al ",
  moda_hi,
  "% del total analizado."
)
## La variable Mes corresponde a una variable cualitativa ordinal,  empleada para identificar la distribución temporal de la producción  de pozos de gas y petróleo no convencional. El análisis realizado  permitió identificar que el mes con mayor frecuencia de registros fue  Marzo , con un total de  35414  registros equivalentes al  8.8373 % del total analizado.