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.
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:
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.
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
## Loading required package: lattice
## Loading required package: latticeExtra
## 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
## Loading required package: tidyr
## Loading required package: RColorBrewer
## Loading required package: reshape2
##
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
##
## smiths
## Loading required package: knitr
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.
# 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.
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.
## 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>
## # 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>
## 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>
## # 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>
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.
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
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
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)
)) 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
)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
)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)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.
International Energy Agency (2023), Methane Tracker Database, IEA, Paris. License: Creative Commons Attribution CC BY 4.0.
Fecha: 2024-04-14