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 OPERATOR_NAME (Nombre del Operador) identifica la empresa u operador responsable del arrendamiento. Se eliminan los registros sin valor (NA) y se conservan únicamente los operadores con al menos 1 registro válido. Para la representación gráfica y tabular se presentan los Top 10 operadores más frecuentes.

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

n <- length(x_raw)

cat("Observaciones válidas:", n, "\n")
## Observaciones válidas: 90317
cat("Operadores distintos:", length(unique(x_raw)), "\n")
## Operadores distintos: 8769

3. Identificación de la Variable

Criterio Clasificación
Nombre Nombre del Operador
Nombre técnico OPERATOR_NAME
Tipo Cualitativa
Subtipo Nominal policotómica
Dominio Nombre de empresas/operadores registrados
Rango Múltiples categorías
Unidad No aplica
Escala Nominal
Fuente Kansas Geological Survey – Kansas, EE.UU.

Justificación: La variable registra nombres de operadores sin ningún orden natural entre ellos. Corresponde a una variable cualitativa nominal policotómica. Se analiza a través de la distribución de frecuencias de los 10 operadores más frecuentes.


4. Tabla de Distribución de Frecuencias

Se presentan los Top 10 operadores con mayor número de arrendamientos registrados en Kansas, EE.UU. (n total = 90,317).

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 Operadores, ",
    "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("Nombre del Operador", "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 Operadores, arrendamientos de hidrocarburos del estado de Kansas, EE.UU., período histórico disponible (n total = 90,317 registros válidos).
Nombre del Operador Frecuencia (nᵢ) Porcentaje (hᵢ %) Porcentaje en fracción (hᵢ)
Scout Energy Management LLC 5662 6.27% 0.0627
Merit Energy Company, LLC 3437 3.81% 0.0381
River Rock Operating, LLC 2075 2.30% 0.0230
RedBud Oil & Gas Operating, LLC 1303 1.44% 0.0144
OXY USA Inc.  1189 1.32% 0.0132
American Warrior, Inc.  1183 1.31% 0.0131
BEREXCO LLC 919 1.02% 0.0102
Murfin Drilling Co., Inc.  814 0.90% 0.0090
Edison Operating Company LLC 774 0.86% 0.0086
OPERATER NAME UNKNOWN 716 0.79% 0.0079
TOTAL (muestra completa) 90317 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("Nombre del Operador",       side = 1, line = 8.5, cex = 1)
mtext(
  "Gráfica N°1: Diagrama de Barras — Frecuencia Absoluta\nTop 10 Operadores, 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("Nombre del Operador", side = 1, line = 8.5, cex = 1)
mtext(
  "Gráfica N°2: Diagrama de Barras — Porcentaje\nTop 10 Operadores, 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  = "Operador",
  bty    = "n"
)
mtext(
  "Gráfica N°3: Diagrama Circular — Distribución Porcentual\nTop 10 Operadores, 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 categorías`      = as.character(length(unique(x_raw))),
  `Moda (operador principal)` = 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 Nombre del Operador, 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 Nombre del Operador, arrendamientos de hidrocarburos, Kansas, EE.UU.
Tamaño muestral (n) Número de categorías Moda (operador principal) Frecuencia de la moda Porcentaje de la moda
90,317 8769 Scout Energy Management LLC 5,662 6.27%

7. Conclusión

El análisis de la variable Nombre del Operador revela la concentración del mercado de arrendamientos de hidrocarburos en Kansas. Con un total de 8769 operadores distintos registrados, la categoría modal es “Scout Energy Management LLC”, que concentra el 6.27% de los registros, evidenciando una distribución asimétrica típica de mercados extractivos.


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