Variable Original: Status Year


1 Cargar Librerías

Para ejecutar el análisis estadístico sobre la extracción mundial de petróleo y gas, se cargan las librerías necesarias. dplyr permite filtrar y transformar los registros de producción, readxl habilita la lectura del dataset en formato Excel, mientras que knitr y kableExtra estructuran los resultados estadísticos de forma clara y visualmente organizada.

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

2 Cargar Datos

Se importa el dataset global de extracción de petróleo y gas, conformado por 49,212 registros de yacimientos y unidades productivas distribuidas en distintos países del mundo.

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 selecciona la variable Status Year, que registra el año en el que se actualizó o verificó por última vez el estado operativo de cada unidad productiva de petróleo y gas. Tras eliminar valores ausentes se obtienen 8,048 registros válidos, con datos desde 1989 hasta 2024. Es importante considerar que esta variable presenta un 83.6% de valores faltantes en el dataset, por lo que los resultados reflejan únicamente las unidades con estado documentado.

status_year <- as.numeric(datos$`Status year`)
status_year <- status_year[!is.na(status_year)]
cat("Total de registros válidos:", length(status_year), "\n")
## Total de registros válidos: 8048
cat("Primeros 10 valores:", head(status_year, 10), "\n")
## Primeros 10 valores: 2023 2022 2022 2022 2022 2022 2022 2022 2020 2020

4 Conteo

Se contabiliza el número de unidades productivas por año de estado, lo que permite identificar en qué años se realizaron más actualizaciones o verificaciones del estado operativo de los yacimientos en el dataset mundial.

conteo <- as.data.frame(table(status_year))
colnames(conteo) <- c("Año de Estado", "Frecuencia Absoluta")
cat("Total de años únicos registrados:", nrow(conteo), "\n")
## Total de años únicos registrados: 22
cat("Año con más registros:", conteo[which.max(conteo$`Frecuencia Absoluta`), 1],
    "con", max(conteo$`Frecuencia Absoluta`), "registros\n")
## Año con más registros: 20 con 3213 registros

5 Tabla de Frecuencia

Se construye la tabla de frecuencias por año (sin agrupar por décadas, dado que la variable abarca solo el período 1989–2024), mostrando frecuencia absoluta, relativa y acumulada ascendente y descendente. Esto permite visualizar con precisión en qué años se concentra la mayor actividad de actualización del estado de las unidades petroleras y gasíferas.

tabla_anios <- as.data.frame(table(status_year))
colnames(tabla_anios) <- c("Año", "ni")

tabla_anios <- tabla_anios %>%
  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), "%")
  )

kable(tabla_anios, align = "c", caption = "Tabla de Frecuencias por Año — Status 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 Año — Status Year
Año ni hi (%) Ni Asc Ni Dsc Hi Asc Hi Dsc
1989 1 0.01% 1 8048 0.01% 100%
1992 1 0.01% 2 8047 0.02% 99.99%
2001 2 0.02% 4 8046 0.05% 99.98%
2005 2 0.02% 6 8044 0.07% 99.95%
2006 2 0.02% 8 8042 0.1% 99.93%
2007 6 0.07% 14 8040 0.17% 99.9%
2009 4 0.05% 18 8034 0.22% 99.83%
2010 4 0.05% 22 8030 0.27% 99.78%
2011 9 0.11% 31 8026 0.39% 99.73%
2012 6 0.07% 37 8017 0.46% 99.61%
2013 14 0.17% 51 8011 0.63% 99.54%
2014 11 0.14% 62 7997 0.77% 99.37%
2015 98 1.22% 160 7986 1.99% 99.23%
2016 54 0.67% 214 7888 2.66% 98.01%
2017 372 4.62% 586 7834 7.28% 97.34%
2018 69 0.86% 655 7462 8.14% 92.72%
2019 1073 13.33% 1728 7393 21.47% 91.86%
2020 701 8.71% 2429 6320 30.18% 78.53%
2021 1488 18.49% 3917 5619 48.67% 69.82%
2022 3213 39.92% 7130 4131 88.59% 51.33%
2023 908 11.28% 8038 918 99.88% 11.41%
2024 10 0.12% 8048 10 100% 0.12%

6 Gráficas

6.1 Gráfico de Barras

El gráfico representa el número de unidades productivas por año de estado registrado. Se observa una concentración muy marcada en los años 2019–2022, con el pico máximo en 2022 (3,213 registros), lo que indica que la mayor parte de las actualizaciones del estado operativo de los yacimientos ocurrieron en ese período reciente.

tabla_anios_plot <- tabla_anios %>%
  mutate(Año_num = as.character(as.numeric(as.character(Año))))

ggplot(tabla_anios_plot, aes(x = factor(Año_num), y = ni)) +
  geom_bar(stat = "identity", fill = "#2980b9", color = "white", alpha = 0.85) +
  labs(
    title = "Frecuencia de Registros por Año — Status Year",
    x = "Año de Estado",
    y = "Número de Registros (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

El gráfico ojiva presenta las frecuencias acumuladas ascendente y descendente de los registros por año de estado. Se puede observar que hasta el año 2018 la acumulación es muy lenta, y que el crecimiento más pronunciado ocurre entre 2019 y 2022, período en el que se registra la gran mayoría de las actualizaciones de estado de las unidades productivas.

tabla_ojiva <- tabla_anios %>%
  mutate(
    NiAsc = cumsum(ni),
    NiDsc = sum(ni) - cumsum(ni) + ni,
    Año_num = as.numeric(as.character(Año))
  )

ggplot(tabla_ojiva, aes(x = factor(Año_num))) +
  geom_line(aes(y = NiAsc, color = "Ascendente", group = 1), size = 1.2) +
  geom_point(aes(y = NiAsc, color = "Ascendente"), size = 2.5) +
  geom_line(aes(y = NiDsc, color = "Descendente", group = 1), size = 1.2) +
  geom_point(aes(y = NiDsc, color = "Descendente"), size = 2.5) +
  scale_color_manual(values = c("Ascendente" = "#2980b9", "Descendente" = "#e74c3c")) +
  labs(
    title = "Frecuencia Acumulada de Registros por Año — Status Year",
    x = "Año de Estado",
    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 muestra la distribución de los años de estado de las unidades productivas. La caja se concentra entre 2019 y 2023, con una mediana en 2022, lo que refleja que la mayoría de las actualizaciones de estado son recientes. Los escasos valores entre 1989 y 2014 aparecen como valores atípicos, indicando que muy pocas unidades tienen registros de estado anteriores a ese período.

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

ggplot(df_plot, aes(x = año)) +
  geom_boxplot(fill = "#27ae60", color = "#1a252f", alpha = 0.8, width = 0.4) +
  labs(
    title = "Distribución de los Años de Estado",
    x = "Año de Estado",
    caption = "Fuente: Dataset Mundial de Petróleo y Gas"
  ) +
 scale_x_continuous(breaks = sort(unique(status_year))) +
  theme_minimal(base_size = 13) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

  theme(plot.title = element_text(face = "bold", hjust = 0.5))
## <theme> List of 1
##  $ plot.title: <ggplot2::element_text>
##   ..@ family       : NULL
##   ..@ face         : chr "bold"
##   ..@ italic       : chr NA
##   ..@ fontweight   : num NA
##   ..@ fontwidth    : num NA
##   ..@ colour       : NULL
##   ..@ size         : NULL
##   ..@ hjust        : num 0.5
##   ..@ vjust        : NULL
##   ..@ angle        : NULL
##   ..@ lineheight   : NULL
##   ..@ margin       : NULL
##   ..@ debug        : NULL
##   ..@ inherit.blank: logi FALSE
##  @ complete: logi FALSE
##  @ validate: logi TRUE

7 Indicadores Estadísticos

Los indicadores estadísticos resumen el comportamiento del año de estado de las unidades productivas. La media (2020.87) y la mediana (2022) reflejan que los registros se concentran en años muy recientes. La asimetría negativa (-2.85) confirma que la cola de la distribución se extiende hacia años más antiguos, mientras que la curtosis alta (21.44) indica una distribución muy apuntada y concentrada alrededor del año 2022. La baja desviación estándar (1.99) muestra que los datos válidos son muy homogéneos en cuanto al año reportado.

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

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

kable(indicadores, align = "c",
      caption = "Indicadores Estadísticos — Status Year") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "bordered"),
                full_width = TRUE,
                position = "center") %>%
  row_spec(0, bold = TRUE, background = "#d9d9d9", color = "black")
Indicadores Estadísticos — Status Year
Variable Rango Media (X) Mediana (Me) Moda (Mo) Varianza (V) Desv. Est. (Sd) C.V. (%) Asimetría (As) Curtosis (K)
Status Year [1989; 2024] 2021 2022 2022 3.97 1.99 0.1 -2.8473 21.4333

8 Concluciones

La variable “Año de Estado” fluctúa entre 1989 y 2024 y sus valores se encuentran alrededor de 2022, con una desviación estándar de 1.99, siendo una variable homogénea; la distribución presenta una fuerte asimetría negativa de -2.8473, lo que indica que la mayoría de los registros se concentran en los años más recientes, y una curtosis leptocúrtica muy pronunciada de 21.4333, reflejando una alta concentración de datos alrededor del año 2022; por todo lo anterior, el comportamiento de la variable es bueno.