Introducción

Este documento, elaborado con el software estadístico R, ofrece un análisis detallado de las emisiones globales de metano, incorporando datos de diversas regiones. El estudio se centra en sectores clave como la energía, prestando especial atención a segmentos como el petróleo, gas natural y el carbón.

La información proviene de la Agencia Internacional de Energía (IEA) y abarca varios años base, desde 2019 hasta 2021 para los sectores de Agricultura, Otros y Residuos, y 2023 para el sector Energético.

El análisis incluye una exploración detallada de las fuentes de emisiones. Además, el documento incorpora consideraciones sobre la metodología de recolección de datos y las técnicas de estimación empleadas.

Interrogantes clave para el análisis de las Emisiones Globales de Metano

En el análisis de emisiones globales de metano utilizando R, se ha establecido un conjunto de interrogantes estratégicas que guiarán la exploración analítica. Estas preguntas son esenciales para entender el panorama global de emisiones de metano:

  1. ¿Cuál es el volumen total de emisiones de metano a nivel mundial?
  2. ¿Cuánto contribuye el sector energético al total de emisiones de metano?
  3. ¿Cómo se distribuyen las emisiones de metano por sectores?
  4. ¿Cuáles son las estimaciones de emisiones de metano asociadas a la producción y consumo de petróleo, gas natural y carbón?
  5. ¿Cómo se clasifican los sectores y regiones en términos de emisiones globales de metano?
  6. ¿Qué países lideran las estadísticas de emisiones de metano no energético y energético a nivel global?

Objetivo

El objetivo de este estudio es realizar un análisis de las tendencias y patrones en las emisiones de metano a nivel global, clasificando los datos por región, sector y tipo de emisión. Se enfocará en identificar las principales fuentes de estas emisiones desde el año 2019 a 2023. Este estudio pretende no solo explorar las variaciones de las emisiones a nivel global y regional, sino también destacar visualmente su impacto ambiental.

Configurando R

Definido el objetivo, el siguiente paso es preparar el entorno en el que se desarrollará el análisis. Este proceso preliminar es necesario para garantizar que los datos puedan ser manipulados y analizados de forma eficiente y efectiva. A continuación, se detallan las fases iniciales y esenciales, que incluyen configurar adecuadamente el software R y cargar los datasets seleccionados. Estas acciones establecen la base sobre la cual se llevará a cabo el análisis, con el fin de dar respuesta a las interrogantes clave previamente identificadas.

Para comenzar el análisis, es esencial configurar el entorno de R cargando las librerías necesarias que facilitarán la importación, manipulación y visualización de los datos de emisiones de metano. A continuación, se presentan los scripts para preparar el entorno:

knitr::opts_chunk$set(echo = TRUE, message = TRUE)

# Instala los paquetes si aún no están instalados
if (!require("readr")) install.packages("readr")
## Loading required package: readr
if (!require("lattice")) install.packages("lattice")
## Loading required package: lattice
if (!require("latticeExtra")) install.packages("latticeExtra")
## Loading required package: latticeExtra
if (!require("dplyr")) install.packages("dplyr")
## Loading required package: dplyr
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
if (!require("tidyr")) install.packages("tidyr")
## Loading required package: tidyr
if (!require("RColorBrewer")) install.packages("RColorBrewer")
## Loading required package: RColorBrewer
if (!require("reshape2")) install.packages("readr")
## Loading required package: reshape2
## 
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
## 
##     smiths
if (!require("knitr")) install.packages("knitr")
## Loading required package: knitr
# Carga las librerías
library(readr)
library(lattice)
library(latticeExtra)
library(dplyr)
library(tidyr)
library(RColorBrewer)
library(reshape2)
library(knitr)

Cargando los datasets

Se procede con la importación de los dos conjuntos de datos cuidadosamente seleccionados para este estudio. Cada uno se asignará a una variable específica, lo que permitirá un acceso eficiente y ordenado para su análisis y tratamiento posterior. Este paso inicial es escencial para asegurar una gestión efectiva de los datos.

# File #1
# Sustituya 'C:/' por la ubicación exacta donde se encuentre almacenado el siguiente archivo:
# IEA-MethaneEmissions-Global.csv
IEA_MethaneEmissions_Global <- read_csv("C:/IEA-MethaneEmissions-Global.csv")
## Rows: 22 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (7): region, source, type, segment, reason, baseYear, notes
## dbl (1): emissions
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(IEA_MethaneEmissions_Global)
# File #2
# Sustituya 'C:/' por la ubicación exacta donde se encuentre almacenado el siguiente archivo:
# IEA-MethaneEmissions-Country.cvs
IEA_MethaneEmissions_Country <- read_csv("C:/IEA-MethaneEmissions-Country.csv")
## Rows: 1506 Columns: 11
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (8): region, country, source, type, segment, reason, baseYear, notes
## dbl (3): emissions, emissionsRank, energyRank
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(IEA_MethaneEmissions_Country)

Análizando los archivos

En el análisis actual de los datasets sobre las emisiones de metano utilizando R, se procede a examinar la estructura y los primeros registros de los conjuntos de datos denominados IEA_MethaneEmissions_Global y IEA_MethaneEmissions_Country. Se utilizará el comando str() para obtener una visión clara de la estructura interna del dataset, lo que permitirá ver la organización de las columnas, el tipo de dato que contienen, y cualquier peculiaridad que pueda influir en el análisis posterior. A continuación, se empleará el comando head() para visualizar las primeras filas del conjunto de datos. Esto proporciona una vista preliminar del contenido real, ayudando así a entender mejor los datos con los que se trabajará y a confirmar que la estructura de los datos se alinea con las expectativas y necesidades analíticas.

str(IEA_MethaneEmissions_Global)
## spc_tbl_ [22 × 8] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ region   : chr [1:22] "World" "World" "World" "World" ...
##  $ emissions: num [1:22] 140639 9148 10502 2762 4362 ...
##  $ source   : chr [1:22] "IEA" "IEA" "IEA" "IEA" ...
##  $ type     : chr [1:22] "Agriculture" "Energy" "Energy" "Energy" ...
##  $ segment  : chr [1:22] "Total" "Bioenergy" "Coking coal" "Gas pipelines and LNG facilities" ...
##  $ reason   : chr [1:22] "All" "All" "All" "Fugitive" ...
##  $ baseYear : chr [1:22] "2019-2021" "2023" "2023" "2023" ...
##  $ notes    : chr [1:22] "Average based on United Nations Framework Convention on Climate Change (UNFCCC) (2022), Greenhouse Gas Data Int"| __truncated__ "Estimates from end-uses are for 2020 or 2021 (IEA, Greenhouse gas emissions from energy, 2022, https://www.iea."| __truncated__ NA NA ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   region = col_character(),
##   ..   emissions = col_double(),
##   ..   source = col_character(),
##   ..   type = col_character(),
##   ..   segment = col_character(),
##   ..   reason = col_character(),
##   ..   baseYear = col_character(),
##   ..   notes = col_character()
##   .. )
##  - attr(*, "problems")=<externalptr>
head(IEA_MethaneEmissions_Global)
## # A tibble: 6 × 8
##   region emissions source type        segment              reason baseYear notes
##   <chr>      <dbl> <chr>  <chr>       <chr>                <chr>  <chr>    <chr>
## 1 World    140639. IEA    Agriculture Total                All    2019-20… Aver…
## 2 World      9148. IEA    Energy      Bioenergy            All    2023     Esti…
## 3 World     10502. IEA    Energy      Coking coal          All    2023     <NA> 
## 4 World      2762. IEA    Energy      Gas pipelines and L… Fugit… 2023     <NA> 
## 5 World      4362. IEA    Energy      Gas pipelines and L… Vented 2023     <NA> 
## 6 World      1166. IEA    Energy      Offshore gas         Fugit… 2023     <NA>
str(IEA_MethaneEmissions_Country)
## spc_tbl_ [1,506 × 11] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ region       : chr [1:1506] "Africa" "Africa" "Africa" "Africa" ...
##  $ country      : chr [1:1506] "Algeria" "Algeria" "Algeria" "Algeria" ...
##  $ emissions    : num [1:1506] 260.82 0.01 45.26 71.49 190.95 ...
##  $ source       : chr [1:1506] "IEA" "IEA" "IEA" "IEA" ...
##  $ type         : chr [1:1506] "Agriculture" "Energy" "Energy" "Energy" ...
##  $ segment      : chr [1:1506] "Total" "Bioenergy" "Gas pipelines and LNG facilities" "Gas pipelines and LNG facilities" ...
##  $ reason       : chr [1:1506] "All" "All" "Fugitive" "Vented" ...
##  $ baseYear     : chr [1:1506] "2019-2021" "2023" "2023" "2023" ...
##  $ emissionsRank: num [1:1506] 19 19 19 19 19 19 19 19 19 19 ...
##  $ energyRank   : num [1:1506] 11 11 11 11 11 11 11 11 11 11 ...
##  $ notes        : chr [1:1506] "Average based on United Nations Framework Convention on Climate Change (UNFCCC) (2022), Greenhouse Gas Data Int"| __truncated__ "Estimates from end-uses are for 2020 or 2021 (IEA, Greenhouse gas emissions from energy, 2022, https://www.iea."| __truncated__ NA NA ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   region = col_character(),
##   ..   country = col_character(),
##   ..   emissions = col_double(),
##   ..   source = col_character(),
##   ..   type = col_character(),
##   ..   segment = col_character(),
##   ..   reason = col_character(),
##   ..   baseYear = col_character(),
##   ..   emissionsRank = col_double(),
##   ..   energyRank = col_double(),
##   ..   notes = col_character()
##   .. )
##  - attr(*, "problems")=<externalptr>
head(IEA_MethaneEmissions_Country)
## # A tibble: 6 × 11
##   region country emissions source type     segment reason baseYear emissionsRank
##   <chr>  <chr>       <dbl> <chr>  <chr>    <chr>   <chr>  <chr>            <dbl>
## 1 Africa Algeria  261.     IEA    Agricul… Total   All    2019-20…            19
## 2 Africa Algeria    0.0100 IEA    Energy   Bioene… All    2023                19
## 3 Africa Algeria   45.3    IEA    Energy   Gas pi… Fugit… 2023                19
## 4 Africa Algeria   71.5    IEA    Energy   Gas pi… Vented 2023                19
## 5 Africa Algeria  191.     IEA    Energy   Onshor… Fugit… 2023                19
## 6 Africa Algeria  476.     IEA    Energy   Onshor… Vented 2023                19
## # ℹ 2 more variables: energyRank <dbl>, notes <chr>

Respondiendo las interrogantes clave

Después de finalizar el análisis preliminar de los conjuntos de datos sobre emisiones de metano, el siguiente paso es utilizar esta información para abordar las seis interrogantes clave establecidas al inicio del estudio. Este proceso que intenta dar respuesta a esas interrogantes no solo implicará la aplicación de diversas técnicas analíticas para proporcionar respuestas claras a cada pregunta, sino que también incluirá la representación gráfica de estos hallazgos y el tratamiento detallado de los datos para facilitar una comprensión más accesible de los resultados.

1. ¿Cuál es el volumen total de emisiones de metano a nivel mundial?

Global emissions (kt) 2023

En este análisis, lo que se pretende es determinar el volumen total de emisiones de metano a nivel mundial para el año 2023. Para lograr esto, comenzamos filtrando el conjunto de datos IEA_MethaneEmissions_Global para incluir únicamente aquellas filas donde segment es igual a “Total”, asegurando que sólo consideramos los datos que representan las emisiones globales completas y no segmentos parciales o específicos.

Una vez que hemos filtrado los datos necesarios, procedemos a calcular la suma total de las emisiones usando la función sum() de R, aplicada a la columna emissions del subconjunto filtrado. Este cálculo proporciona el volumen total de metano emitido globalmente en el año indicado.

Finalmente, se utiliza la función print() para mostrar el resultado del cálculo, que es el total de emisiones de metano en kilotoneladas (kt) para 2023.

Este resultado revela la escala total de las emisiones de metano a nivel mundial, ofreciendo una perspectiva cuantitativa integral, que abarca todos los sectores sujetos de este análisis en el contexto más amplio de las emisiones de metano a nivel internacional.

# Filtramos para obtener solo las filas donde Segment es igual a "Total"
data_emissions_total_filtered <- subset(IEA_MethaneEmissions_Global, segment == "Total")

# Calculamos la suma total de las emisiones
data_emissions_total <- sum(data_emissions_total_filtered$emissions)
print(data_emissions_total)
## [1] 349476

2. ¿Cuánto contribuye el sector energético al total de emisiones de metano?

Energy-related emissions (kt) - 2023

En este análisis se busca determinar cuánto contribuye el sector energético al total de emisiones de metano para el año 2023. El proceso comienza con el filtrado de los datos dentro del conjunto IEA_MethaneEmissions_Global para seleccionar únicamente las filas donde segment corresponde a “Total” y type a “Energy”. Esta operación asegura que solo consideramos las emisiones totales provenientes del sector energético, excluyendo otros tipos de emisiones no relacionadas con la energía.

Tras aplicar este filtro, procedemos a obtener las emisiones específicas del sector energético. Esto se realiza accediendo directamente a la columna emissions del subconjunto filtrado, que contiene los datos de las emisiones en kilotoneladas (kt).

Finalmente, utilizamos la función print() para mostrar el total de emisiones de metano atribuibles al sector energético.

Este hallazgo proporciona una cifra clave que refleja la magnitud del impacto del sector energético en las emisiones globales de metano para el año especificado, ayudando a contextualizar la contribución relativa de este sector dentro del panorama global de emisiones de metano.

# Filtramos para obtener solo las filas donde Segment es igual a "Total" y el tipo es "Energy"
data_emissions_energy <- subset(IEA_MethaneEmissions_Global, segment == "Total" & type == "Energy")

# Obtenemos el total de las emisiones para el tipo "Energy"
data_emissions_energy_total <- data_emissions_energy$emissions
print(data_emissions_energy_total)
## [1] 128708.1

3. ¿Cómo se distribuyen las emisiones de metano por sectores?

Type (Sector): Agriculture, Energy, Waste, Other.

En este análisis se aborda la pregunta de cómo se distribuyen las emisiones de metano derivadas de la actividad humana entre los diferentes sectores: Agricultura, Energía, Residuos y Otros. Para lograr esto, se debe filtrar el conjunto de datos IEA_MethaneEmissions_Global para incluir solo las filas donde segment es igual a “Total”. Este filtro asegura que se está considerando solamente las emisiones totales de cada sector, lo que proporciona una visión clara y directa de la contribución de cada uno al problema global.

Una vez filtrado el conjunto de datos, se procede a seleccionar las columnas relevantes: type y emissions. Estas columnas se combinan en un nuevo dataframe, data_t_sel, que facilita la manipulación y visualización de los datos.

El siguiente paso en el análisis es ordenar las emisiones por sector de mayor a menor. Esto se logra mediante la función order(), y después se actualiza los niveles del factor type para que reflejen este nuevo orden. Este reordenamiento es necesario para visualizar claramente qué sectores son los mayores contribuyentes a las emisiones de metano.

Para mejorar la visualización en el gráfico final, se asignan colores específicos a cada sector utilizando una paleta de colores predefinida. Esto ayuda a diferenciar claramente entre los sectores.

Además, se establece una escala para el eje x del gráfico de barras horizontal, con intervalos de 35,000 kilotoneladas, ajustando la escala máxima para abarcar la emisión más alta, redondeada al múltiplo de 35,000 más cercano. Este ajuste en la escala asegura que todas las emisiones estén representadas adecuadamente en el gráfico.

Finalmente, se crea un gráfico de barras horizontal usando la función barchart() de la librería lattice, configurando las etiquetas y los colores de las barras según los tipos de emisión y ajustando las escalas para una mejor visualización. El título del gráfico “Emisiones de metano por sector” resume el enfoque del análisis, y la leyenda, posicionada de manera estratégica, ayuda a identificar cada color con su sector correspondiente.

Este proceso no solo proporciona una respuesta clara y visual a la distribución de las emisiones de metano por sector, sino que también permite una comprensión clara de dónde se podrían dirigir los esfuerzos de mitigación en el futuro.

# Filtramos para obtener solo las filas donde Segment es igual a "Total"
data_t_total <- subset(IEA_MethaneEmissions_Global, segment == "Total")

# Seleccionamos columnas
type <- data_t_total$type
emissions <- data_t_total$emissions
# Para combinarlas  en un nuevo data.frame
data_t_sel <- data.frame(type, emissions)

# Ordenamos las emisiones de mayor a menor
data_t_sel <- data_t_sel[order(data_t_sel$emissions),]

# Actualizamos los niveles del factor 'type' para reflejar el nuevo orden
data_t_sel$type <- factor(data_t_sel $type, levels = data_t_sel$type)

# Asignamos los colores a cada tipo
data_t_colors <- c(Agriculture = "#FFD6AD", Energy = "#FFBBA9", Waste = "#76E3B8", Other = "#94C6FF")

# Creamos una secuencia de 35000 en 35000 hasta el máximo valor redondeado hacia arriba al siguiente múltiplo de 35000
data_emissions_t_max <- ceiling(max(data_t_sel$emissions) / 35000) * 35000
data_t_seq <- seq(0, data_emissions_t_max, by = 35000)

# Creamos el gráfico de barras horizontal
barchart(type ~ emissions, data = data_t_sel,
         horizontal = TRUE,
         col = data_t_colors[data_t_sel$type],
         xlab = "Emisiones (kt)",
         ylab = "",
         scales = list(x = list(at = data_t_seq)),
         auto.key = list(columns = 4, lines = TRUE, points = FALSE, space = "right"),
         main = "Emisiones de metano por sector")

Para ofrecer una perspectiva adicional en respuesta a la pregunta 3, a continuación se presenta un gráfico de barras que se genera con la función cloud() y panel.3dbars que proporcionará una visión tridimensional del presente análisis.

# Usamos la función cloud para crear un efecto de barras 3D
cloud(emissions ~ type + reorder(type, emissions), data = data_t_sel,
      panel.3d.cloud = panel.3dbars, 
      xbase = 0.5,   # Establece la base de las barras (eje x)
      ybase = 0.5,   # Establece la base de las barras (eje)
      scales = list(
          arrows = FALSE, 
          col = "black",
          x = list(labels = levels(data_t_sel$type), 
                  at = seq_along(levels(data_t_sel$type)), 
                  rot = 0, 
                  cex = 0.7, 
                  distance = 1.1),
          y = list(
                  rot = 0, 
                  cex = 0.7, 
                  distance = 1.5)
          ),  # Rotar y cambiar tamaño de etiquetas
      col.facet = data_t_colors[data_t_sel$type], # Colores de las barras
      main = "Emisiones de metano por sector en 3D",
      xlab = "Tipo",
      ylab = "Emisiones (kt)",
      zlab = " ",
      par.settings = list(
          axis.line = list(col = "transparent"),  # Hace que las líneas del eje sean transparentes
          layout.heights = list(top.padding = 0, bottom.padding = 0, main.key.padding = -8)
      )) 

4. ¿Cuáles son las estimaciones de emisiones de metano asociadas a la producción y consumo de petróleo, gas natural y carbón?

Reason : All, Flared, Fugitive, Vented
Segment: Steam Coal, Satellite-detected large oil and gas emissions, Other from oil and gas, Other from coal, Onshore oil, Onshore gas, Offshore oil, Offshore gas, Gas pipelines and LNG facilities, Coking coal, Bioenergy.

En este proceso de análisis se evalúa las estimaciones de emisiones de metano asociadas a la producción y consumo de petróleo, gas natural y carbón, contemplando diversas razones específicas como All, Flared, Fugitive y Vented.

Inicialmente, filtramos el conjunto de datos IEA_MethaneEmissions_Global para excluir las filas donde el segment es igual a “Total”, ya que el objetivo es analizar las emisiones por segmento y sus razones dentro de la industria de combustibles fósiles. Este filtrado asegura que solo se analice los datos más relevantes para esta pregunta específica.

Posteriormente, se transforma los datos del formato largo al formato ancho utilizando la función dcast(). Esto permite ver las emisiones de cada segment (como Steam Coal, Satellite-detected large oil and gas emissions, etc.) categorizadas por reason. La función de agregación sum en dcast() calcula la suma total de emisiones para cada combinación segment y reason, proporcionando una vista comprensiva del volumen de emisiones por categoría.

Después, se valida que los nombres de los segmentos en la columna segment sean correctos y representativos, transformando esta columna en un factor con niveles en el orden en que aparecen en el conjunto de datos filtrado. Esto es crucial para mantener la coherencia y precisión en la visualización de los datos en los pasos siguientes.

Para la visualización, se define una paleta de colores distinta para cada tipo de emisión, lo que facilita la diferenciación visual en el gráfico final. Se utiliza la función barchart() de la librería lattice para crear un gráfico de barras apilado, que muestra las emisiones acumuladas por cada segmento y subdivididas por las razones de emisión. Este gráfico horizontal está configurado para apilar las barras, representando las diferentes categorías de emisiones en distintos colores.

Además, se ajusta las escalas y etiquetas del gráfico para mejorar la legibilidad, incluyendo la rotación de las etiquetas del eje x y ajustando el tamaño del texto con cex. La leyenda del gráfico facilita la identificación de cada tipo de emisión según el color asignado.

El título del gráfico, “Emisiones de metano procedentes del petróleo, gas natural y carbón”, resume el enfoque del análisis, destacando que el estudio se centre en entender cómo se distribuyen las emisiones derivadas de estas fuentes energéticas claves dentro del contexto de sus operaciones específicas.

Este análisis proporciona insights valiosos para identificar áreas críticas donde ciertas intervenciones podrían reducir significativamente las emisiones de metano.

# Filtra el data frame para excluir la categoría "Total"
IEA_MethaneEmissions_Global_filtered <- subset(IEA_MethaneEmissions_Global, segment != "Total")

# Transforma los datos a formato ancho
data_rs <- dcast(IEA_MethaneEmissions_Global_filtered, segment ~ reason, value.var = "emissions")

# Asegúrate de que los nombres de los segmentos sean los correctos y no letras
# Convierte la columna 'segment' en un factor con los niveles en el orden adecuado
data_rs$segment <- factor(data_rs$segment, levels = unique(IEA_MethaneEmissions_Global_filtered$segment))

# Definir colores claros para el gráfico
colors <- c("All" = "#94C6FF", "Flared" = "#76E3B8", "Fugitive" = "#FFBBA9", "Vented" = "#FFD6AD")
names(colors) <- c("All", "Fugitive", "Flared", "Vented")

# Crear el gráfico de barras apilado
barchart(
  as.matrix(data_rs[, -1]),
  horizontal = TRUE,
  stack = TRUE,
  col = colors,
  main = "Emisiones de metano procedentes del petróleo, gas natural y carbón",
  xlab = "Emisiones (kt)",
  ylab = "",
  auto.key = list(
    points = FALSE,
    rectangles = TRUE,
    space = "bottom",
    title = "Tipo de emisiones",
    text = names(colors),
    columns = 1,
    border = FALSE,
    cex.title = 0.7, # Tamaño del título
    cex = 0.7        # Tamaño del texto de los elementos de la leyenda
  ),
scales = list(
    x = list(rot = 90, cex = .7),
    y = list(labels = data_rs$segment, cex = .7)  # Usando los nombres de los segmentos reales
  ),
  names.arg = data_rs$segment
)

5. ¿Cómo se clasifican los sectores y regiones en términos de emisiones globales de metano?

Type : Agriculture, Energy, Waste, Other.
Region: Africa, Asia Pacific, Central and South America, Europe, Middle East, North America, Russia & Caspian, Other.

Este análisis intenta entender la clasificación de las emisiones globales de metano por sector y región. Para esto, se parte de un conjunto de datos que detalla las emisiones de metano por país (IEA_MethaneEmissions_Country) y se enfoca en los datos que representan totales por sector y región, excluyendo los datos globales agregados.

El proceso inicia con el filtrado de datos para trabajar solo con segment igual a “Total”, excluyendo cualquier desglose por actividades específicas. A continuación, se realiza un segundo filtro para seleccionar region diferente a “World”, con el objetivo de centrar el análisis en datos más específicos y no en totales mundiales.

El siguiente paso es la agregación de las emisiones, agrupándolas por type y region. La función aggregate() es escencial aquí, ya que suma las emisiones para cada combinación única de sector y región, proporcionando una vista consolidada de las emisiones para su posterior visualización.

Se asegura de que tanto type como region sean tratados como factores, lo cual es necesario para el correcto funcionamiento de las funciones en R, en particular cuando se usa cloud() para generar gráficos tridimensionales. Los factores permiten categorizar los datos adecuadamente en los ejes del gráfico.

El gráfico tridimensional se genera con la función cloud() de la librería lattice, que permite una visualización interactiva y detallada de las relaciones entre los diferentes sectores y regiones con respecto a sus emisiones de metano. Se utilizan grupos según la columna type para diferenciar los sectores en el espacio tridimensional, permitiendo una comprensión más clara de cómo las emisiones varían no solo por región, sino también por tipo de actividad.

El resultado es un gráfico tridimensional, bajo el título “Emisiones globales por sector y región”, que ofrece una representación visual intuitiva de las emisiones. Este gráfico facilita la rápida identificación de los sectores y regiones con mayores niveles de emisiones.

Por último, este análisis destaca información escenial para reconocer zonas clave en las que acciones concretas podrían resultar en una disminución notable de las emisiones de metano.

# Filtra el data frame para excluir la categoría "Total"
IEA_MethaneEmissions_Country_3d_filtered <- subset(IEA_MethaneEmissions_Country, segment == "Total")

# Filtra el data frame para excluir la region "World"
IEA_MethaneEmissions_Country_3d_filtered <- subset(IEA_MethaneEmissions_Country_3d_filtered, region != "World")

# Agregamos las emisiones por type y region
data_3d_filtered_aggregated <- aggregate(emissions ~ type + region, data = IEA_MethaneEmissions_Country_3d_filtered, sum)

# Nos aseguramos de que las columnas 'type' y 'region' sean factores en el nuevo dataframe
data_3d_filtered_aggregated$type <- factor(data_3d_filtered_aggregated$type,
                                           levels = c("Other", "Waste", "Agriculture", "Energy"))
data_3d_filtered_aggregated$region <- factor(data_3d_filtered_aggregated$region)

# Creamos un vector con colores correspondientes a los niveles del factor 'type'
data_t_colors <- c("#94C6FF", "#76E3B8", "#FFD6AD", "#FFBBA9")

# Generamos un gráfico 3D con 'cloud' de la librería 'lattice'
cloud(emissions ~ type * region, data = data_3d_filtered_aggregated,
      groups = data_3d_filtered_aggregated$type, 
      col = data_t_colors[data_3d_filtered_aggregated$type], # Utilizar los colores definidos para cada grupo
      pch = 16, # Usamos un punto sólido para las marcas
      cex = 1, # Puedes ajustar el tamaño del punto si es necesario
      key = list(columns = 4, 
                 points = list(pch = 16, col = data_t_colors, cex = 1.1),
                 text = list(c("Agriculture", "Energy", "Other", "Waste"), cex = 0.7)), 
      main = "Emisiones de metano globales por sector y región",
      xlab = "Sector",
      ylab = "Region",
      zlab = "Emisiones (kt)",
      par.settings = list(
          axis.line = list(col = "transparent"), # Hace las líneas del eje transparentes
          clip = list(panel = "off"), # Evita el recorte en el panel del gráfico
          fontsize = list(text = 10, points = 8)
      ),
      panel.aspect = 1 # Mantiene la relación de aspecto en 1 para una mejor visualización
      )

6. ¿Qué países lideran las estadísticas de emisiones de metano no energético y energético a nivel global?

Non-Energy: Agriculture, Waste, Other.
Energy: Energy

En este proceso de análisis se identifican los países líderes en términos de emisiones de metano, diferenciando entre las emisiones no energéticas (de Agricultura, Residuos y Otros) y energéticas (de Energía), a nivel global.

Primero, se filtra el dataset IEA_MethaneEmissions_Country para incluir únicamente los datos donde segment es igual a “Total” y se excluye region “World”, centrando la atención en estadísticas por país. Posteriormente, se realiza dos filtros adicionales: uno para capturar las emisiones energéticas que implican petróleo y gas, y otro para todas las emisiones no energéticas.

Con estos subconjuntos de datos, se utiliza aggregate() para sumar las emisiones de metano por país, separándolas en energéticas y no energéticas. Luego, se renombra las columnas para más claridad y se fusiona los dos conjuntos de datos para obtener una vista combinada de las emisiones por país.

Con el fin de identificar los 10 principales países emisores en el sector energético, se ordena el dataframe resultante por emisiones energéticas y se selecciona los primeros 10. Estos se convierten en un factor, con niveles en el orden correspondiente a su volumen de emisiones para el correcto ordenamiento en el gráfico final.

Se crea una función de panel personalizada my_panel para dibujar tanto las barras (emisiones energéticas) como los puntos (emisiones no energéticas). Los puntos se destacan en color naranja y de mayor tamaño para una mejor visualización.

Como último paso, se genera un gráfico de barras horizontal utilizando barchart(). El eje Y se ajusta para ser un 10% más alto que la emisión máxima, asegurando que todas las barras y puntos estén dentro de los límites del gráfico. Una leyenda al pie del gráfico diferencia claramente entre emisiones energéticas y no energéticas, y el gráfico resultante se imprime para revelar de manera efectiva cuáles son los países más contaminantes en términos de emisiones de metano.

Finalmente, este enfoque visual permite identificar rápidamente los países con mayor impacto de emisiones y es fundamental para desarrollar políticas y esfuerzos de mitigación.

#Filtrar por Total y todas las regiones   
IEA_MethaneEmissions_Country_3d_filtered <- subset(IEA_MethaneEmissions_Country, segment == "Total")
IEA_MethaneEmissions_Country_3d_filtered <- subset(IEA_MethaneEmissions_Country, region != "World")

# Filtrar por tipo 'Energy' y segmentos que contengan 'oil' y 'gas'
data_countries_energy <- subset(IEA_MethaneEmissions_Country_3d_filtered, type == "Energy" & grepl("oil|gas", segment, ignore.case = TRUE))

# Filtrar por tipos que no son 'Energy'
data_countries_non_energy <- subset(IEA_MethaneEmissions_Country_3d_filtered, type != "Energy")

# Sumar las emisiones por país para 'Energy'
emissions_countries_energy <- aggregate(emissions ~ country, data = data_countries_energy, sum)

# Sumar las emisiones por país para tipos que no son 'Energy'
emissions_countries_non_energy <- aggregate(emissions ~ country, data = data_countries_non_energy, sum)

# Renombrar las columnas para evitar confusiones
colnames(emissions_countries_energy)[2] <- "emissions_energy"
colnames(emissions_countries_non_energy)[2] <- "emissions_non_energy"

# Combinar ambos dataframes por país
data_countries_combined <- merge(emissions_countries_energy, emissions_countries_non_energy, by = "country")

# Seleccionar los 10 países con mayores emisiones de energía
data_top10_countries <- data_countries_combined[order(-data_countries_combined$emissions_energy), ][1:10,]

# Asegurarnos de que la columna Country sea un factor con los niveles en el orden adecuado
data_top10_countries$country <- factor(data_top10_countries$country, levels = data_top10_countries$country)

data_top10_countries$country <- reorder(factor(data_top10_countries$country), -data_top10_countries$emissions_energy)

# Definimos la función de panel personalizada para agregar barras y puntos
my_panel <- function(x, y, subscripts, ...) {
  panel.barchart(x, y, ...)
  panel.points(x, data_top10_countries$emissions_non_energy[subscripts], col = "#708080", pch = 20, cex = 2) # cex = 2 hace los puntos más grandes
}

# Calculamos el máximo de la suma de ambas emisiones para establecer un límite en el eje Y
max_emissions <- max(data_top10_countries$emissions_energy + data_top10_countries$emissions_non_energy)

# Usamos 'barchart' para crear el gráfico combinado con barras y puntos
graph <- barchart(emissions_energy ~ country, data = data_top10_countries,
                  panel = my_panel, 
                  main = "Top 10 Países por emisiones no energéticas y energéticas (Oil y Gas)",
                  xlab = "Country",
                  ylab = "Emissions (kt)",
                  scales = list(x = list(rot = 45, cex = 0.7)), 
                  col = "#76E3B8",
                  ylim = c(0, max_emissions * 1.1), # Aumentamos un 10% el límite superior para mayor claridad
          key = list(
                    space = "bottom", # Posición de la leyenda
                    columns = 2, # Dos columnas para 'Energy' y 'Non-Energy'
                    text = list(c("Energy Emissions", "Non-Energy Emissions"), cex = 0.7),
                    points = list(pch = c(NA, 20), col = c(NA, "#808080"), cex = 2),
                    rectangles = list(col = c("#76E3B8", NA), border = c(1, NA), cex = 2) # Borde transparente para ambos
                  ))

# Mostrar el gráfico
print(graph)

Conclusiones

Según los datos examinados, en 2023 las emisiones globales alcanzaron los 349,476.0 kilotoneladas (kt). De este total, 128,708.1 kt provinieron del sector energético, lo que representa el 36% de las emisiones totales de ese año.

Aunque el sector energético es un contribuyente significativo a las emisiones de metano a nivel mundial, la agricultura tiene un impacto aún mayor, representando el 40% de las emisiones globales. No obstante, la diferencia no es abrumadora. Otros tipos de emisiones, como la gestión de residuos y diversos segmentos industriales y comerciales, también juegan roles importantes en el panorama global de emisiones.

En el espectro del sector energético, tanto las operaciones de extracción de petróleo y gas en tierra (onshore) como la extracción de carbón, se perfilan como fuentes principales de emisiones de metano. En el caso del petróleo terrestre “Onshore oil”, las emisiones representan un 27,7% y se presentan a través de un espectro de categorías: All, Fugitive, Flared y Vented, reflejando la influencia de una amplia gama de procesos operativos y prácticas en las emisiones totales de metano. Asimismo, el carbón destinado a la producción de energía eléctrica, conocido como “Steam coal” representa el 21,8%, una proporción significativa de emisiones, especialmente bajo la categoría “Totales”. Este dato resalta el impacto comprensivo del carbón térmico en las emisiones de metano a lo largo de su cadena operativa, desde la extracción hasta su uso final. Juntas, estas fuentes primarias de emisiones constituyen casi la mitad de las emisiones del sector energético, alcanzando un considerable 49.5% del total.

Por otro lado, se puede concluir también que las emisiones de metano varían considerablemente entre países y regiones, reflejando una diversidad en prácticas industriales, estándares regulatorios y tipos de actividad económica. Por ejemplo, en 2023, Estados Unidos emitió 13,782.45 kt de metano en el sector energético, mientras que China emitió 2,953.75 kt, lo que representa solo el 21% de las emisiones estadounidenses en ese sector, indicando una mayor contaminación por parte de Estados Unidos en el ámbito energético. En contraste, en el sector no energético, Estados Unidos emitió 15,234.32 kt, mientras que China emitió 30,523.33 kt, casi un 50% más que Estados Unidos. Este contraste subraya las marcadas diferencias en las emisiones entre países, dependiendo del sector y otros factores.

Finalmente, el análisis de las emisiones de metano revela una compleja red de factores que contribuyen a las emisiones globales. La variabilidad entre sectores y regiones indica que una solución única para todos es improbable y que se requiere una combinación de tecnología, política y cooperación internacional para abordar efectivamente las emisiones de metano a nivel mundial.

Fuente de datos

International Energy Agency (2023), Methane Tracker Database, IEA, Paris. License: Creative Commons Attribution CC BY 4.0.

Fecha: 2024-04-14