El presente informe analiza la variable Fecha de Finalización del Pozo (Date Well Completed) de los pozos de petróleo y gas del estado de Nueva York. Por tratarse de una variable cuantitativa discreta, se ha extraído el Año de la fecha de finalización y se han agrupado los registros por décadas para evaluar la evolución temporal de la actividad de perforación.
Sobre la reagrupación de clases: se revisó la frecuencia de cada década. Tomando los datos desde 1900, todas las décadas (1900–2020) superan los 160 pozos, por lo que no fue necesaria una reagrupación (fusión) de clases. Los registros anteriores a 1900 son muy escasos, por lo que se excluyen mediante el filtro.
library(readxl)
library(dplyr)
library(gt)
library(e1071)
library(lubridate)
col_principal <- "#0E6655"
col_barras <- "#16A085"
col_acento <- "#E67E22"
col_grid <- "#D7DBDD"
setwd("C:/Users/ASUS/Desktop/Estadistica/new_york_exel")
Datos_Brutos <- read.csv("Oil__Gas____Other_Regulated_Wells__Beginning_1860.csv", header = TRUE)
Datos <- Datos_Brutos %>%
mutate(Anio_Exacto = as.integer(sub(".*/([0-9]{4}).*", "\\1", Date.Well.Completed))) %>%
filter(!is.na(Anio_Exacto) & Anio_Exacto >= 1900 & Anio_Exacto <= 2026) %>%
mutate(
Decada_Inicio = floor(Anio_Exacto / 10) * 10,
Periodo = paste0(Decada_Inicio, " - ", Decada_Inicio + 9)
)
Variable_Exacta <- Datos$Anio_Exacto
if (length(Variable_Exacta) == 0) stop("ERROR: No hay datos válidos.")
TDF_Raw <- Datos %>%
group_by(Decada_Inicio, Periodo) %>%
summarise(ni = n(), .groups = "drop") %>%
arrange(Decada_Inicio)
ni <- TDF_Raw$ni
N <- sum(ni)
hi <- (ni / N) * 100
Ni_asc <- cumsum(ni)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_asc <- cumsum(hi)
Hi_desc <- rev(cumsum(rev(hi)))
TDF_Decadas <- data.frame(
Periodo = TDF_Raw$Periodo,
ni = ni,
hi = round(hi, 2),
Ni_asc = Ni_asc,
Ni_desc = Ni_desc,
Hi_asc = round(Hi_asc, 2),
Hi_desc = round(Hi_desc, 2)
)
cat("N (pozos con año de finalización 1900-2026):", N, "| Décadas:", nrow(TDF_Decadas), "\n")## N (pozos con año de finalización 1900-2026): 22481 | Décadas: 13
Se presenta la distribución de pozos agrupada en intervalos de 10 años (décadas). Se resalta en naranja la década de mayor actividad y en verde la fila de totales.
totales <- c("TOTAL", sum(ni), round(sum(hi), 2), "-", "-", "-", "-")
TDF_Char <- TDF_Decadas %>% mutate(across(everything(), as.character))
TDF_Show <- rbind(TDF_Char, totales)
modal_row <- which.max(TDF_Decadas$ni)
TDF_Show %>%
gt() %>%
tab_header(
title = md("**DISTRIBUCIÓN POR DÉCADAS**"),
subtitle = md("Variable: **Fecha de finalización del pozo (Date Well Completed)** · Nueva York")
) %>%
tab_spanner(label = "Frecuencias acumuladas",
columns = c(Ni_asc, Ni_desc, Hi_asc, Hi_desc)) %>%
cols_label(
Periodo = "Periodo (Década)",
ni = "Cant. Pozos (ni)",
hi = "Porcentaje (hi%)",
Ni_asc = "Ni (Asc)", Ni_desc = "Ni (Desc)",
Hi_asc = "Hi (Asc)", Hi_desc = "Hi (Desc)"
) %>%
cols_align(align = "center", columns = everything()) %>%
tab_style(
style = list(cell_fill(color = col_principal), cell_text(color = "white", weight = "bold")),
locations = cells_title()
) %>%
tab_style(
style = list(cell_fill(color = "#148F77"), cell_text(color = "white", weight = "bold")),
locations = cells_column_labels()
) %>%
tab_style(
style = list(cell_fill(color = "#148F77"), cell_text(color = "white", weight = "bold")),
locations = cells_column_spanners()
) %>%
tab_style(
style = list(cell_fill(color = "#FDEBD0"), cell_text(weight = "bold")),
locations = cells_body(rows = modal_row)
) %>%
tab_style(
style = list(cell_fill(color = "#D0ECE7"), cell_text(weight = "bold")),
locations = cells_body(rows = Periodo == "TOTAL")
) %>%
opt_row_striping() %>%
opt_table_font(font = google_font("Roboto")) %>%
tab_options(
table.font.size = px(13),
heading.align = "left",
heading.title.font.size = px(17),
data_row.padding = px(7),
table.border.top.color = col_principal,
table.border.bottom.color = col_principal,
column_labels.border.bottom.color = col_principal
) %>%
tab_source_note(md("*Fuente: NYS DEC — Oil, Gas & Other Regulated Wells. Elaboración: EDUARDO.*"))| DISTRIBUCIÓN POR DÉCADAS | ||||||
| Variable: Fecha de finalización del pozo (Date Well Completed) · Nueva York | ||||||
| Periodo (Década) | Cant. Pozos (ni) | Porcentaje (hi%) |
Frecuencias acumuladas
|
|||
|---|---|---|---|---|---|---|
| Ni (Asc) | Ni (Desc) | Hi (Asc) | Hi (Desc) | |||
| 1900 - 1909 | 314 | 1.4 | 314 | 22481 | 1.4 | 100 |
| 1910 - 1919 | 650 | 2.89 | 964 | 22167 | 4.29 | 98.6 |
| 1920 - 1929 | 681 | 3.03 | 1645 | 21517 | 7.32 | 95.71 |
| 1930 - 1939 | 1079 | 4.8 | 2724 | 20836 | 12.12 | 92.68 |
| 1940 - 1949 | 1025 | 4.56 | 3749 | 19757 | 16.68 | 87.88 |
| 1950 - 1959 | 1338 | 5.95 | 5087 | 18732 | 22.63 | 83.32 |
| 1960 - 1969 | 1858 | 8.26 | 6945 | 17394 | 30.89 | 77.37 |
| 1970 - 1979 | 3552 | 15.8 | 10497 | 15536 | 46.69 | 69.11 |
| 1980 - 1989 | 5451 | 24.25 | 15948 | 11984 | 70.94 | 53.31 |
| 1990 - 1999 | 1524 | 6.78 | 17472 | 6533 | 77.72 | 29.06 |
| 2000 - 2009 | 3079 | 13.7 | 20551 | 5009 | 91.41 | 22.28 |
| 2010 - 2019 | 1543 | 6.86 | 22094 | 1930 | 98.28 | 8.59 |
| 2020 - 2029 | 387 | 1.72 | 22481 | 387 | 100 | 1.72 |
| TOTAL | 22481 | 100 | - | - | - | - |
| Fuente: NYS DEC — Oil, Gas & Other Regulated Wells. Elaboración: EDUARDO. | ||||||
vals_x <- TDF_Decadas$Periodo
vals_y <- TDF_Decadas$ni
ylim_max <- max(vals_y) * 1.1
par(mar = c(10, 5, 4, 2))
bp <- barplot(vals_y,
main = "Gráfica N°1: Distribución del año de finalización del pozo (NY) — escala local",
cex.main = 0.85, ylab = "Cantidad de pozos",
col = col_barras, border = "white", axes = FALSE,
ylim = c(0, ylim_max), axisnames = FALSE)
axis(2, col = col_principal, col.axis = col_principal)
axis(1, at = bp, labels = vals_x, col = col_principal, col.axis = col_principal, las = 2, cex.axis = 0.8)
title(xlab = "Década", line = 8)
grid(nx = NA, ny = NULL, col = col_grid, lty = "dotted")
box(bty = "l", col = col_principal)par(mar = c(10, 5, 4, 2))
bp2 <- barplot(vals_y,
main = "Gráfica N°2: Distribución del año de finalización del pozo (NY) — escala global",
cex.main = 0.85, ylab = "Cantidad de pozos",
col = col_barras, border = "white", axes = FALSE,
ylim = c(0, N), axisnames = FALSE)
axis(2, col = col_principal, col.axis = col_principal)
axis(1, at = bp2, labels = vals_x, col = col_principal, col.axis = col_principal, las = 2, cex.axis = 0.8)
title(xlab = "Década", line = 8)
grid(nx = NA, ny = NULL, col = col_grid, lty = "dotted")
box(bty = "l", col = col_principal)par(mar = c(10, 5, 4, 2))
bp3 <- barplot(vals_y_pct,
main = "Gráfica N°3: Distribución porcentual del año de finalización del pozo (NY) — local",
cex.main = 0.85, ylab = "% del total",
col = col_barras, border = "white", axes = FALSE,
ylim = c(0, max(vals_y_pct) * 1.2), axisnames = FALSE)
axis(2, col = col_principal, col.axis = col_principal)
axis(1, at = bp3, labels = vals_x, col = col_principal, col.axis = col_principal, las = 2, cex.axis = 0.8)
text(x = bp3, y = vals_y_pct, label = paste0(round(vals_y_pct, 1), "%"), pos = 3, cex = 0.7, col = col_principal)
title(xlab = "Década", line = 8)
grid(nx = NA, ny = NULL, col = col_grid, lty = "dotted")
box(bty = "l", col = col_principal)par(mar = c(10, 5, 4, 2))
bp4 <- barplot(vals_y_pct,
main = "Gráfica N°4: Distribución porcentual del año de finalización del pozo (NY) — global",
cex.main = 0.85, ylab = "% del total",
col = col_barras, border = "white", axes = FALSE,
ylim = c(0, 100), axisnames = FALSE)
axis(2, col = col_principal, col.axis = col_principal)
axis(1, at = bp4, labels = vals_x, col = col_principal, col.axis = col_principal, las = 2, cex.axis = 0.8)
text(x = bp4, y = vals_y_pct, label = paste0(round(vals_y_pct, 1), "%"), pos = 3, cex = 0.7, col = col_principal)
title(xlab = "Década", line = 8)
abline(h = seq(0, 100, 20), col = col_grid, lty = "dotted")
box(bty = "l", col = col_principal)par(mar = c(7, 5, 4, 2))
boxplot(Variable_Exacta, horizontal = TRUE, col = col_barras,
main = "Gráfica N°5: Diagrama de caja del año de finalización del pozo (NY)",
cex.main = 0.85, xlab = "", outline = TRUE, outpch = 19, outcol = col_acento,
boxwex = 0.5, frame.plot = FALSE, xaxt = "n")
eje_x <- pretty(Variable_Exacta, n = 8)
axis(1, at = eje_x, labels = format(eje_x, scientific = FALSE), cex.axis = 0.8,
col = col_principal, col.axis = col_principal)
title(xlab = "Año exacto", line = 4)par(mar = c(10, 5, 4, 8), xpd = TRUE)
x_vals_num <- sort(unique(Datos$Decada_Inicio))
x_labels <- TDF_Decadas$Periodo
y_asc <- TDF_Decadas$Ni_asc
y_desc <- TDF_Decadas$Ni_desc
plot(x_vals_num, y_asc, type = "o", col = col_principal, lwd = 2, pch = 19,
main = "Gráfica N°6: Ojivas ascendente y descendente del año de finalización (NY)",
cex.main = 0.85, ylab = "Frecuencia acumulada", xlab = "",
axes = FALSE, frame.plot = FALSE)
axis(1, at = x_vals_num, labels = x_labels, las = 2, cex.axis = 0.8, col = col_principal, col.axis = col_principal)
axis(2, col = col_principal, col.axis = col_principal)
title(xlab = "Década", line = 8)
lines(x_vals_num, y_desc, type = "o", col = col_acento, lwd = 2, pch = 19)
legend("right", legend = c("Ascendente", "Descendente"),
col = c(col_principal, col_acento), lty = 1, pch = 19, cex = 0.7, lwd = 2,
inset = c(-0.15, 0), bty = "n")
grid(nx = NULL, ny = NULL, col = col_grid, lty = "dotted")media_val <- mean(Variable_Exacta)
mediana_val <- median(Variable_Exacta)
t_moda <- table(Variable_Exacta)
freq_max <- max(t_moda)
modas_calc <- as.numeric(names(t_moda)[t_moda == freq_max])
moda_txt <- paste(modas_calc, collapse = ", ")
rango_txt <- paste0("[", min(Variable_Exacta), "; ", max(Variable_Exacta), "]")
varianza_val <- var(Variable_Exacta)
sd_val <- sd(Variable_Exacta)
cv_val <- (sd_val / abs(media_val)) * 100
asimetria_val <- skewness(Variable_Exacta, type = 2)
curtosis_val <- kurtosis(Variable_Exacta, type = 2)
vals_atipicos <- boxplot.stats(Variable_Exacta)$out
num_atipicos <- length(vals_atipicos)
status_atipicos <- if (num_atipicos > 0) paste0(num_atipicos, " outliers") else "0 (Sin atípicos)"
df_resumen <- data.frame(
"Variable" = "Año de finalización (exacto)",
"Rango" = rango_txt,
"Media" = media_val,
"Mediana" = mediana_val,
"Moda" = moda_txt,
"Varianza" = varianza_val,
"Desv_Std" = sd_val,
"CV_Porc" = cv_val,
"Asimetria" = asimetria_val,
"Curtosis" = curtosis_val,
"Atipicos" = status_atipicos
)
df_resumen %>%
gt() %>%
tab_header(
title = md("**ESTADÍSTICOS DESCRIPTIVOS**"),
subtitle = "Indicadores calculados sobre los años exactos de finalización del pozo"
) %>%
tab_source_note(source_note = "Autor: EDUARDO") %>%
fmt_number(columns = c(Media, Mediana, Varianza, Desv_Std, CV_Porc, Curtosis), decimals = 2) %>%
fmt_number(columns = c(Asimetria), decimals = 4) %>%
cols_label(
Variable = "Variable", Rango = "Rango [Min; Max]",
Media = "Media (X̄)", Mediana = "Mediana (Me)", Moda = "Moda (Mo)",
Varianza = "Varianza (S²)", Desv_Std = "Desv. Est. (S)", CV_Porc = "C.V. (%)",
Asimetria = "Asimetría (As)", Curtosis = "Curtosis (K)", Atipicos = "Outliers"
) %>%
cols_align(align = "center", columns = everything()) %>%
tab_style(
style = list(cell_fill(color = col_principal), cell_text(color = "white", weight = "bold")),
locations = cells_title()
) %>%
tab_style(
style = list(cell_fill(color = "#148F77"), cell_text(color = "white", weight = "bold")),
locations = cells_column_labels()
) %>%
tab_style(
style = list(cell_fill(color = "#FDEBD0"), cell_text(weight = "bold")),
locations = cells_body(columns = Moda)
) %>%
opt_table_font(font = google_font("Roboto")) %>%
tab_options(
table.font.size = px(13),
heading.align = "left",
data_row.padding = px(9),
table.border.top.color = col_principal,
table.border.bottom.color = col_principal,
column_labels.border.bottom.color = col_principal
)| ESTADÍSTICOS DESCRIPTIVOS | ||||||||||
| Indicadores calculados sobre los años exactos de finalización del pozo | ||||||||||
| Variable | Rango [Min; Max] | Media (X̄) | Mediana (Me) | Moda (Mo) | Varianza (S²) | Desv. Est. (S) | C.V. (%) | Asimetría (As) | Curtosis (K) | Outliers |
|---|---|---|---|---|---|---|---|---|---|---|
| Año de finalización (exacto) | [1900; 2026] | 1,976.33 | 1,981.00 | 1984 | 727.91 | 26.98 | 1.37 | −0.6778 | 0.01 | 583 outliers |
| Autor: EDUARDO | ||||||||||
El análisis histórico de la variable Fecha de Finalización del Pozo abarca un extenso periodo desde 1900 hasta 2026, con un total de 22481 pozos registrados. La década de mayor actividad fue la de 1980 - 1989, y el año con más finalizaciones (moda) fue 1984.
El coeficiente de variación es de 1.37%, lo que indica que la intensidad de finalización de pozos ha sido relativamente constante a lo largo del tiempo. La asimetría de -0.6778 revela un sesgo hacia los años recientes (asimetría negativa), coherente con la concentración de la actividad en la década de 1980 y su posterior descenso. Se identificaron 583 años atípicos (finalizaciones muy tempranas respecto al grueso de la actividad).