Emisión de CO2
Una primera revisión de los datos
#### Levanto los data sets
co2 <- readr::read_csv("https://raw.githubusercontent.com/cienciadedatos/datos-de-miercoles/master/datos/2019/2019-08-21/co2.csv")
co2_ingreso <- readr::read_csv("https://raw.githubusercontent.com/cienciadedatos/datos-de-miercoles/master/datos/2019/2019-08-21/co2_ingreso.csv")
# Les doy una mirada:
# head(co2)
#
# head(co2_ingreso)
#### LIMPIEZA Y CONSISTENCIA
# Primero filtro el data set, para eliminar los registros sin el dato de emision de co_2
co2_Subset <- subset(co2,is.na(co2$emision_co2)==FALSE)
# Luego exploro un poco los datos
¿Qué valores puede tomar la variable “emision_co2”?
# Que valores puede tomar la variable "emision_co2"?
summary(co2_Subset$emision_co2)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.0201 0.4508 1.7700 4.3587 5.9793 100.6977
Hay al menos un valor negativo! ¿A qué país corresponde?
# Hay valores negativos! Es eso coherente? Que paises son?
co2_Subset[co2_Subset$emision_co2<=0,]
## # A tibble: 1 x 4
## pais_region codigo_iso anio emision_co2
## <chr> <chr> <dbl> <dbl>
## 1 Senegal SEN 1968 -0.0201
Se elimina ese registro del análisis
# Es solo un pais, Senegal en 1968.Podria deberse a un error en los datos
# Se elimina el registro para continuar con el analisis
co2_Subset <- subset(co2_Subset,co2_Subset$emision_co2>0)
Siguiente control: Cada país aparece una única vez por año?
Hay 55 combinaciones país + año que aparecen dos veces. Siempre corresponde a Nigeria, pero tiene asociado distinto Codigo ISO, así que se deja el dato tal cual como está.
# Chequeo que cada pais aparezca una sola vez por anio
control <- as.data.frame(table(co2_Subset$pais_region,co2_Subset$anio))
table(control$Freq)
##
## 0 1 2
## 1577 11183 55
# Hay 55 paises que aparecen 2 veces el mismo anio!
# Vamos a chequear cuales son:
head(control[control$Freq==2,])
## Var1 Var2 Freq
## 161 Nigeria 1960 2
## 394 Nigeria 1961 2
## 627 Nigeria 1962 2
## 860 Nigeria 1963 2
## 1093 Nigeria 1964 2
## 1326 Nigeria 1965 2
control <- control[control$Freq==2,]
# Siempre es Nigeria, verifiquemos si mantiene siempre el mismo valor de emision
# Para eso armo un nuevo data set filtrado, teniendo en cuenta la combinacion
# de paises y anios que aparecen dos veces en el data set
control_2 <- subset(co2_Subset,
paste(co2_Subset$pais_region,co2_Subset$anio) %in%
paste(control$Var1,control$Var2))
control_2 <- control_2[order(control_2$anio),]
head(control_2)
## # A tibble: 6 x 4
## pais_region codigo_iso anio emision_co2
## <chr> <chr> <dbl> <dbl>
## 1 Nigeria NER 1960 0.00866
## 2 Nigeria NGA 1960 0.0755
## 3 Nigeria NER 1961 0.0158
## 4 Nigeria NGA 1961 0.0893
## 5 Nigeria NER 1962 0.0184
## 6 Nigeria NGA 1962 0.0889
# Vemos que no tienen el mismo dato de emision de co 2, pero tienen distinto codigo ISO
# Por lo tanto, dejamos el dato tal cual esta.
Análisis de variabilidad: ¿Cómo se mueve año a año la emisión de CO2 en cada país?
# Calculo la variabilidad a?o a a?o de cada pais en la emision de CO2
# Primero me traigo el dato de la emision al anio siguiente
co2_Subset$emision_co2_ANIO_SIG <- co2_Subset$emision_co2[match(paste(co2_Subset$pais_region,(co2_Subset$anio+1)),
paste(co2_Subset$pais_region,co2_Subset$anio))]
# Elimino los registros correspondientes al ultimo anio (no se puede calcular variabilidad)
co2_Subset <- subset(co2_Subset,
is.na(co2_Subset$emision_co2_ANIO_SIG)==FALSE)
# Calculo la variabilidad
co2_Subset$Variabilidad <- co2_Subset$emision_co2_ANIO_SIG/co2_Subset$emision_co2 -1
¿Cómo se distribuye la variabilidad?
- A medida que pasa el tiempo, la variabilidad año a año de emisión de CO2 es cada vez menor, viendo que la variabilidad promedio de cada país por año se reduce significativamente.
- En todas las décadas hubo al menos un país que redujo la emisión de CO2.
library(formattable)
# Como se distribuye la variabilidad?
summary(co2_Subset$Variabilidad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.93628 -0.02945 0.01533 0.04503 0.07108 32.65846
# Analisis por decada
co2_Subset$Decada <- ifelse(co2_Subset$anio %in% 2000:2009,2000,
ifelse(co2_Subset$anio %in% 2010:2019,2010,
round(co2_Subset$anio,-1)))
co2_Subset$Decada <- as.factor(co2_Subset$Decada)
metricas <- aggregate(co2_Subset$Variabilidad,
by=list(co2_Subset$Decada),
function(x) c(Min=min(x,na.rm=TRUE),
Prom=mean(x,na.rm=TRUE),
Med=median(x,na.rm=TRUE),
Max=max(x,na.rm=TRUE),
Coef_Variacion=sd(x,na.rm=TRUE)/mean(x,na.rm=TRUE)))
metricas <- data.frame(Decada=metricas$Group.1,
metricas$x)
metricas[,2:ncol(metricas)] <- round(metricas[,2:ncol(metricas)],2)
formattable(metricas,
list(
Min = color_tile("green3","Khaki"),
Prom = color_tile("green3","Khaki"),
Med = color_tile("green3","Khaki"),
Max = color_tile("green3","Khaki"),
Coef_Variacion = color_tile("lightpink", "lightcoral")))
|
Decada
|
Min
|
Prom
|
Med
|
Max
|
Coef_Variacion
|
|
1960
|
-0.89
|
0.11
|
0.04
|
28.35
|
8.41
|
|
1970
|
-0.94
|
0.12
|
0.04
|
32.66
|
8.65
|
|
1980
|
-0.92
|
0.02
|
0.01
|
8.86
|
12.75
|
|
1990
|
-0.84
|
0.03
|
0.01
|
24.27
|
18.12
|
|
2000
|
-0.94
|
0.02
|
0.01
|
5.54
|
9.03
|
|
2010
|
-0.87
|
0.01
|
0.00
|
1.04
|
11.17
|
¿Aumenta, se mantuvo, o se redujo la emisión de CO2 en el tiempo?
- A medida que pasa el tiempo, menos son los países que aumentaron la emisión de CO2.
library(ggplot2)
library(plotly)
co2_Subset$Clasifica_Var <- ifelse(co2_Subset$Variabilidad<(-0.01),"Reduce",
ifelse(co2_Subset$Variabilidad>0.01,"Aumenta",
"Mantiene"))
RESUMEN <- as.data.frame(table(co2_Subset$Clasifica_Var,
co2_Subset$anio))
CANT_POR_ANIO <- as.data.frame(table(co2_Subset$anio))
RESUMEN$Clasifica_Variabilidad <- as.factor(RESUMEN$Var1)
RESUMEN$anio <-RESUMEN$Var2
RESUMEN$Pct_Paises <-RESUMEN$Freq/CANT_POR_ANIO$Freq[match(RESUMEN$anio,
CANT_POR_ANIO$Var1)]
p <- ggplot(RESUMEN,
aes(x = anio,
y = Pct_Paises,
fill=Clasifica_Variabilidad)) +
theme_bw() +
geom_bar(stat="identity")
p <- ggplotly(p +
theme(legend.position='top',
axis.text=element_text(size=7)) +
scale_fill_brewer(palette="Set1"))
p
¿Cómo se distribuye la emisión de CO2 entre países?
- Analizando la emisión en 2013, se puede ver que el 50% de la emisión de CO2 se reparte en tan solo 35 países, encabezados por Qatar, Curacao y Trinidad y Tobago.
- El 50% restante de la emisión de CO2 de 2013 se reparte entre 197 países.
CO2_Ordenado <- subset(co2,co2$anio==max(co2$anio))
CO2_Ordenado <- subset(CO2_Ordenado,is.na(CO2_Ordenado$emision_co2)==FALSE)
CO2_Ordenado <- CO2_Ordenado[order(CO2_Ordenado$emision_co2,decreasing = TRUE),]
CO2_Ordenado$Pct_emisionco2 <- CO2_Ordenado$emision_co2/sum(CO2_Ordenado$emision_co2)
CO2_Ordenado$Pct_Ac_emisionco2 <-cumsum(CO2_Ordenado$Pct_emisionco2)
library(treemap)
treemap(CO2_Ordenado[CO2_Ordenado$Pct_Ac_emisionco2<=0.5,],
index=c("pais_region"),
vSize = "Pct_emisionco2",
type="index",
title="Emisiæ¼ã¸³n de CO2 en 2013: Primer 50%",
fontsize.title = 14,
fontsize.labels = 7
)

treemap(CO2_Ordenado[CO2_Ordenado$Pct_Ac_emisionco2>0.5,],
index=c("pais_region"),
vSize = "Pct_emisionco2",
type="index",
title="Emisiæ¼ã¸³n de CO2 en 2013: Resto",
fontsize.title = 14,
fontsize.labels = 7
)

- Esto indica que la mayor parte de emisión de CO se concentra en unos pocos países!