1. Introducción y Metodología

El presente informe estadístico analiza la variable Año de Inicio de Producción (CUMULATIVE_YEAR_STARTED) de los arrendamientos de hidrocarburos del estado de Kansas, EE.UU., registrados por el Kansas Geological Survey. Para el análisis, se extrae el año directamente del campo registrado, permitiendo evaluar la evolución temporal de las actividades productivas. Dado que la variable presenta más de 10 valores únicos, se agrupa en intervalos de clase aplicando la Regla de Sturges, tratándola como variable cuantitativa continua.

# --- CARGA DE DATOS ---
ruta_csv <- "C:/Users/luisq/OneDrive/Desktop/ESTADISTICA/kansas.csv"
datos <- read_delim(ruta_csv, delim = ";", show_col_types = FALSE)
cat("Base de datos cargada correctamente.\n")
## Base de datos cargada correctamente.
cat("Total de registros (filas):", nrow(datos), "\n")
## Total de registros (filas): 104173
x_raw <- datos %>%
  mutate(ANIO = suppressWarnings(as.integer(CUMULATIVE_YEAR_STARTED))) %>%
  filter(!is.na(ANIO), ANIO >= 1930, ANIO <= 2026) %>%
  pull(ANIO)

n_unique <- length(unique(x_raw))
cat("Observaciones válidas:", length(x_raw), "\n")
## Observaciones válidas: 89034
cat("Valores únicos:", n_unique, "\n")
## Valores únicos: 95
cat("Como hay", n_unique, "> 10 valores únicos, se agrupa en intervalos de clase.\n")
## Como hay 95 > 10 valores únicos, se agrupa en intervalos de clase.
x     <- x_raw
n     <- length(x)
rango <- max(x) - min(x)
k     <- 10                      
c_amp <- ceiling(rango / k)      

cat("\nn =", n, "| k =", k, "| Rango =", rango, "| Amplitud c =", c_amp, "\n")
## 
## n = 89034 | k = 10 | Rango = 96 | Amplitud c = 10
lim_inf    <- min(x) + (0:(k - 1)) * c_amp
lim_sup    <- lim_inf + c_amp
lim_sup[k] <- max(x) + 1
mc         <- (lim_inf + lim_sup) / 2

Identificación de la variable:

Criterio Clasificación
Tipo Cuantitativa Continua (agrupada — más de 10 valores únicos)
Escala De intervalo
Variable CUMULATIVE_YEAR_STARTED (año de inicio de producción)
Rango 1930 – 2026
Fuente Kansas Geological Survey – Kansas, EE.UU.

Nota metodológica: La Regla de Sturges sugiere \(k = 1 + 3{,}322 \cdot \log_{10}(n)\), que para \(n = 89{,}034\) produce \(k = 18\) intervalos de amplitud 6 años. Sin embargo, dado que la convención estadística establece un máximo de 10 intervalos para mantener la legibilidad de la tabla y las gráficas, se fija \(k = 10\), obteniendo una amplitud de 10 años por intervalo (décadas completas), lo que además resulta más natural e interpretable para una variable temporal.


2. Distribución de Frecuencias

Se presenta la distribución de arrendamientos agrupada en intervalos de 10 años.

breaks_vec     <- c(lim_inf, lim_sup[k])
intervalos_cut <- cut(x, breaks = breaks_vec, right = FALSE, include.lowest = TRUE)
freq_abs       <- as.integer(table(intervalos_cut))

li <- lim_inf
ls <- lim_sup

hi_dec  <- freq_abs / n
Ni_asc  <- cumsum(freq_abs)
Hi_asc  <- cumsum(hi_dec)
Ni_desc <- n - c(0, head(Ni_asc, -1))
Hi_desc <- 1 - c(0, head(Hi_asc, -1))

etiq_intervalo    <- paste0("[", li, " – ", ls, ")")
etiq_intervalo[k] <- paste0("[", li[k], " – ", ls[k] - 1, "]")

tabla_df <- data.frame(
  Intervalo = etiq_intervalo,
  MC        = round(mc, 1),
  ni        = freq_abs,
  hi_pct    = sprintf("%.2f%%", hi_dec * 100),
  hi_real   = sprintf("%.4f",   hi_dec),
  Ni_a      = Ni_asc,
  Hi_a      = sprintf("%.4f",   Hi_asc),
  Ni_d      = Ni_desc,
  Hi_d      = sprintf("%.4f",   Hi_desc),
  stringsAsFactors = FALSE
)

tabla_df2 <- tabla_df %>%
  mutate(MC = as.character(MC), ni = as.character(ni),
         Ni_a = as.character(Ni_a), Ni_d = as.character(Ni_d))

total_row <- data.frame(
  Intervalo = "**TOTAL**", MC = "—",
  ni        = as.character(sum(freq_abs)),
  hi_pct    = sprintf("%.2f%%", sum(hi_dec) * 100),
  hi_real   = sprintf("%.4f",   sum(hi_dec)),
  Ni_a      = as.character(max(Ni_asc)),
  Hi_a      = sprintf("%.4f",   max(Hi_asc)),
  Ni_d      = as.character(max(Ni_desc)),
  Hi_d      = sprintf("%.4f",   max(Hi_desc)),
  stringsAsFactors = FALSE
)

tabla_final <- bind_rows(tabla_df2, total_row)

kable(
  tabla_final,
  caption = paste0(
    "Tabla N°1: Distribución de Frecuencias — Año de Inicio de Producción ",
    "(CUMULATIVE_YEAR_STARTED), arrendamientos de hidrocarburos, Kansas, EE.UU., ",
    "período 1930–2026 (n = ", format(n, big.mark = ","), " registros válidos)."
  ),
  col.names = c("Intervalo [Li – Ls)", "Marca de Clase",
                "ni (FA)", "hi %", "hi (decimal)",
                "Ni ↑ (FAAa)", "Hi ↑ (FRAa)",
                "Ni ↓ (FAAd)", "Hi ↓ (FRAd)"),
  align = c("l", rep("c", 8)), escape = FALSE
) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "bordered"),
    full_width = TRUE, font_size = 12
  ) %>%
  add_header_above(c(" " = 2, "Frecuencia Absoluta" = 1,
                     "Frecuencia Relativa" = 2,
                     "Acumulada ↑" = 2, "Acumulada ↓" = 2)) %>%
  row_spec(0, bold = TRUE, background = "#d3d3d3", color = "black") %>%
  row_spec(nrow(tabla_final), bold = TRUE, background = "#a9a9a9", color = "black")
Tabla N°1: Distribución de Frecuencias — Año de Inicio de Producción (CUMULATIVE_YEAR_STARTED), arrendamientos de hidrocarburos, Kansas, EE.UU., período 1930–2026 (n = 89,034 registros válidos).
Frecuencia Absoluta
Frecuencia Relativa
Acumulada ↑
Acumulada ↓
Intervalo [Li – Ls) Marca de Clase ni (FA) hi % hi (decimal) Ni ↑ (FAAa) Hi ↑ (FRAa) Ni ↓ (FAAd) Hi ↓ (FRAd)
[1930 – 1940) 1935 1080 1.21% 0.0121 1080 0.0121 89034 1.0000
[1940 – 1950) 1945 2157 2.42% 0.0242 3237 0.0364 87954 0.9879
[1950 – 1960) 1955 7205 8.09% 0.0809 10442 0.1173 85797 0.9636
[1960 – 1970) 1965 10328 11.60% 0.1160 20770 0.2333 78592 0.8827
[1970 – 1980) 1975 13844 15.55% 0.1555 34614 0.3888 68264 0.7667
[1980 – 1990) 1985 19406 21.80% 0.2180 54020 0.6067 54420 0.6112
[1990 – 2000) 1995 10447 11.73% 0.1173 64467 0.7241 35014 0.3933
[2000 – 2010) 2005 13832 15.54% 0.1554 78299 0.8794 24567 0.2759
[2010 – 2020) 2015 9350 10.50% 0.1050 87649 0.9844 10735 0.1206
[2020 – 2026] 2023.5 1385 1.56% 0.0156 89034 1.0000 1385 0.0156
TOTAL 89034 100.00% 1.0000 89034 1.0000 89034 1.0000

3. Análisis Gráfico

Visualización de la evolución histórica de la producción por intervalos de década.

3.1 Gráficos de Barras

par(mar = c(10, 5, 4, 2))
bp1 <- barplot(vals_y,
        main     = "Gráfica N°1: Distribución de Año de Inicio de Producción — Kansas, EE.UU.",
        cex.main = 0.85,
        ylab     = "Frecuencia Absoluta (ni)",
        col      = col_gris, border = "white", axes = FALSE,
        ylim     = c(0, max(vals_y) * 1.1),
        axisnames = FALSE)
axis(2, col = col_ejes, col.axis = col_ejes)
axis(1, at = bp1, labels = vals_x, col = col_ejes, col.axis = col_ejes, las = 2, cex.axis = 0.8)
title(xlab = "Intervalo de Clase (Año)", line = 8)
grid(nx = NA, ny = NULL, col = "#D7DBDD", lty = "dotted")
box(bty = "l", col = col_ejes)

par(mar = c(10, 5, 4, 2))
bp2 <- barplot(vals_y,
        main     = "Gráfica N°2: Distribución de Año de Inicio de Producción — Kansas, EE.UU. (Escala Global)",
        cex.main = 0.85,
        ylab     = "Frecuencia Absoluta (ni)",
        col      = col_gris, border = "white", axes = FALSE,
        ylim     = c(0, N),
        axisnames = FALSE)
axis(2, col = col_ejes, col.axis = col_ejes)
axis(1, at = bp2, labels = vals_x, col = col_ejes, col.axis = col_ejes, las = 2, cex.axis = 0.8)
title(xlab = "Intervalo de Clase (Año)", line = 8)
grid(nx = NA, ny = NULL, col = "#D7DBDD", lty = "dotted")
box(bty = "l", col = col_ejes)

3.2 Gráficos de Barras (Frecuencia Porcentual)

par(mar = c(10, 5, 4, 2))
bp3 <- barplot(vals_y_pct,
        main     = "Gráfica N°3: Distribución Porcentual de Año de Inicio de Producción — Kansas, EE.UU.",
        cex.main = 0.85,
        ylab     = "% del Total (hi%)",
        col      = col_gris, border = "white", axes = FALSE,
        ylim     = c(0, max(vals_y_pct) * 1.2),
        axisnames = FALSE)
axis(2, col = col_ejes, col.axis = col_ejes)
axis(1, at = bp3, labels = vals_x, col = col_ejes, col.axis = col_ejes, las = 2, cex.axis = 0.8)
text(x = bp3, y = vals_y_pct, label = paste0(round(vals_y_pct, 1), "%"),
     pos = 3, cex = 0.75, col = col_ejes, font = 2)
title(xlab = "Intervalo de Clase (Año)", line = 8)
grid(nx = NA, ny = NULL, col = "#D7DBDD", lty = "dotted")
box(bty = "l", col = col_ejes)

par(mar = c(10, 5, 4, 2))
bp4 <- barplot(vals_y_pct,
        main     = "Gráfica N°4: Distribución Porcentual de Año de Inicio de Producción — Kansas, EE.UU. (Escala 0–100%)",
        cex.main = 0.85,
        ylab     = "% del Total (hi%)",
        col      = col_gris, border = "white", axes = FALSE,
        ylim     = c(0, 100),
        axisnames = FALSE)
axis(2, col = col_ejes, col.axis = col_ejes)
axis(1, at = bp4, labels = vals_x, col = col_ejes, col.axis = col_ejes, las = 2, cex.axis = 0.8)
text(x = bp4, y = vals_y_pct, label = paste0(round(vals_y_pct, 1), "%"),
     pos = 3, cex = 0.75, col = col_ejes, font = 2)
title(xlab = "Intervalo de Clase (Año)", line = 8)
abline(h = seq(0, 100, 20), col = "#D7DBDD", lty = "dotted")
box(bty = "l", col = col_ejes)

3.3 Diagrama de Caja y Ojivas

media   <- mean(x)
mediana <- median(x)
q1      <- as.numeric(quantile(x, 0.25))
q3      <- as.numeric(quantile(x, 0.75))

par(mar = c(5, 4, 6, 2))
boxplot(x,
        col        = col_gris,
        border     = "black",
        horizontal = TRUE,
        outline    = TRUE,
        outpch     = 19,
        outcol     = "#C0392B",
        pch        = 16,
        cex        = 0.4,
        boxwex     = 0.5,
        frame.plot = FALSE,
        main       = "",
        xlab       = "",
        ylab       = "",
        xlim       = c(min(x) - 5, max(x) + 5),
        xaxt       = "n")
eje_x <- pretty(x, n = 8)
axis(1, at = eje_x, labels = format(eje_x, scientific = FALSE),
     cex.axis = 0.8, col = col_ejes, col.axis = col_ejes)
mtext("Año de inicio de producción", side = 1, line = 3.5, cex = 1)
mtext(
  "Gráfica N°5: Diagrama de Caja — Año de Inicio de Producción,\narrendamientos de hidrocarburos, Kansas, EE.UU., período 1930–2026.",
  side = 3, line = 3, cex = 0.9, font = 2
)
text(q1,      1.30, labels = paste0("Q1 = ", q1),             cex = 0.8, font = 2)
text(mediana, 0.65, labels = paste0("Me = ", mediana),         cex = 0.8, font = 2)
text(q3,      1.30, labels = paste0("Q3 = ", q3),             cex = 0.8, font = 2)
abline(v = media, col = "black", lty = 2, lwd = 1.5)
text(media, 1.48, labels = paste0("x\u0305 = ", round(media, 1)), cex = 0.75, col = "black")
grid(nx = NULL, ny = NA, col = "lightgray", lty = "dotted")

x_asc  <- c(li[1], ls)
y_asc  <- c(0, Ni_asc)
x_desc <- c(li[1], ls)
y_desc <- c(n, Ni_desc)

col_azul <- "#2E4053"
col_rojo <- "#C0392B"

par(mar = c(10, 6, 4, 8), xpd = TRUE)
plot(x_asc, y_asc,
     type = "o", col = col_azul, lwd = 2, pch = 19,
     main = "Gráfica N°6: Ojivas Ascendente y Descendente — Año de Inicio de Producción, Kansas EE.UU.",
     cex.main = 0.8,
     ylab = "Frecuencia Acumulada (Ni)", xlab = "",
     ylim = c(0, n * 1.05),
     axes = FALSE, frame.plot = FALSE)

axis(1, at = c(li[1], ls), labels = c(li[1], ls), las = 2, cex.axis = 0.8,
     col = col_ejes, col.axis = col_ejes)
axis(2, col = col_ejes, col.axis = col_ejes)
title(xlab = "Año", line = 8)

lines(x_desc, y_desc, type = "o", col = col_rojo, lwd = 2, pch = 19)

y_cruce <- n / 2
abline(h = y_cruce, col = "gray60", lty = 3, lwd = 1.2)
abline(v = mediana,  col = "gray60", lty = 3, lwd = 1.2)
text(mediana + 1, y_cruce + 2500,
     labels = paste0("Cruce ≈ Me = ", mediana),
     cex = 0.8, col = "black", font = 3)

legend("right",
       legend = c("Ascendente", "Descendente"),
       col = c(col_azul, col_rojo), lty = 1, pch = 19,
       cex = 0.8, lwd = 2, inset = c(-0.12, 0), bty = "n")

grid()


4. Resumen Estadístico

n_x          <- length(x)
moda_val     <- as.integer(names(sort(table(x), decreasing = TRUE)[1]))
varianza     <- var(x)
desv_std     <- sd(x)
cv           <- (desv_std / media) * 100
rango_val    <- max(x) - min(x)
iqr_val      <- IQR(x)
asimetria    <- (3 * (media - mediana)) / desv_std
curtosis_val <- (sum((x - media)^4) / n_x) / (desv_std^4)

vals_atipicos  <- boxplot.stats(x)$out
num_atipicos   <- length(vals_atipicos)
status_atipicos <- ifelse(num_atipicos > 0,
                          paste0(num_atipicos, " outliers"),
                          "0 (Sin atípicos)")

indicadores <- data.frame(
  Indicador = c(
    "Tamaño muestral (n)", "Mínimo", "Máximo", "Rango",
    "Media", "Mediana", "Moda",
    "Varianza (s²)", "Desviación estándar (s)", "Coef. de variación (CV%)",
    "Cuartil 1 (Q1)", "Cuartil 3 (Q3)", "Rango intercuartílico (IQR)",
    "Asimetría de Pearson", "Curtosis", "Valores atípicos"
  ),
  Valor = c(
    format(n_x, big.mark = ","), min(x), max(x), rango_val,
    round(media, 2), mediana, moda_val,
    round(varianza, 2), round(desv_std, 2), paste0(round(cv, 2), "%"),
    q1, q3, iqr_val,
    round(asimetria, 4), round(curtosis_val, 4),
    status_atipicos
  ),
  stringsAsFactors = FALSE
)

kable(
  indicadores,
  caption   = "Tabla N°2: Estadísticos Descriptivos — Año de Inicio de Producción (CUMULATIVE_YEAR_STARTED), arrendamientos de hidrocarburos, Kansas, EE.UU.",
  col.names = c("Indicador", "Valor"),
  align     = c("l", "c")
) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "bordered"),
    full_width = FALSE, font_size = 12
  ) %>%
  row_spec(0, bold = TRUE, background = "#d3d3d3", color = "black")
Tabla N°2: Estadísticos Descriptivos — Año de Inicio de Producción (CUMULATIVE_YEAR_STARTED), arrendamientos de hidrocarburos, Kansas, EE.UU.
Indicador Valor
Tamaño muestral (n) 89,034
Mínimo 1930
Máximo 2026
Rango 96
Media 1984.71
Mediana 1983
Moda 1957
Varianza (s²) 381.25
Desviación estándar (s) 19.53
Coef. de variación (CV%) 0.98%
Cuartil 1 (Q1) 1970
Cuartil 3 (Q3) 2003
Rango intercuartílico (IQR) 33
Asimetría de Pearson 0.2629
Curtosis 2.3369
Valores atípicos 0 (Sin atípicos)

5. Conclusiones

5.1 Análisis Descriptivo y Conclusiones

La variable Año de Inicio de Producción (CUMULATIVE_YEAR_STARTED) registra el año en que cada arrendamiento de hidrocarburos comenzó su actividad productiva en Kansas, abarcando desde 1930 hasta 2026.

Con base en los 89,034 registros válidos agrupados en 10 intervalos de amplitud 10 años, se extraen las siguientes conclusiones:

Tendencia central. La media (1984.7) y la mediana (1983) revelan que más de la mitad de los arrendamientos inició producción antes del año 1983, lo que indica que la historia productiva de Kansas está fuertemente anclada en el siglo XX. La moda es el año 1957, el año que más veces se repite como inicio de producción en los registros.

Dispersión. La desviación estándar de 19.5 años y el CV de 0.98% confirman que el conjunto de arrendamientos abarca casi un siglo de actividad continua. El rango intercuartílico (IQR = 33 años) señala que el 50% central de los registros se concentra en un período de 33 años.

Forma de la distribución. La asimetría de Pearson de 0.2629 indica una distribución asimétrica positiva: existe una concentración histórica de arrendamientos en las décadas pasadas, con una cola hacia los años más recientes. La curtosis de 2.3369 señala una distribución platicúrtica: la actividad productiva se distribuyó de forma relativamente uniforme a lo largo de las décadas.

Intervalo de mayor actividad. El intervalo con mayor frecuencia concentra 19,406 arrendamientos (21.80%), coincidiendo históricamente con el auge de la industria petrolera en Kansas motivado por los precios internacionales del petróleo y los avances tecnológicos en extracción.

Conclusión general. La actividad de arrendamiento de hidrocarburos en Kansas muestra una historia productiva extensa que se inició con fuerza en el siglo XX y que ha continuado, aunque con menor intensidad, hacia años más recientes. La distribución temporal sugiere que el sector atravesó etapas de expansión y contracción ligadas a factores económicos y tecnológicos, y que la base instalada de arrendamientos históricos sigue siendo el núcleo central del inventario productivo del estado.


Autor: Leslye Quinchiguango — Análisis Estadístico, Kansas Hydrocarbon Leases Dataset