1. Configuración y Carga de Datos

Se carga el conjunto de datos de arrendamientos de hidrocarburos del estado de Kansas, EE.UU., registrados por el Kansas Geological Survey.

ruta_archivo <- "C:/Users/thann/OneDrive/Escritorio/ESTADISTICA.LOL/datos_vale.csv"

datos_vale <- read_delim(
  ruta_archivo,
  delim = ";",
  show_col_types = FALSE
)

cat("Base de datos cargada correctamente.\n")
## Base de datos cargada correctamente.
cat("Total de registros (filas):", nrow(datos_vale), "\n")
## Total de registros (filas): 104173

2. Extracción y Limpieza de la Variable

La variable PRODUCING_FORMATION (Formación Productora) identifica la unidad geológica de la cual se extrae el hidrocarburo. Se eliminan los registros sin valor (NA o vacíos). Para el análisis se presentan las Top 10 formaciones más frecuentes.

x_raw <- datos_vale %>%
  filter(!is.na(PRODUCING_FORMATION), PRODUCING_FORMATION != "") %>%
  pull(PRODUCING_FORMATION)

n <- length(x_raw)

cat("Observaciones válidas:", n, "\n")
## Observaciones válidas: 24865
cat("Formaciones distintas:", length(unique(x_raw)), "\n")
## Formaciones distintas: 324

3. Identificación de la Variable

Criterio Clasificación
Nombre Formación Productora
Nombre técnico PRODUCING_FORMATION
Tipo Cualitativa
Subtipo Nominal policotómica
Dominio Nombres de formaciones geológicas productoras
Rango Múltiples categorías
Unidad No aplica
Escala Nominal
Fuente Kansas Geological Survey – Kansas, EE.UU.

Justificación: La variable registra denominaciones geológicas sin orden natural entre sí. Corresponde a una variable cualitativa nominal policotómica. Se analiza a través de la distribución de frecuencias de las 10 formaciones más representativas.


4. Tabla de Distribución de Frecuencias

Se presentan las Top 10 formaciones productoras con mayor número de arrendamientos asociados en Kansas, EE.UU. (n total = 24,865).

freq_abs   <- sort(table(x_raw), decreasing = TRUE)
top10      <- head(freq_abs, 10)
categorias <- names(top10)
ni         <- as.integer(top10)
hi_pct     <- ni / n * 100
hi_frac    <- ni / n

tabla_df <- data.frame(
  Categoria = categorias,
  ni        = ni,
  hi_pct    = sprintf("%.2f%%", hi_pct),
  hi_frac   = sprintf("%.4f",   hi_frac),
  stringsAsFactors = FALSE
)

total_row <- data.frame(
  Categoria = "**TOTAL (muestra completa)**",
  ni        = n,
  hi_pct    = "100.00%",
  hi_frac   = "1.0000",
  stringsAsFactors = FALSE
)

tabla_df$ni  <- as.character(tabla_df$ni)
total_row$ni <- as.character(total_row$ni)

tabla_final <- bind_rows(tabla_df, total_row)

kable(
  tabla_final,
  caption = paste0(
    "Cuadro N°1: Distribución de Frecuencias — Top 10 Formaciones Productoras, ",
    "arrendamientos de hidrocarburos del estado de Kansas, EE.UU., ",
    "período histórico disponible (n total = ", format(n, big.mark = ","), " registros válidos)."
  ),
  col.names = c("Formación Productora", "Frecuencia (nᵢ)", "Porcentaje (hᵢ %)", "Porcentaje en fracción (hᵢ)"),
  align     = c("l", "c", "c", "c"),
  escape    = FALSE
) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "bordered"),
    full_width = TRUE, font_size = 12
  ) %>%
  row_spec(0, bold = TRUE, background = "#d3d3d3", color = "black") %>%
  row_spec(nrow(tabla_final), bold = TRUE, background = "#a9a9a9", color = "black")
Cuadro N°1: Distribución de Frecuencias — Top 10 Formaciones Productoras, arrendamientos de hidrocarburos del estado de Kansas, EE.UU., período histórico disponible (n total = 24,865 registros válidos).
Formación Productora Frecuencia (nᵢ) Porcentaje (hᵢ %) Porcentaje en fracción (hᵢ)
Chase Group 7297 29.35% 0.2935
Mississippian System 3886 15.63% 0.1563
Council Grove Group 2522 10.14% 0.1014
Arbuckle Group 1726 6.94% 0.0694
Lansing Group 1304 5.24% 0.0524
Upper Kearny Member 1072 4.31% 0.0431
Lower Kearny Member 962 3.87% 0.0387
Kansas City Group 658 2.65% 0.0265
Chesteran Zone A Bed 541 2.18% 0.0218
Bevier Coal Bed 496 1.99% 0.0199
TOTAL (muestra completa) 24865 100.00% 1.0000

5. Representación Gráfica

5.1 Gráfica N°1 — Diagrama de Barras (Frecuencia Absoluta — Top 10)

top10_ord <- sort(head(table(x_raw), 10), decreasing = TRUE)
colores_g <- gray(seq(0.30, 0.80, length.out = length(top10_ord)))

par(mar = c(10, 6, 7, 2))
bp <- barplot(
  as.numeric(top10_ord),
  names.arg = names(top10_ord),
  col       = colores_g,
  border    = "black",
  ylim      = c(0, max(as.numeric(top10_ord)) * 1.18),
  xlab      = "", ylab = "", main = "", las = 2, cex.names = 0.7
)
text(bp, as.numeric(top10_ord) + max(as.numeric(top10_ord)) * 0.02,
     labels = format(as.numeric(top10_ord), big.mark = ","), cex = 0.8)
mtext("Frecuencia Absoluta (nᵢ)", side = 2, line = 4.5, cex = 1)
mtext("Formación Productora",      side = 1, line = 8.5, cex = 1)
mtext(
  "Gráfica N°1: Diagrama de Barras — Frecuencia Absoluta\nTop 10 Formaciones Productoras, Kansas, EE.UU.",
  side = 3, line = 3.5, cex = 0.9, font = 2
)

5.2 Gráfica N°2 — Diagrama de Barras (Porcentaje — Top 10)

pct_ord <- sort(head(table(x_raw), 10) / n * 100, decreasing = TRUE)

par(mar = c(10, 6, 7, 2))
bp2 <- barplot(
  as.numeric(pct_ord),
  names.arg = names(pct_ord),
  col       = colores_g,
  border    = "black",
  ylim      = c(0, max(as.numeric(pct_ord)) * 1.18),
  xlab      = "", ylab = "", main = "", las = 2, cex.names = 0.7
)
text(bp2, as.numeric(pct_ord) + max(as.numeric(pct_ord)) * 0.02,
     labels = paste0(round(as.numeric(pct_ord), 2), "%"), cex = 0.8)
mtext("Porcentaje (hᵢ %)",  side = 2, line = 4.5, cex = 1)
mtext("Formación Productora", side = 1, line = 8.5, cex = 1)
mtext(
  "Gráfica N°2: Diagrama de Barras — Porcentaje\nTop 10 Formaciones Productoras, Kansas, EE.UU.",
  side = 3, line = 3.5, cex = 0.9, font = 2
)

5.3 Gráfica N°3 — Diagrama Circular (Distribución Porcentual — Top 10)

pct_circ <- head(table(x_raw), 10) / n * 100
grises_c <- gray(seq(0.15, 0.85, length.out = length(pct_circ)))

par(mar = c(2, 2, 6, 12), xpd = TRUE)
pie(
  as.numeric(pct_circ),
  labels  = paste0(round(as.numeric(pct_circ), 2), "%"),
  col     = grises_c,
  border  = "black",
  main    = "",
  radius  = 1,
  cex     = 0.85
)
legend(
  x      = 1.2,
  y      = 1,
  legend = names(pct_circ),
  fill   = grises_c,
  cex    = 0.7,
  title  = "Formación",
  bty    = "n"
)
mtext(
  "Gráfica N°3: Diagrama Circular — Distribución Porcentual\nTop 10 Formaciones Productoras, Kansas, EE.UU.",
  side = 3, line = 3.5, cex = 0.9, font = 2
)


6. Tabla de Indicadores

moda_val <- names(sort(table(x_raw), decreasing = TRUE))[1]
moda_n   <- max(table(x_raw))

indicadores_h <- data.frame(
  `Tamaño muestral (n)`          = format(n, big.mark = ","),
  `Número de formaciones únicas` = as.character(length(unique(x_raw))),
  `Formación modal`              = moda_val,
  `Frecuencia de la moda`        = format(moda_n, big.mark = ","),
  `Porcentaje de la moda`        = paste0(round(moda_n / n * 100, 2), "%"),
  check.names = FALSE,
  stringsAsFactors = FALSE
)

kable(
  indicadores_h,
  caption = "Cuadro N°2: Indicadores de la Variable Cualitativa Nominal Formación Productora, arrendamientos de hidrocarburos, Kansas, EE.UU.",
  align = "c",
  escape = FALSE
) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "bordered"),
    full_width = TRUE, font_size = 12
  ) %>%
  row_spec(0, bold = TRUE, background = "#d3d3d3", color = "black")
Cuadro N°2: Indicadores de la Variable Cualitativa Nominal Formación Productora, arrendamientos de hidrocarburos, Kansas, EE.UU.
Tamaño muestral (n) Número de formaciones únicas Formación modal Frecuencia de la moda Porcentaje de la moda
24,865 324 Chase Group 7,297 29.35%

7. Conclusión

El análisis de la variable Formación Productora permite identificar las unidades geológicas que dominan la producción de hidrocarburos en Kansas. Con 324 formaciones distintas identificadas, la formación modal es “Chase Group”, que concentra el 29.35% de los registros, destacándose como la capa geológica más explotada en el estado.


Autor: Araujo Valeska | Análisis Estadístico — Kansas Hydrocarbon Leases Dataset