Variable Original: Production Start Year


1 Carga de Librerías

Para ejecutar el análisis estadístico de inicio de producción de los yacimientos mundiales de hidrocarburos, se cargan las librerías necesarias.

library(dplyr)
library(ggplot2)
library(knitr)
library(kableExtra)
library(readxl)
library(e1071)

2 Leer Datos

Se carga el dataset mundial de extracción de petróleo y gas, conformado por 49,212 registros de campos, yacimientos y plantas extractivas distribuidas en distintos países.

datos <- read_excel("dataset_mundial_petro.xlsx")
cat("Dimensiones del dataset:", nrow(datos), "filas y", ncol(datos), "columnas\n")
## Dimensiones del dataset: 49212 filas y 32 columnas

3 Extraer la Variable

Se extrae la variable Production Start Year, que indica el año en que cada yacimiento de petróleo o gas inició formalmente su actividad extractiva comercial. Tras eliminar valores ausentes se obtienen 1,947 registros válidos que abarcan desde 1896 hasta 2027.

production_year <- as.numeric(datos$`Production start year`)
production_year <- production_year[!is.na(production_year)]
cat("Total de registros válidos:", length(production_year), "\n")
## Total de registros válidos: 1947
cat("Primeros 10 valores:", head(production_year, 10), "\n")
## Primeros 10 valores: 1951 2009 1969 1979 1987 1998 1981 2005 1985 2002

4 Conteo

Se cuantifica el número de yacimientos extractivos que iniciaron operaciones por década, con el fin de identificar los periodos de mayor expansión de la actividad productiva de petróleo y gas a nivel mundial.

conteo <- as.data.frame(table(production_year))
colnames(conteo) <- c("Año de Inicio de Producción", "Frecuencia Absoluta")
cat("Total de años únicos registrados:", nrow(conteo), "\n")
## Total de años únicos registrados: 91
cat("Año con más inicios de producción:", conteo[which.max(conteo$`Frecuencia Absoluta`), 1], 
    "con", max(conteo$`Frecuencia Absoluta`), "registros\n")
## Año con más inicios de producción: 82 con 70 registros

5 Tabla de Distribución de Frecuencias

Se construye la tabla de frecuencias agrupando los inicios de producción por décadas, incluyendo frecuencia absoluta, relativa y acumulada ascendente y descendente, para visualizar la evolución histórica de la actividad extractiva mundial de hidrocarburos.

decada <- floor(production_year / 10) * 10
tabla_decadas <- as.data.frame(table(decada))
colnames(tabla_decadas) <- c("Década", "ni")

tabla_decadas <- tabla_decadas %>%
  mutate(
    `hi (%)` = paste0(round(ni / sum(ni) * 100, 2), "%"),
    `Ni Asc` = cumsum(ni),
    `Ni Dsc` = sum(ni) - cumsum(ni) + ni,
    `Hi Asc` = paste0(round(cumsum(ni / sum(ni)) * 100, 2), "%"),
    `Hi Dsc` = paste0(round((sum(ni) - cumsum(ni) + ni) / sum(ni) * 100, 2), "%")
  )

# Columna adicional solo para mostrar el intervalo en la tabla (no afecta gráficos)
tabla_decadas_mostrar <- tabla_decadas
inicio <- as.numeric(as.character(tabla_decadas$Década))
fin <- inicio + 10

# La primera década inicia en el valor mínimo real y la última termina en el máximo real
inicio[1] <- min(production_year)
fin[length(fin)] <- max(production_year)

tabla_decadas_mostrar$Década <- ifelse(
  seq_along(inicio) == length(inicio),
  paste0("[", inicio, "-", fin, "]"),
  paste0("[", inicio, "-", fin, ")")
)

kable(tabla_decadas_mostrar, align = "c", caption = "Tabla de Frecuencias por Década — Production Start Year") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "bordered"),
                full_width = FALSE,
                position = "center") %>%
  row_spec(0, bold = TRUE, background = "#d9d9d9", color = "black")
Tabla de Frecuencias por Década — Production Start Year
Década ni hi (%) Ni Asc Ni Dsc Hi Asc Hi Dsc
[1896-1900) 1 0.05% 1 1947 0.05% 100%
[1910-1920) 3 0.15% 4 1946 0.21% 99.95%
[1920-1930) 3 0.15% 7 1943 0.36% 99.79%
[1930-1940) 11 0.56% 18 1940 0.92% 99.64%
[1940-1950) 13 0.67% 31 1929 1.59% 99.08%
[1950-1960) 56 2.88% 87 1916 4.47% 98.41%
[1960-1970) 119 6.11% 206 1860 10.58% 95.53%
[1970-1980) 152 7.81% 358 1741 18.39% 89.42%
[1980-1990) 178 9.14% 536 1589 27.53% 81.61%
[1990-2000) 345 17.72% 881 1411 45.25% 72.47%
[2000-2010) 426 21.88% 1307 1066 67.13% 54.75%
[2010-2020) 495 25.42% 1802 640 92.55% 32.87%
[2020-2027] 145 7.45% 1947 145 100% 7.45%

6 Gráficas de distribucion de frecuencias

6.1 Gráfica de barras

El gráfico de barras muestra la distribución de los 1,947 yacimientos de petróleo y gas según la década en que iniciaron su producción. Se evidencia un crecimiento sostenido desde la década de 1960, alcanzando su punto máximo en la década de 2010 con 495 yacimientos, lo que representa el 25.42% del total.

# Crear etiquetas de intervalo iguales a las de la tabla, para el eje X
inicio_barras <- as.numeric(as.character(tabla_decadas$Década))
fin_barras <- inicio_barras + 10
inicio_barras[1] <- min(production_year)
fin_barras[length(fin_barras)] <- max(production_year)

etiquetas_barras <- ifelse(
  seq_along(inicio_barras) == length(inicio_barras),
  paste0("[", inicio_barras, "-", fin_barras, "]"),
  paste0("[", inicio_barras, "-", fin_barras, ")")
)

tabla_decadas_barras <- tabla_decadas
tabla_decadas_barras$Década <- factor(tabla_decadas_barras$Década,
                                       labels = etiquetas_barras)

ggplot(tabla_decadas_barras, aes(x = Década, y = ni)) +
  geom_bar(stat = "identity", fill = "#e74c3c", color = "white", alpha = 0.85) +
  labs(
    title = "Inicios de Producción por Década",
    x = "Década",
    y = "Número de Yacimientos (ni)",
    caption = "Fuente: Dataset Mundial de Petróleo y Gas"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5),
    axis.text.x = element_text(angle = 45, hjust = 1)
  )


6.2 Ojiva

La ojiva permite visualizar cómo se acumula la actividad productiva a lo largo del tiempo. La curva ascendente indica que el 67.13% de los yacimientos ya estaban en producción para el año 2000, mientras que la curva descendente confirma que el 32.87% restante inició operaciones a partir de la década de 2010.

tabla_ojiva <- tabla_decadas %>%
  mutate(
    NiAsc = cumsum(ni),
    NiDsc = sum(ni) - cumsum(ni) + ni,
    Decada_num = as.numeric(as.character(Década))
  )

ggplot(tabla_ojiva, aes(x = Decada_num)) +
  geom_line(aes(y = NiAsc, color = "Ascendente"), size = 1.2) +
  geom_point(aes(y = NiAsc, color = "Ascendente"), size = 2.5) +
  geom_line(aes(y = NiDsc, color = "Descendente"), size = 1.2) +
  geom_point(aes(y = NiDsc, color = "Descendente"), size = 2.5) +
  scale_color_manual(values = c("Ascendente" = "#e74c3c", "Descendente" = "#2980b9")) +
  labs(
    title = "Frecuencia Acumulada de Inicios de Producción",
    x = "Década",
    y = "Frecuencia Acumulada",
    color = "Tipo",
    caption = "Fuente: Dataset Mundial de Petróleo y Gas"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5),
    axis.text.x = element_text(angle = 45, hjust = 1)
  )


6.3 diagrama de cajas

El diagrama de cajas revela que el 50% central de los yacimientos inició producción entre 1986 y 2013, con una mediana de 2002. Se observan valores atípicos en los extremos inferiores correspondientes a yacimientos históricos que operan desde finales del siglo XIX.

df_plot <- data.frame(año = production_year)

ggplot(df_plot, aes(x = año)) +
  geom_boxplot(fill = "#e67e22", color = "#1a252f", alpha = 0.8, width = 0.4) +
  labs(
    title = "Dispersión del Año de Inicio de Producción",
    y = "Año de Inicio de Producción",
    caption = "Fuente: Dataset Mundial de Petróleo y Gas"
  ) +
  theme_minimal(base_size = 13) +
  theme(plot.title = element_text(face = "bold", hjust = 0.5))


7 Indicadores Estadísticos

A continuación se presentan los indicadores estadísticos que resumen el comportamiento del año de inicio de producción de los yacimientos de petróleo y gas a nivel mundial.

variable  <- "Production Start Year"
rango     <- paste0("[ ", min(production_year), " ; ", max(production_year), " ]")
media     <- round(mean(production_year), 0)
mediana   <- round(median(production_year), 2)
moda_val  <- as.numeric(names(sort(table(production_year), decreasing = TRUE)[1]))
varianza  <- round(var(production_year), 2)
desv_est  <- round(sd(production_year), 2)
cv        <- round((desv_est / media) * 100, 2)
asimetria <- round(skewness(production_year), 4)
curtosis  <- round(kurtosis(production_year), 4)

q1  <- quantile(production_year, 0.25)
q3  <- quantile(production_year, 0.75)
iqr <- q3 - q1
limite_inf <- q1 - 1.5 * iqr
limite_sup <- q3 + 1.5 * iqr

valores_outliers <- production_year[production_year < limite_inf | production_year > limite_sup]
n_outliers <- length(valores_outliers)

if (n_outliers > 0) {
  outliers_txt <- paste0(n_outliers, " [ ", round(min(valores_outliers), 2), " ; ", round(max(valores_outliers), 2), " ]")
} else {
  outliers_txt <- "0 [ Sin outliers ]"
}

indicadores <- data.frame(
  Variable     = variable,
  Rango        = rango,
  `Media (X)`  = media,
  `Mediana (Me)` = mediana,
  `Moda (Mo)`  = moda_val,
  `Varianza (S²)` = varianza,
  `Desv. Est. (S)` = desv_est,
  `C.V. (%)`   = cv,
  `Asimetría (As)` = asimetria,
  `Curtosis (K)` = curtosis,
  `Outliers [Intervalo]` = outliers_txt,
  check.names = FALSE
)

kable(indicadores, align = "c", escape = FALSE,
      caption = "<div style='font-size:18px; font-weight:bold; text-align:center;'>Tabla N°1: Indicadores Estadísticos de Production Start Year</div>") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "bordered"),
                full_width = TRUE,
                position = "center") %>%
  row_spec(0, bold = TRUE, background = "#dbe9f9", color = "black") %>%
  footnote(general = "Autor: Grupo 5", general_title = "", footnote_as_chunk = TRUE)
Tabla N°1: Indicadores Estadísticos de Production Start Year
Variable Rango Media (X) Mediana (Me) Moda (Mo) Varianza (S²) Desv. Est. (S) C.V. (%) Asimetría (As) Curtosis (K) Outliers [Intervalo]
Production Start Year [ 1896 ; 2027 ] 1998 2002 2016 375.87 19.39 0.97 -1.0544 1.0164 21 [ 1896 ; 1944 ]
Autor: Grupo 5

8 Conclusión

Los valores de “Año de Inicio de Producción” fluctúan entre 1896 y 2027 y gira entorno a 1998, con una desviacion estandar de 19.39. Con 21[1896-1944] siendo un conjunto de datos homogéneo, cuyos valores se agrupan fuerte en la parte alta de Año de Inicio de Producción. Por lo anterior el comportamiento es beneficioso. .