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_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

2. Extracción y Limpieza de la Variable

La variable CUMULATIVE_YEAR_STARTED registra el año en que inició la producción acumulada de cada arrendamiento. Se filtran valores enteros válidos en el rango 1930–2026.

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.

3. 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.

Justificación: La variable presenta 95 valores únicos dentro de un rango de 96 años. Al superar el umbral de 10 valores distintos, se agrupa en intervalos de clase y se trata como variable cuantitativa continua. La escala es de intervalo: el año 0 no representa ausencia de tiempo, por lo que no existe un cero absoluto.


4. Determinación de los Intervalos (Regla de Sturges)

\[k = 1 + 3{,}322 \cdot \log_{10}(n) \qquad c = \left\lceil \frac{\text{Rango}}{k} \right\rceil\]

x     <- x_raw
n     <- length(x)
k     <- ceiling(1 + 3.322 * log10(n))
rango <- max(x) - min(x)
c_amp <- ceiling(rango / k)

cat("n =", n, "| k =", k, "| Rango =", rango, "| Amplitud c =", c_amp, "\n")
## n = 89034 | k = 18 | Rango = 96 | Amplitud c = 6
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   # marca de clase correcta: (Li + Ls) / 2

5. Tabla de Distribución de Frecuencias

Se construye la tabla de la variable cuantitativa continua Año de Inicio de Producción, correspondiente a los arrendamientos de hidrocarburos de Kansas, EE.UU., período 1930–2026.

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          # límite superior real del intervalo (abierto)

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))

# Etiquetas de intervalos con notación [Li, Ls)
etiq_intervalo    <- paste0("[", li, " – ", ls, ")")
etiq_intervalo[k] <- paste0("[", li[k], " – ", ls[k] - 1, "]")  # último: cerrado

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
)

# Convertir TODAS las columnas numéricas a character antes de armar el total
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)
  )

# Fila de totales: todos los valores reales
total_row <- data.frame(
  Intervalo = "**TOTAL**",
  MC        = "—",
  ni        = as.character(n),
  hi_pct    = "100.00%",
  hi_real   = "1.0000",
  Ni_a      = as.character(n),
  Hi_a      = "1.0000",
  Ni_d      = as.character(n),
  Hi_d      = "1.0000",
  stringsAsFactors = FALSE
)

tabla_final <- bind_rows(tabla_df2, total_row)

kable(
  tabla_final,
  caption = paste0(
    "Tabla N°1: Distribución de Frecuencias de la Variable Cuantitativa Continua ",
    "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 de la Variable Cuantitativa Continua 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 – 1936) 1933 7 0.01% 0.0001 7 0.0001 89034 1.0000
[1936 – 1942) 1939 1509 1.69% 0.0169 1516 0.0170 89027 0.9999
[1942 – 1948) 1945 1118 1.26% 0.0126 2634 0.0296 87518 0.9830
[1948 – 1954) 1951 2118 2.38% 0.0238 4752 0.0534 86400 0.9704
[1954 – 1960) 1957 5690 6.39% 0.0639 10442 0.1173 84282 0.9466
[1960 – 1966) 1963 5078 5.70% 0.0570 15520 0.1743 78592 0.8827
[1966 – 1972) 1969 8458 9.50% 0.0950 23978 0.2693 73514 0.8257
[1972 – 1978) 1975 7063 7.93% 0.0793 31041 0.3486 65056 0.7307
[1978 – 1984) 1981 13534 15.20% 0.1520 44575 0.5007 57993 0.6514
[1984 – 1990) 1987 9445 10.61% 0.1061 54020 0.6067 44459 0.4993
[1990 – 1996) 1993 7557 8.49% 0.0849 61577 0.6916 35014 0.3933
[1996 – 2002) 1999 4330 4.86% 0.0486 65907 0.7402 27457 0.3084
[2002 – 2008) 2005 8902 10.00% 0.1000 74809 0.8402 23127 0.2598
[2008 – 2014) 2011 9043 10.16% 0.1016 83852 0.9418 14225 0.1598
[2014 – 2020) 2017 3797 4.26% 0.0426 87649 0.9844 5182 0.0582
[2020 – 2026) 2023 1373 1.54% 0.0154 89022 0.9999 1385 0.0156
[2026 – 2032) 2029 12 0.01% 0.0001 89034 1.0000 12 0.0001
[2032 – 2026] 2029.5 0 0.00% 0.0000 89034 1.0000 0 0.0000
TOTAL 89034 100.00% 1.0000 89034 1.0000 89034 1.0000

6. Indicadores Estadísticos

n_x          <- length(x)
media        <- mean(x)
mediana      <- median(x)
idx_moda     <- which.max(freq_abs)
moda_mc      <- mc[idx_moda]
varianza     <- var(x)
desv_std     <- sd(x)
cv           <- (desv_std / media) * 100
rango_val    <- max(x) - min(x)
q1           <- as.numeric(quantile(x, 0.25))
q3           <- as.numeric(quantile(x, 0.75))
iqr_val      <- IQR(x)
asimetria    <- (3 * (media - mediana)) / desv_std
curtosis_val <- (sum((x - media)^4) / n_x) / (desv_std^4)

indicadores <- data.frame(
  Indicador = c(
    "Tamaño muestral (n)", "Mínimo", "Máximo", "Rango",
    "Media (x̄)", "Mediana (Me)", "Moda (marca de clase modal)",
    "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"
  ),
  Valor = c(
    format(n_x, big.mark = ","), min(x), max(x), rango_val,
    round(media, 2), mediana, round(moda_mc, 1),
    round(varianza, 2), round(desv_std, 2), paste0(round(cv, 2), "%"),
    q1, q3, iqr_val,
    round(asimetria, 4), round(curtosis_val, 4)
  ),
  stringsAsFactors = FALSE
)

kable(
  indicadores,
  caption   = "Tabla N°2: Indicadores Estadísticos de la Variable Año de Inicio de Producción, 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: Indicadores Estadísticos de la Variable Año de Inicio de Producción, arrendamientos de hidrocarburos, Kansas, EE.UU.
Indicador Valor
Tamaño muestral (n) 89,034
Mínimo 1930
Máximo 2026
Rango 96
Media (x̄)
1984.71

7. Representación Gráfica

7.1 Gráfica N°1 — Histograma

grises <- gray(seq(0.25, 0.80, length.out = k))
par(mar = c(5, 6, 6, 2))
h_obj <- hist(x, breaks = breaks_vec, plot = FALSE)
plot(h_obj,
     col = grises, border = "black",
     freq = TRUE, main = "", xlab = "", ylab = "", las = 1)
mtext("Frecuencia Absoluta (ni)", side = 2, line = 4.5, cex = 1)
mtext("Año de inicio de producción", side = 1, line = 3.5, cex = 1)
mtext(
  "Gráfica N°1: Histograma de Frecuencias Absolutas — 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
)

7.2 Gráfica N°2 — Polígono de Frecuencias

mc_ext <- c(mc[1] - c_amp, mc, mc[k] + c_amp)
ni_ext <- c(0, freq_abs, 0)
par(mar = c(5, 6, 6, 2))
plot(mc_ext, ni_ext,
     type = "n", xlab = "", ylab = "", main = "",
     ylim = c(0, max(ni_ext) * 1.12), las = 1)
polygon(c(mc_ext[1], mc_ext, tail(mc_ext,1)),
        c(0, ni_ext, 0), col = "gray80", border = NA)
lines(mc_ext, ni_ext, col = "black", lwd = 2)
points(mc_ext, ni_ext, pch = 16, col = "black", cex = 0.9)
mtext("Frecuencia Absoluta (ni)", side = 2, line = 4.5, cex = 1)
mtext("Marca de Clase (Año)", side = 1, line = 3.5, cex = 1)
mtext(
  "Gráfica N°2: Polígono de Frecuencias — 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
)

7.3 Gráfica N°3 — Boxplot

par(mar = c(5, 4, 6, 2))
boxplot(x,
        col = "gray75", border = "black",
        horizontal = TRUE, outline = TRUE, pch = 16, cex = 0.5,
        main = "", xlab = "", ylab = "")
mtext("Año de inicio de producción", side = 1, line = 3.5, cex = 1)
mtext(
  "Gráfica N°3: Boxplot — 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.38, labels = paste0("Q1=", q1),      cex = 0.8)
text(mediana, 0.62, labels = paste0("Me=", mediana), cex = 0.8)
text(q3,      1.38, labels = paste0("Q3=", q3),      cex = 0.8)

7.4 Gráfica N°4 — Ojiva Creciente

x_asc <- c(li[1], ls)
y_asc <- c(0, Ni_asc)
par(mar = c(5, 7, 6, 2))
plot(x_asc, y_asc,
     type = "b", pch = 16, lwd = 2, col = "black",
     ylim = c(0, n * 1.05), xlab = "", ylab = "", main = "", las = 1)
grid(col = "gray85", lty = "dotted")
mtext("Frec. Absoluta Acumulada Creciente  Ni ↑", side = 2, line = 5, cex = 0.9)
mtext("Año de inicio de producción", side = 1, line = 3.5, cex = 1)
mtext(
  "Gráfica N°4: Ojiva Creciente — 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
)

7.5 Gráfica N°5 — Ojiva Decreciente

x_desc <- c(li[1], ls)
y_desc <- c(n, Ni_desc)
par(mar = c(5, 7, 6, 2))
plot(x_desc, y_desc,
     type = "b", pch = 16, lwd = 2, col = "black",
     ylim = c(0, n * 1.05), xlab = "", ylab = "", main = "", las = 1)
grid(col = "gray85", lty = "dotted")
mtext("Frec. Absoluta Acumulada Decreciente  Ni ↓", side = 2, line = 5, cex = 0.9)
mtext("Año de inicio de producción", side = 1, line = 3.5, cex = 1)
mtext(
  "Gráfica N°5: Ojiva Decreciente — 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
)


8. Interpretación General

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 18 intervalos de amplitud 6 años, se pueden extraer las siguientes conclusiones:

Tendencia central. La media (1984.7) y la mediana (1983) revelan que más de la mitad de los arrendamientos iniciaron producción antes del año 1983, lo que indica que la historia productiva de Kansas está fuertemente anclada en el siglo XX. La marca de clase modal corresponde al intervalo [r li[idx_moda] – 1984)`, período de mayor actividad registrada.

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, lo que denota épocas de mayor actividad relativa frente a períodos de menor actividad.

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, posiblemente reflejando la madurez del sector y la reducción de nuevas concesiones. 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, sin picos extremadamente pronunciados.

Intervalo de mayor actividad. El intervalo modal [r li[idx_moda] – 1984)` concentra 13,534 arrendamientos (15.20%), lo que históricamente coincide con las épocas de mayor expansión de la industria petrolera en el estado de Kansas. Este período probablemente refleja el auge de perforaciones motivado por precios internacionales favorables o avances tecnológicos en la 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