-
Ingram Jaccard authoredIngram Jaccard authored
title: 'full code'
output:
html_document:
toc: yes
df_print: paged
bookdown::html_document2:
toc: yes
toc_float: yes
Setup
This file contains all code to estimate the European income-stratified footprints and then the European expenditures deciles. There are three code chunks in this 'full code' Rmarkdown file. The first shows the EXIOBASE code, the second the income-stratified-footprints using the EUROSTAT HBS, and the third the estimation of the European expenditure deciles. All three code chunks are currently set to 'eval = FALSE', and the necessary raw data files to run them are not included in the git due to their size. We have also run the first two code chunks on a high-performance cluster computer.
The code in this 'full code' Rmarkdown file writes derived data files to the folder: 'analysis' > 'data' > 'derived'. These files can be accessed there, and own analysis performed on them without running any of the code in this Rmarkdown. The derived data files are used to create the figures in the main paper and SI (the code for the figures can be found directly within the paper and si Rmarkdown files: 'analysis' > 'paper').
To run the code in this 'full code' Rmarkdown file, follow the instructions at the start of each section (before the code chunk) explaining which files must be downloaded from where, and in which folder they should be extracted. Then remove 'eval = FALSE' in the code chunk header before running it.
# first load required R packages
knitr::opts_chunk$set(
collapse = TRUE,
warning = FALSE,
message = FALSE,
echo = FALSE,
comment = "#>"
)
if (!require("pacman")) install.packages("pacman")
pacman::p_load(tidyverse,
janitor,
readr,
here,
wbstats,
ISOcodes,
viridis,
imputeTS,
hrbrthemes,
wesanderson,
glue,
ggridges,
patchwork)
EXIOBASE
The EXIOBASE files are publicly available online. For the results in the main paper we use EXIOBASE version3 industry-by-industry, which is available from: https://zenodo.org/record/3583071#.XjC7kSN4wpY [accessed on 12.03.2020]. In the SI, we also show some results from using EXIOBASE version3 product-by-product, which is available from: [accessed on 12.03.2020].
These files are large, global input-output tables, and we performed standard input-output calculations on them to calculate and save total intensity vectors using a high-performance cluster computer. In this document we show the code that was run on the cluster computer, but have not uploaded any EXIOBASE files to the git. Running the first code chunk would require downloading the industry-by-industry version for the years 2005, 2010 and 2015, and the product-by-product version for the years 2005 and 2010.
Each year is available as a .zip file ('IOT_year_ixi' or 'IOT_year_pxp') from the websites above. If the .zip files for the relevant study years and versions have been downloaded, they can be extracted into the 'EXIOBASE' folder in this git, which is found in the 'analysis' > 'preprocessing' folder. We have set 'EXIOBASE' empty for this purpose. Extracting each year into the EXIOBASE folder creates a folder for each year with all of the relevant files for that year and version. All code in this first code chunk leaves all file names as they are after extraction.
# set data directory for EXIOBASE files
data_dir_exiobase = here("analysis", "preprocessing", "EXIOBASE")
##### EXIOBASE industry-by-industry version
# set study years
years_exiobase_ixi = c(2005,2010,2015)
# 'for' loop which writes 'total intensity vectors' (and row-wise breakdowns) for all study satellite extensions and years to 'data_dir_exiobase' using downloaded EXIOBASE files
for (i in years_exiobase_ixi){
year_current = i
# read in A table as table
A = read.delim(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/A.txt"),header = F)
# write A table as .csv file
write.csv(A, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/A.csv"))
# read in A table as .csv file and extract the data only (no labels), and convert to numeric
A = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/A.csv",sep = ""),row.names=NULL,as.is=TRUE)[4:7990,4:7990]
A[is.na(A)]=0
A = mapply(A, FUN = as.numeric)
A = matrix(data = A, ncol = 7987, nrow = 7987)
# solve the Leontief inverse
L = solve(diag(dim(A)[1])-A)
L[is.na(L)]=0
# read in final demand table (Y) as table
FD = read.delim(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/Y.txt"),header = F)
# write final demand table (Y) as .csv file
write.csv(FD, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/Y.csv"))
# read in final demand table as .csv file and extract the production sector labels
Exiobase_T_labels_ixi = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/Y.csv"))[4:7990,1:3]
# write a .csv file with only the production sector labels
write.csv(Exiobase_T_labels_ixi, paste0(data_dir_exiobase, "/Exiobase_T_labels_ixi.csv"))
# read in final demand table as .csv file and extract the final demand category labels
Exiobase_FD_labels_ixi = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/Y.csv"))[1:3,4:346]
# write a .csv file with only the final demand category labels
write.csv(Exiobase_FD_labels_ixi, paste0(data_dir_exiobase, "/Exiobase_FD_labels_ixi.csv"))
# read in final demand table as .csv file and extract the data only (no labels), and convert to numeric
FD = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/Y.csv",sep=""),row.names=NULL,as.is=TRUE)[4:7990,4:346]
FD[is.na(FD)]=0
FD = mapply(FD, FUN = as.numeric)
FD = matrix(data=FD,ncol=343,nrow=7987)
# write a .csv file with final demand data only (no labels)
write.csv(FD, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/FD_",year_current,"_ixi.csv"))
# calculate total output
total_output = L %*% rowSums(FD)
# write total output as a .csv file
write.csv(total_output, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/total_output_",year_current,"_ixi.csv"))
# read in satellite extensions table (F) as table
satellite = read.delim(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/satellite/F.txt"),header = F)
# write satellite extensions table (F) as .csv file
write.csv(satellite, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/satellite/F.csv"))
# read in satellite extensions table (F) as .csv file and extract the data only (no labels), and convert to numeric
satellite = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/satellite/F.csv",sep=""),row.names=NULL,as.is=TRUE)[3:1115,3:7989]
satellite[is.na(satellite)]=0
satellite = mapply(satellite, FUN = as.numeric)
satellite = matrix(data=satellite,ncol=7987,nrow=1113)
# write a .csv file with satellite extensions data only (no labels)
write.csv(satellite, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/satellite/satellite_",year_current,"_ixi.csv"))
# read in satellite extensions on final demand table (F_hh) as table
satellite_FD = read.delim(paste0(data_dir_exiobase, "/IOT_", year_current, "_ixi/satellite/F_hh.txt"),header = F)
# write satellite extensions on final demand table (F_hh) as .csv file
write.csv(satellite_FD, paste0(data_dir_exiobase, "/IOT_", year_current, "_ixi/satellite/F_hh.csv"))
## extract the relevant satellite extensions from the satellite table, calculate the 'total intensity
## vectors' (and their row-wise breakdowns), and save to 'data_dir_exiobase'
# CO2 - combustion - air
CO2_combustion_air = satellite[24,]
DIV_co2_combustion_air = CO2_combustion_air/total_output
DIV_co2_combustion_air[is.na(DIV_co2_combustion_air)]=0
DIV_co2_combustion_air[DIV_co2_combustion_air == Inf]<-0
TIV_co2_combustion_air = as.vector(DIV_co2_combustion_air) %*% L
write.csv(TIV_co2_combustion_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_combustion_air_",year_current,"_ixi.csv"))
TIV_breakdown_co2_combustion_air = as.vector(DIV_co2_combustion_air) * L
TIV_breakdown_co2_combustion_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_co2_combustion_air)
TIV_country_breakdown_co2_combustion_air_w_labels = t(TIV_breakdown_co2_combustion_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_combustion_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_combustion_air_",year_current,"_ixi.csv"))
# CO2 - non-combustion - air
## cement
CO2_noncombustion_cement_air = satellite[93,]
DIV_co2_noncombustion_cement_air = CO2_noncombustion_cement_air/total_output
DIV_co2_noncombustion_cement_air[is.na(DIV_co2_noncombustion_cement_air)]=0
DIV_co2_noncombustion_cement_air[DIV_co2_noncombustion_cement_air == Inf]<-0
TIV_co2_noncombustion_cement_air = as.vector(DIV_co2_noncombustion_cement_air) %*% L
write.csv(TIV_co2_noncombustion_cement_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))
TIV_breakdown_co2_noncombustion_cement_air = as.vector(DIV_co2_noncombustion_cement_air) * L
TIV_breakdown_co2_noncombustion_cement_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_co2_noncombustion_cement_air)
TIV_country_breakdown_co2_noncombustion_cement_air_w_labels = t(TIV_breakdown_co2_noncombustion_cement_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_noncombustion_cement_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))
## lime
CO2_noncombustion_lime_air = satellite[94,]
DIV_co2_noncombustion_lime_air = CO2_noncombustion_lime_air/total_output
DIV_co2_noncombustion_lime_air[is.na(DIV_co2_noncombustion_lime_air)]=0
DIV_co2_noncombustion_lime_air[DIV_co2_noncombustion_lime_air == Inf]<-0
TIV_co2_noncombustion_lime_air = as.vector(DIV_co2_noncombustion_lime_air) %*% L
write.csv(TIV_co2_noncombustion_lime_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))
TIV_breakdown_co2_noncombustion_lime_air = as.vector(DIV_co2_noncombustion_lime_air) * L
TIV_breakdown_co2_noncombustion_lime_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_co2_noncombustion_lime_air)
TIV_country_breakdown_co2_noncombustion_lime_air_w_labels = t(TIV_breakdown_co2_noncombustion_lime_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_noncombustion_lime_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))
# CO2 - agriculture - peat decay - air
CO2_agriculture_peatdecay_air = satellite[428,]
DIV_co2_agriculture_peatdecay_air = CO2_agriculture_peatdecay_air/total_output
DIV_co2_agriculture_peatdecay_air[is.na(DIV_co2_agriculture_peatdecay_air)]=0
DIV_co2_agriculture_peatdecay_air[DIV_co2_agriculture_peatdecay_air == Inf]<-0
TIV_co2_agriculture_peatdecay_air = as.vector(DIV_co2_agriculture_peatdecay_air) %*% L
write.csv(TIV_co2_agriculture_peatdecay_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))
TIV_breakdown_co2_agriculture_peatdecay_air = as.vector(DIV_co2_agriculture_peatdecay_air) * L
TIV_breakdown_co2_agriculture_peatdecay_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_co2_agriculture_peatdecay_air)
TIV_country_breakdown_co2_agriculture_peatdecay_air_w_labels = t(TIV_breakdown_co2_agriculture_peatdecay_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_agriculture_peatdecay_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))
# CO2 - waste - air
## biogenic
CO2_waste_biogenic_air = satellite[438,]
DIV_co2_waste_biogenic_air = CO2_waste_biogenic_air/total_output
DIV_co2_waste_biogenic_air[is.na(DIV_co2_waste_biogenic_air)]=0
DIV_co2_waste_biogenic_air[DIV_co2_waste_biogenic_air == Inf]<-0
TIV_co2_biogenic_air = as.vector(DIV_co2_waste_biogenic_air) %*% L
write.csv(TIV_co2_biogenic_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_biogenic_air_",year_current,"_ixi.csv"))
TIV_breakdown_co2_biogenic_air = as.vector(DIV_co2_waste_biogenic_air) * L
TIV_breakdown_co2_biogenic_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_co2_biogenic_air)
TIV_country_breakdown_co2_biogenic_air_w_labels = t(TIV_breakdown_co2_biogenic_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_biogenic_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_biogenic_air_",year_current,"_ixi.csv"))
## fossil
CO2_waste_fossil_air = satellite[439,]
DIV_co2_waste_fossil_air = CO2_waste_fossil_air/total_output
DIV_co2_waste_fossil_air[is.na(DIV_co2_waste_fossil_air)]=0
DIV_co2_waste_fossil_air[DIV_co2_waste_fossil_air == Inf]<-0
TIV_co2_waste_fossil_air = as.vector(DIV_co2_waste_fossil_air) %*% L
write.csv(TIV_co2_waste_fossil_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_waste_fossil_air_",year_current,"_ixi.csv"))
TIV_breakdown_co2_waste_fossil_air = as.vector(DIV_co2_waste_fossil_air) * L
TIV_breakdown_co2_waste_fossil_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_co2_waste_fossil_air)
TIV_country_breakdown_co2_waste_fossil_air_w_labels = t(TIV_breakdown_co2_waste_fossil_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_waste_fossil_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_ixi.csv"))
# CH4 - combustion - air
CH4_combustion_air = satellite[25,]
CH4_combustion_air = CH4_combustion_air*28
DIV_ch4_combustion_air = CH4_combustion_air/total_output
DIV_ch4_combustion_air[is.na(DIV_ch4_combustion_air)]=0
DIV_ch4_combustion_air[DIV_ch4_combustion_air == Inf]<-0
TIV_ch4_combustion_air = as.vector(DIV_ch4_combustion_air) %*% L
write.csv(TIV_ch4_combustion_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_combustion_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_combustion_air = as.vector(DIV_ch4_combustion_air) * L
TIV_breakdown_ch4_combustion_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_combustion_air)
TIV_country_breakdown_ch4_combustion_air_w_labels = t(TIV_breakdown_ch4_combustion_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_combustion_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_combustion_air_",year_current,"_ixi.csv"))
# CH4 - non-combustion - air
## gas
CH4_noncombustion_gas_air = satellite[68,]
CH4_noncombustion_gas_air = CH4_noncombustion_gas_air*28
DIV_ch4_noncombustion_gas_air = CH4_noncombustion_gas_air/total_output
DIV_ch4_noncombustion_gas_air[is.na(DIV_ch4_noncombustion_gas_air)]=0
DIV_ch4_noncombustion_gas_air[DIV_ch4_noncombustion_gas_air == Inf]<-0
TIV_ch4_noncombustion_gas_air = as.vector(DIV_ch4_noncombustion_gas_air) %*% L
write.csv(TIV_ch4_noncombustion_gas_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_gas_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_gas_air = as.vector(DIV_ch4_noncombustion_gas_air) * L
TIV_breakdown_ch4_noncombustion_gas_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_gas_air)
TIV_country_breakdown_ch4_noncombustion_gas_air_w_labels = t(TIV_breakdown_ch4_noncombustion_gas_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_gas_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_",year_current,"_ixi.csv"))
## oil
CH4_noncombustion_oil_air = satellite[69,]
CH4_noncombustion_oil_air = CH4_noncombustion_oil_air*28
DIV_ch4_noncombustion_oil_air = CH4_noncombustion_oil_air/total_output
DIV_ch4_noncombustion_oil_air[is.na(DIV_ch4_noncombustion_oil_air)]=0
DIV_ch4_noncombustion_oil_air[DIV_ch4_noncombustion_oil_air == Inf]<-0
TIV_ch4_noncombustion_oil_air = as.vector(DIV_ch4_noncombustion_oil_air) %*% L
write.csv(TIV_ch4_noncombustion_oil_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_oil_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_oil_air = as.vector(DIV_ch4_noncombustion_oil_air) * L
TIV_breakdown_ch4_noncombustion_oil_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_oil_air)
TIV_country_breakdown_ch4_noncombustion_oil_air_w_labels = t(TIV_breakdown_ch4_noncombustion_oil_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_oil_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_",year_current,"_ixi.csv"))
## anthracite
CH4_noncombustion_anthracite_air = satellite[70,]
CH4_noncombustion_anthracite_air = CH4_noncombustion_anthracite_air*28
DIV_ch4_noncombustion_anthracite_air = CH4_noncombustion_anthracite_air/total_output
DIV_ch4_noncombustion_anthracite_air[is.na(DIV_ch4_noncombustion_anthracite_air)]=0
DIV_ch4_noncombustion_anthracite_air[DIV_ch4_noncombustion_anthracite_air == Inf]<-0
TIV_ch4_noncombustion_anthracite_air = as.vector(DIV_ch4_noncombustion_anthracite_air) %*% L
write.csv(TIV_ch4_noncombustion_anthracite_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_anthracite_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_anthracite_air = as.vector(DIV_ch4_noncombustion_anthracite_air) * L
TIV_breakdown_ch4_noncombustion_anthracite_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_anthracite_air)
TIV_country_breakdown_ch4_noncombustion_anthracite_air_w_labels = t(TIV_breakdown_ch4_noncombustion_anthracite_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_anthracite_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_",year_current,"_ixi.csv"))
## bituminous coal
CH4_noncombustion_bituminouscoal_air = satellite[71,]
CH4_noncombustion_bituminouscoal_air = CH4_noncombustion_bituminouscoal_air*28
DIV_ch4_noncombustion_bituminouscoal_air = CH4_noncombustion_bituminouscoal_air/total_output
DIV_ch4_noncombustion_bituminouscoal_air[is.na(DIV_ch4_noncombustion_bituminouscoal_air)]=0
DIV_ch4_noncombustion_bituminouscoal_air[DIV_ch4_noncombustion_bituminouscoal_air == Inf]<-0
TIV_ch4_noncombustion_bituminouscoal_air = as.vector(DIV_ch4_noncombustion_bituminouscoal_air) %*% L
write.csv(TIV_ch4_noncombustion_bituminouscoal_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_bituminouscoal_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_bituminouscoal_air = as.vector(DIV_ch4_noncombustion_bituminouscoal_air) * L
TIV_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_bituminouscoal_air)
TIV_country_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels = t(TIV_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_",year_current,"_ixi.csv"))
## coking coal
CH4_noncombustion_cokingcoal_air = satellite[72,]
CH4_noncombustion_cokingcoal_air = CH4_noncombustion_cokingcoal_air*28
DIV_ch4_noncombustion_cokingcoal_air = CH4_noncombustion_cokingcoal_air/total_output
DIV_ch4_noncombustion_cokingcoal_air[is.na(DIV_ch4_noncombustion_cokingcoal_air)]=0
DIV_ch4_noncombustion_cokingcoal_air[DIV_ch4_noncombustion_cokingcoal_air == Inf]<-0
TIV_ch4_noncombustion_cokingcoal_air = as.vector(DIV_ch4_noncombustion_cokingcoal_air) %*% L
write.csv(TIV_ch4_noncombustion_cokingcoal_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_cokingcoal_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_cokingcoal_air = as.vector(DIV_ch4_noncombustion_cokingcoal_air) * L
TIV_breakdown_ch4_noncombustion_cokingcoal_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_cokingcoal_air)
TIV_country_breakdown_ch4_noncombustion_cokingcoal_air_w_labels = t(TIV_breakdown_ch4_noncombustion_cokingcoal_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_cokingcoal_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_",year_current,"_ixi.csv"))
## lignite
CH4_noncombustion_lignite_air = satellite[73,]
CH4_noncombustion_lignite_air = CH4_noncombustion_lignite_air*28
DIV_ch4_noncombustion_lignite_air = CH4_noncombustion_lignite_air/total_output
DIV_ch4_noncombustion_lignite_air[is.na(DIV_ch4_noncombustion_lignite_air)]=0
DIV_ch4_noncombustion_lignite_air[DIV_ch4_noncombustion_lignite_air == Inf]<-0
TIV_ch4_noncombustion_lignite_air = as.vector(DIV_ch4_noncombustion_lignite_air) %*% L
write.csv(TIV_ch4_noncombustion_lignite_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_lignite_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_lignite_air = as.vector(DIV_ch4_noncombustion_lignite_air) * L
TIV_breakdown_ch4_noncombustion_lignite_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_lignite_air)
TIV_country_breakdown_ch4_noncombustion_lignite_air_w_labels = t(TIV_breakdown_ch4_noncombustion_lignite_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_lignite_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_",year_current,"_ixi.csv"))
## subbituminous coal
CH4_noncombustion_subbituminouscoal_air = satellite[74,]
CH4_noncombustion_subbituminouscoal_air = CH4_noncombustion_subbituminouscoal_air*28
DIV_ch4_noncombustion_subbituminouscoal_air = CH4_noncombustion_subbituminouscoal_air/total_output
DIV_ch4_noncombustion_subbituminouscoal_air[is.na(DIV_ch4_noncombustion_subbituminouscoal_air)]=0
DIV_ch4_noncombustion_subbituminouscoal_air[DIV_ch4_noncombustion_subbituminouscoal_air == Inf]<-0
TIV_ch4_noncombustion_subbituminouscoal_air = as.vector(DIV_ch4_noncombustion_subbituminouscoal_air) %*% L
write.csv(TIV_ch4_noncombustion_subbituminouscoal_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_subbituminouscoal_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_subbituminouscoal_air = as.vector(DIV_ch4_noncombustion_subbituminouscoal_air) * L
TIV_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_subbituminouscoal_air)
TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels = t(TIV_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_",year_current,"_ixi.csv"))
## oil refinery
CH4_noncombustion_oilrefinery_air = satellite[75,]
CH4_noncombustion_oilrefinery_air = CH4_noncombustion_oilrefinery_air*28
DIV_ch4_noncombustion_oilrefinery_air = CH4_noncombustion_oilrefinery_air/total_output
DIV_ch4_noncombustion_oilrefinery_air[is.na(DIV_ch4_noncombustion_oilrefinery_air)]=0
DIV_ch4_noncombustion_oilrefinery_air[DIV_ch4_noncombustion_oilrefinery_air == Inf]<-0
TIV_ch4_noncombustion_oilrefinery_air = as.vector(DIV_ch4_noncombustion_oilrefinery_air) %*% L
write.csv(TIV_ch4_noncombustion_oilrefinery_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_oilrefinery_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_noncombustion_oilrefinery_air = as.vector(DIV_ch4_noncombustion_oilrefinery_air) * L
TIV_breakdown_ch4_noncombustion_oilrefinery_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_noncombustion_oilrefinery_air)
TIV_country_breakdown_ch4_noncombustion_oilrefinery_air_w_labels = t(TIV_breakdown_ch4_noncombustion_oilrefinery_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_oilrefinery_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_",year_current,"_ixi.csv"))
# CH4 - agriculture - air
CH4_agriculture_air = satellite[427,]
CH4_agriculture_air = CH4_agriculture_air*28
DIV_ch4_agriculture_air = CH4_agriculture_air/total_output
DIV_ch4_agriculture_air[is.na(DIV_ch4_agriculture_air)]=0
DIV_ch4_agriculture_air[DIV_ch4_agriculture_air == Inf]<-0
TIV_ch4_agriculture_air = as.vector(DIV_ch4_agriculture_air) %*% L
write.csv(TIV_ch4_agriculture_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_agriculture_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_agriculture_air = as.vector(DIV_ch4_agriculture_air) * L
TIV_breakdown_ch4_agriculture_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_agriculture_air)
TIV_country_breakdown_ch4_agriculture_air_w_labels = t(TIV_breakdown_ch4_agriculture_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_agriculture_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_agriculture_air_",year_current,"_ixi.csv"))
# CH4 - waste - air
CH4_waste_air = satellite[436,]
CH4_waste_air = CH4_waste_air*28
DIV_ch4_waste_air = CH4_waste_air/total_output
DIV_ch4_waste_air[is.na(DIV_ch4_waste_air)]=0
DIV_ch4_waste_air[DIV_ch4_waste_air == Inf]<-0
TIV_ch4_waste_air = as.vector(DIV_ch4_waste_air) %*% L
write.csv(TIV_ch4_waste_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_waste_air_",year_current,"_ixi.csv"))
TIV_breakdown_ch4_waste_air = as.vector(DIV_ch4_waste_air) * L
TIV_breakdown_ch4_waste_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_ch4_waste_air)
TIV_country_breakdown_ch4_waste_air_w_labels = t(TIV_breakdown_ch4_waste_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_waste_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_waste_air_",year_current,"_ixi.csv"))
# N2O - combustion - air
N2O_combustion_air = satellite[26,]
N2O_combustion_air = N2O_combustion_air*265
DIV_n2o_combustion_air = N2O_combustion_air/total_output
DIV_n2o_combustion_air[is.na(DIV_n2o_combustion_air)]=0
DIV_n2o_combustion_air[DIV_n2o_combustion_air == Inf]<-0
TIV_n2o_combustion_air = as.vector(DIV_n2o_combustion_air) %*% L
write.csv(TIV_n2o_combustion_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))
TIV_breakdown_n2o_combustion_air = as.vector(DIV_n2o_combustion_air) * L
TIV_breakdown_n2o_combustion_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_n2o_combustion_air)
TIV_country_breakdown_n2o_combustion_air_w_labels = t(TIV_breakdown_n2o_combustion_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_n2o_combustion_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))
# N2O - agriculture - air
N2O_agriculture_air = satellite[430,]
N2O_agriculture_air = N2O_agriculture_air*265
DIV_n2o_agriculture_air = N2O_agriculture_air/total_output
DIV_n2o_agriculture_air[is.na(DIV_n2o_agriculture_air)]=0
DIV_n2o_agriculture_air[DIV_n2o_agriculture_air == Inf]<-0
TIV_n2o_agriculture_air = as.vector(DIV_n2o_agriculture_air) %*% L
write.csv(TIV_n2o_agriculture_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))
TIV_breakdown_n2o_agriculture_air = as.vector(DIV_n2o_agriculture_air) * L
TIV_breakdown_n2o_agriculture_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_n2o_agriculture_air)
TIV_country_breakdown_n2o_agriculture_air_w_labels = t(TIV_breakdown_n2o_agriculture_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_n2o_agriculture_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))
# SF6 - air
SF6_air = satellite[424,]
SF6_air = SF6_air*23500
DIV_sf6_air = SF6_air/total_output
DIV_sf6_air[is.na(DIV_sf6_air)]=0
DIV_sf6_air[DIV_sf6_air == Inf]<-0
TIV_sf6_air = as.vector(DIV_sf6_air) %*% L
write.csv(TIV_sf6_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_sf6_CO2eq_air_",year_current,"_ixi.csv"))
TIV_breakdown_sf6_air = as.vector(DIV_sf6_air) * L
TIV_breakdown_sf6_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_sf6_air)
TIV_country_breakdown_sf6_air_w_labels = t(TIV_breakdown_sf6_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_sf6_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_ixi.csv"))
# HFC - air
HFC_air = satellite[425,]
DIV_hfc_air = HFC_air/total_output
DIV_hfc_air[is.na(DIV_hfc_air)]=0
DIV_hfc_air[DIV_hfc_air == Inf]<-0
TIV_hfc_air = as.vector(DIV_hfc_air) %*% L
write.csv(TIV_hfc_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_hfc_CO2eq_air_",year_current,"_ixi.csv"))
TIV_breakdown_hfc_air = as.vector(DIV_hfc_air) * L
TIV_breakdown_hfc_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_hfc_air)
TIV_country_breakdown_hfc_air_w_labels = t(TIV_breakdown_hfc_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_hfc_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_ixi.csv"))
# PFC - air
PFC_air = satellite[426,]
DIV_pfc_air = PFC_air/total_output
DIV_pfc_air[is.na(DIV_pfc_air)]=0
DIV_pfc_air[DIV_pfc_air == Inf]<-0
TIV_pfc_air = as.vector(DIV_pfc_air) %*% L
write.csv(TIV_pfc_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_pfc_CO2eq_air_",year_current,"_ixi.csv"))
TIV_breakdown_pfc_air = as.vector(DIV_pfc_air) * L
TIV_breakdown_pfc_air_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_pfc_air)
TIV_country_breakdown_pfc_air_w_labels = t(TIV_breakdown_pfc_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_pfc_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_ixi.csv"))
# Energy carrier - use
energy_carrier_use = satellite[470,]
write.csv(energy_carrier_use, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/satellite/energy_carrier_use_",year_current,"_ixi.csv"))
DIV_e_u = energy_carrier_use/total_output
DIV_e_u[is.na(DIV_e_u)]=0
DIV_e_u[DIV_e_u == Inf]<-0
TIV_e_u = as.vector(DIV_e_u) %*% L
write.csv(TIV_e_u, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_energy_carrier_use_",year_current,"_ixi.csv"))
TIV_breakdown_e_u = as.vector(DIV_e_u) * L
TIV_breakdown_e_u_w_labels = cbind(Exiobase_T_labels_ixi, TIV_breakdown_e_u)
TIV_country_breakdown_e_u_w_labels = t(TIV_breakdown_e_u_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_e_u_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_energy_carrier_use_",year_current,"_ixi.csv"))
}
##### EXIOBASE product-by-product version
# set study years
years_exiobase_pxp = c(2005,2010)
# 'for' loop which writes 'total intensity vectors' (and row-wise breakdowns) for all study satellite extensions and years to 'data_dir_exiobase' using downloaded EXIOBASE files
for (i in years_exiobase_pxp){
year_current = i
# read in A table as table
A = read.delim(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/A.txt"),header = F)
# write A table as .csv file
write.csv(A, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/A.csv"))
# read in A table as .csv file and extract the data only (no labels), and convert to numeric
A = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/A.csv",sep = ""),row.names=NULL,as.is=TRUE)[4:9803,4:9803]
A[is.na(A)]=0
A = mapply(A, FUN = as.numeric)
A = matrix(data = A, ncol = 9800, nrow = 9800)
# solve the Leontief inverse
L = solve(diag(dim(A)[1])-A)
L[is.na(L)]=0
# read in final demand table (Y) as table
FD = read.delim(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/Y.txt"),header = F)
# write final demand table (Y) as .csv file
write.csv(FD, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/Y.csv"))
# read in final demand table as .csv file and extract the production sector labels
Exiobase_T_labels_pxp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/Y.csv"))[4:9803,1:3]
# write a .csv file with only the production sector labels
write.csv(Exiobase_T_labels_pxp, paste0(data_dir_exiobase, "/Exiobase_T_labels_pxp.csv"))
# read in final demand table as .csv file and extract the final demand category labels
Exiobase_FD_labels_pxp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/Y.csv"))[1:3,4:346]
# write a .csv file with only the final demand category labels
write.csv(Exiobase_FD_labels_pxp, paste0(data_dir_exiobase, "/Exiobase_FD_labels_pxp.csv"))
# read in final demand table as .csv file and extract the data only (no labels), and convert to numeric
FD = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/Y.csv",sep=""),row.names=NULL,as.is=TRUE)[4:9803,4:346]
FD[is.na(FD)]=0
FD = mapply(FD, FUN = as.numeric)
FD = matrix(data=FD,ncol=343,nrow=9800)
# write a .csv file with final demand data only (no labels)
write.csv(FD, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/FD_",year_current,"_pxp.csv"))
# calculate total output
total_output = L %*% rowSums(FD)
# write total output as a .csv file
write.csv(total_output, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/total_output_",year_current,"_pxp.csv"))
# read in satellite extensions table (F) as table
satellite = read.delim(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/satellite/F.txt"),header = F)
# write satellite extensions table (F) as .csv file
write.csv(satellite, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/satellite/F.csv"))
# read in satellite extensions table (F) as .csv file and extract the data only (no labels), and convert to numeric
satellite = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/satellite/F.csv",sep=""),row.names=NULL,as.is=TRUE)[3:1106,3:9802]
satellite[is.na(satellite)]=0
satellite = mapply(satellite, FUN = as.numeric)
satellite = matrix(data=satellite,ncol=9800,nrow=1104)
# write a .csv file with satellite extensions data only (no labels)
write.csv(satellite, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/satellite/satellite_",year_current,"_pxp.csv"))
# read in satellite extensions on final demand table (F_hh) as table
satellite_FD = read.delim(paste0(data_dir_exiobase, "/IOT_", year_current, "_pxp/satellite/F_hh.txt"),header = F)
# write satellite extensions on final demand table (F_hh) as .csv file
write.csv(satellite_FD, paste0(data_dir_exiobase, "/IOT_", year_current, "_pxp/satellite/F_hh.csv"))
## extract the relevant satellite extensions from the satellite table, calculate the 'total intensity
## vectors' (and their row-wise breakdowns), and write them as .csv files to 'data_dir_exiobase'
# CO2 - combustion - air
CO2_combustion_air = satellite[24,]
DIV_co2_combustion_air = CO2_combustion_air/total_output
DIV_co2_combustion_air[is.na(DIV_co2_combustion_air)]=0
DIV_co2_combustion_air[DIV_co2_combustion_air == Inf]<-0
TIV_co2_combustion_air = as.vector(DIV_co2_combustion_air) %*% L
write.csv(TIV_co2_combustion_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_combustion_air_",year_current,"_pxp.csv"))
TIV_breakdown_co2_combustion_air = as.vector(DIV_co2_combustion_air) * L
TIV_breakdown_co2_combustion_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_co2_combustion_air)
TIV_country_breakdown_co2_combustion_air_w_labels = t(TIV_breakdown_co2_combustion_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_combustion_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_combustion_air_",year_current,"_pxp.csv"))
# CO2 - non-combustion - air
## cement
CO2_noncombustion_cement_air = satellite[93,]
DIV_co2_noncombustion_cement_air = CO2_noncombustion_cement_air/total_output
DIV_co2_noncombustion_cement_air[is.na(DIV_co2_noncombustion_cement_air)]=0
DIV_co2_noncombustion_cement_air[DIV_co2_noncombustion_cement_air == Inf]<-0
TIV_co2_noncombustion_cement_air = as.vector(DIV_co2_noncombustion_cement_air) %*% L
write.csv(TIV_co2_noncombustion_cement_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_noncombustion_cement_air_",year_current,"_pxp.csv"))
TIV_breakdown_co2_noncombustion_cement_air = as.vector(DIV_co2_noncombustion_cement_air) * L
TIV_breakdown_co2_noncombustion_cement_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_co2_noncombustion_cement_air)
TIV_country_breakdown_co2_noncombustion_cement_air_w_labels = t(TIV_breakdown_co2_noncombustion_cement_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_noncombustion_cement_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_pxp.csv"))
## lime
CO2_noncombustion_lime_air = satellite[94,]
DIV_co2_noncombustion_lime_air = CO2_noncombustion_lime_air/total_output
DIV_co2_noncombustion_lime_air[is.na(DIV_co2_noncombustion_lime_air)]=0
DIV_co2_noncombustion_lime_air[DIV_co2_noncombustion_lime_air == Inf]<-0
TIV_co2_noncombustion_lime_air = as.vector(DIV_co2_noncombustion_lime_air) %*% L
write.csv(TIV_co2_noncombustion_lime_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_noncombustion_lime_air_",year_current,"_pxp.csv"))
TIV_breakdown_co2_noncombustion_lime_air = as.vector(DIV_co2_noncombustion_lime_air) * L
TIV_breakdown_co2_noncombustion_lime_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_co2_noncombustion_lime_air)
TIV_country_breakdown_co2_noncombustion_lime_air_w_labels = t(TIV_breakdown_co2_noncombustion_lime_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_noncombustion_lime_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_pxp.csv"))
# CO2 - agriculture - peat decay - air
CO2_agriculture_peatdecay_air = satellite[428,]
DIV_co2_agriculture_peatdecay_air = CO2_agriculture_peatdecay_air/total_output
DIV_co2_agriculture_peatdecay_air[is.na(DIV_co2_agriculture_peatdecay_air)]=0
DIV_co2_agriculture_peatdecay_air[DIV_co2_agriculture_peatdecay_air == Inf]<-0
TIV_co2_agriculture_peatdecay_air = as.vector(DIV_co2_agriculture_peatdecay_air) %*% L
write.csv(TIV_co2_agriculture_peatdecay_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_agriculture_peatdecay_air_",year_current,"_pxp.csv"))
TIV_breakdown_co2_agriculture_peatdecay_air = as.vector(DIV_co2_agriculture_peatdecay_air) * L
TIV_breakdown_co2_agriculture_peatdecay_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_co2_agriculture_peatdecay_air)
TIV_country_breakdown_co2_agriculture_peatdecay_air_w_labels = t(TIV_breakdown_co2_agriculture_peatdecay_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_agriculture_peatdecay_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_pxp.csv"))
# CO2 - waste - air
## biogenic
CO2_waste_biogenic_air = satellite[438,]
DIV_co2_waste_biogenic_air = CO2_waste_biogenic_air/total_output
DIV_co2_waste_biogenic_air[is.na(DIV_co2_waste_biogenic_air)]=0
DIV_co2_waste_biogenic_air[DIV_co2_waste_biogenic_air == Inf]<-0
TIV_co2_biogenic_air = as.vector(DIV_co2_waste_biogenic_air) %*% L
write.csv(TIV_co2_biogenic_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_biogenic_air_",year_current,"_pxp.csv"))
TIV_breakdown_co2_biogenic_air = as.vector(DIV_co2_waste_biogenic_air) * L
TIV_breakdown_co2_biogenic_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_co2_biogenic_air)
TIV_country_breakdown_co2_biogenic_air_w_labels = t(TIV_breakdown_co2_biogenic_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_biogenic_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_biogenic_air_",year_current,"_pxp.csv"))
## fossil
CO2_waste_fossil_air = satellite[439,]
DIV_co2_waste_fossil_air = CO2_waste_fossil_air/total_output
DIV_co2_waste_fossil_air[is.na(DIV_co2_waste_fossil_air)]=0
DIV_co2_waste_fossil_air[DIV_co2_waste_fossil_air == Inf]<-0
TIV_co2_waste_fossil_air = as.vector(DIV_co2_waste_fossil_air) %*% L
write.csv(TIV_co2_waste_fossil_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_waste_fossil_air_",year_current,"_pxp.csv"))
TIV_breakdown_co2_waste_fossil_air = as.vector(DIV_co2_waste_fossil_air) * L
TIV_breakdown_co2_waste_fossil_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_co2_waste_fossil_air)
TIV_country_breakdown_co2_waste_fossil_air_w_labels = t(TIV_breakdown_co2_waste_fossil_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_co2_waste_fossil_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_pxp.csv"))
# CH4 - combustion - air
CH4_combustion_air = satellite[25,]
CH4_combustion_air = CH4_combustion_air*28
DIV_ch4_combustion_air = CH4_combustion_air/total_output
DIV_ch4_combustion_air[is.na(DIV_ch4_combustion_air)]=0
DIV_ch4_combustion_air[DIV_ch4_combustion_air == Inf]<-0
TIV_ch4_combustion_air = as.vector(DIV_ch4_combustion_air) %*% L
write.csv(TIV_ch4_combustion_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_combustion_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_combustion_air = as.vector(DIV_ch4_combustion_air) * L
TIV_breakdown_ch4_combustion_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_combustion_air)
TIV_country_breakdown_ch4_combustion_air_w_labels = t(TIV_breakdown_ch4_combustion_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_combustion_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_combustion_air_",year_current,"_pxp.csv"))
# CH4 - non-combustion - air
## gas
CH4_noncombustion_gas_air = satellite[68,]
CH4_noncombustion_gas_air = CH4_noncombustion_gas_air*28
DIV_ch4_noncombustion_gas_air = CH4_noncombustion_gas_air/total_output
DIV_ch4_noncombustion_gas_air[is.na(DIV_ch4_noncombustion_gas_air)]=0
DIV_ch4_noncombustion_gas_air[DIV_ch4_noncombustion_gas_air == Inf]<-0
TIV_ch4_noncombustion_gas_air = as.vector(DIV_ch4_noncombustion_gas_air) %*% L
write.csv(TIV_ch4_noncombustion_gas_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_gas_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_gas_air = as.vector(DIV_ch4_noncombustion_gas_air) * L
TIV_breakdown_ch4_noncombustion_gas_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_gas_air)
TIV_country_breakdown_ch4_noncombustion_gas_air_w_labels = t(TIV_breakdown_ch4_noncombustion_gas_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_gas_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_",year_current,"_pxp.csv"))
## oil
CH4_noncombustion_oil_air = satellite[69,]
CH4_noncombustion_oil_air = CH4_noncombustion_oil_air*28
DIV_ch4_noncombustion_oil_air = CH4_noncombustion_oil_air/total_output
DIV_ch4_noncombustion_oil_air[is.na(DIV_ch4_noncombustion_oil_air)]=0
DIV_ch4_noncombustion_oil_air[DIV_ch4_noncombustion_oil_air == Inf]<-0
TIV_ch4_noncombustion_oil_air = as.vector(DIV_ch4_noncombustion_oil_air) %*% L
write.csv(TIV_ch4_noncombustion_oil_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_oil_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_oil_air = as.vector(DIV_ch4_noncombustion_oil_air) * L
TIV_breakdown_ch4_noncombustion_oil_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_oil_air)
TIV_country_breakdown_ch4_noncombustion_oil_air_w_labels = t(TIV_breakdown_ch4_noncombustion_oil_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_oil_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_",year_current,"_pxp.csv"))
## anthracite
CH4_noncombustion_anthracite_air = satellite[70,]
CH4_noncombustion_anthracite_air = CH4_noncombustion_anthracite_air*28
DIV_ch4_noncombustion_anthracite_air = CH4_noncombustion_anthracite_air/total_output
DIV_ch4_noncombustion_anthracite_air[is.na(DIV_ch4_noncombustion_anthracite_air)]=0
DIV_ch4_noncombustion_anthracite_air[DIV_ch4_noncombustion_anthracite_air == Inf]<-0
TIV_ch4_noncombustion_anthracite_air = as.vector(DIV_ch4_noncombustion_anthracite_air) %*% L
write.csv(TIV_ch4_noncombustion_anthracite_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_anthracite_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_anthracite_air = as.vector(DIV_ch4_noncombustion_anthracite_air) * L
TIV_breakdown_ch4_noncombustion_anthracite_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_anthracite_air)
TIV_country_breakdown_ch4_noncombustion_anthracite_air_w_labels = t(TIV_breakdown_ch4_noncombustion_anthracite_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_anthracite_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_",year_current,"_pxp.csv"))
## bituminous coal
CH4_noncombustion_bituminouscoal_air = satellite[71,]
CH4_noncombustion_bituminouscoal_air = CH4_noncombustion_bituminouscoal_air*28
DIV_ch4_noncombustion_bituminouscoal_air = CH4_noncombustion_bituminouscoal_air/total_output
DIV_ch4_noncombustion_bituminouscoal_air[is.na(DIV_ch4_noncombustion_bituminouscoal_air)]=0
DIV_ch4_noncombustion_bituminouscoal_air[DIV_ch4_noncombustion_bituminouscoal_air == Inf]<-0
TIV_ch4_noncombustion_bituminouscoal_air = as.vector(DIV_ch4_noncombustion_bituminouscoal_air) %*% L
write.csv(TIV_ch4_noncombustion_bituminouscoal_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_bituminouscoal_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_bituminouscoal_air = as.vector(DIV_ch4_noncombustion_bituminouscoal_air) * L
TIV_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_bituminouscoal_air)
TIV_country_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels = t(TIV_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_bituminouscoal_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_",year_current,"_pxp.csv"))
## coking coal
CH4_noncombustion_cokingcoal_air = satellite[72,]
CH4_noncombustion_cokingcoal_air = CH4_noncombustion_cokingcoal_air*28
DIV_ch4_noncombustion_cokingcoal_air = CH4_noncombustion_cokingcoal_air/total_output
DIV_ch4_noncombustion_cokingcoal_air[is.na(DIV_ch4_noncombustion_cokingcoal_air)]=0
DIV_ch4_noncombustion_cokingcoal_air[DIV_ch4_noncombustion_cokingcoal_air == Inf]<-0
TIV_ch4_noncombustion_cokingcoal_air = as.vector(DIV_ch4_noncombustion_cokingcoal_air) %*% L
write.csv(TIV_ch4_noncombustion_cokingcoal_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_cokingcoal_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_cokingcoal_air = as.vector(DIV_ch4_noncombustion_cokingcoal_air) * L
TIV_breakdown_ch4_noncombustion_cokingcoal_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_cokingcoal_air)
TIV_country_breakdown_ch4_noncombustion_cokingcoal_air_w_labels = t(TIV_breakdown_ch4_noncombustion_cokingcoal_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_cokingcoal_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_",year_current,"_pxp.csv"))
## lignite
CH4_noncombustion_lignite_air = satellite[73,]
CH4_noncombustion_lignite_air = CH4_noncombustion_lignite_air*28
DIV_ch4_noncombustion_lignite_air = CH4_noncombustion_lignite_air/total_output
DIV_ch4_noncombustion_lignite_air[is.na(DIV_ch4_noncombustion_lignite_air)]=0
DIV_ch4_noncombustion_lignite_air[DIV_ch4_noncombustion_lignite_air == Inf]<-0
TIV_ch4_noncombustion_lignite_air = as.vector(DIV_ch4_noncombustion_lignite_air) %*% L
write.csv(TIV_ch4_noncombustion_lignite_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_lignite_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_lignite_air = as.vector(DIV_ch4_noncombustion_lignite_air) * L
TIV_breakdown_ch4_noncombustion_lignite_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_lignite_air)
TIV_country_breakdown_ch4_noncombustion_lignite_air_w_labels = t(TIV_breakdown_ch4_noncombustion_lignite_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_lignite_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_",year_current,"_pxp.csv"))
## subbituminous coal
CH4_noncombustion_subbituminouscoal_air = satellite[74,]
CH4_noncombustion_subbituminouscoal_air = CH4_noncombustion_subbituminouscoal_air*28
DIV_ch4_noncombustion_subbituminouscoal_air = CH4_noncombustion_subbituminouscoal_air/total_output
DIV_ch4_noncombustion_subbituminouscoal_air[is.na(DIV_ch4_noncombustion_subbituminouscoal_air)]=0
DIV_ch4_noncombustion_subbituminouscoal_air[DIV_ch4_noncombustion_subbituminouscoal_air == Inf]<-0
TIV_ch4_noncombustion_subbituminouscoal_air = as.vector(DIV_ch4_noncombustion_subbituminouscoal_air) %*% L
write.csv(TIV_ch4_noncombustion_subbituminouscoal_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_subbituminouscoal_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_subbituminouscoal_air = as.vector(DIV_ch4_noncombustion_subbituminouscoal_air) * L
TIV_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_subbituminouscoal_air)
TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels = t(TIV_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_",year_current,"_pxp.csv"))
## oil refinery
CH4_noncombustion_oilrefinery_air = satellite[75,]
CH4_noncombustion_oilrefinery_air = CH4_noncombustion_oilrefinery_air*28
DIV_ch4_noncombustion_oilrefinery_air = CH4_noncombustion_oilrefinery_air/total_output
DIV_ch4_noncombustion_oilrefinery_air[is.na(DIV_ch4_noncombustion_oilrefinery_air)]=0
DIV_ch4_noncombustion_oilrefinery_air[DIV_ch4_noncombustion_oilrefinery_air == Inf]<-0
TIV_ch4_noncombustion_oilrefinery_air = as.vector(DIV_ch4_noncombustion_oilrefinery_air) %*% L
write.csv(TIV_ch4_noncombustion_oilrefinery_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_oilrefinery_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_noncombustion_oilrefinery_air = as.vector(DIV_ch4_noncombustion_oilrefinery_air) * L
TIV_breakdown_ch4_noncombustion_oilrefinery_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_noncombustion_oilrefinery_air)
TIV_country_breakdown_ch4_noncombustion_oilrefinery_air_w_labels = t(TIV_breakdown_ch4_noncombustion_oilrefinery_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_noncombustion_oilrefinery_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_",year_current,"_pxp.csv"))
# CH4 - agriculture - air
CH4_agriculture_air = satellite[427,]
CH4_agriculture_air = CH4_agriculture_air*28
DIV_ch4_agriculture_air = CH4_agriculture_air/total_output
DIV_ch4_agriculture_air[is.na(DIV_ch4_agriculture_air)]=0
DIV_ch4_agriculture_air[DIV_ch4_agriculture_air == Inf]<-0
TIV_ch4_agriculture_air = as.vector(DIV_ch4_agriculture_air) %*% L
write.csv(TIV_ch4_agriculture_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_agriculture_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_agriculture_air = as.vector(DIV_ch4_agriculture_air) * L
TIV_breakdown_ch4_agriculture_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_agriculture_air)
TIV_country_breakdown_ch4_agriculture_air_w_labels = t(TIV_breakdown_ch4_agriculture_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_agriculture_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_agriculture_air_",year_current,"_pxp.csv"))
# CH4 - waste - air
CH4_waste_air = satellite[436,]
CH4_waste_air = CH4_waste_air*28
DIV_ch4_waste_air = CH4_waste_air/total_output
DIV_ch4_waste_air[is.na(DIV_ch4_waste_air)]=0
DIV_ch4_waste_air[DIV_ch4_waste_air == Inf]<-0
TIV_ch4_waste_air = as.vector(DIV_ch4_waste_air) %*% L
write.csv(TIV_ch4_waste_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_waste_air_",year_current,"_pxp.csv"))
TIV_breakdown_ch4_waste_air = as.vector(DIV_ch4_waste_air) * L
TIV_breakdown_ch4_waste_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_ch4_waste_air)
TIV_country_breakdown_ch4_waste_air_w_labels = t(TIV_breakdown_ch4_waste_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_ch4_waste_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_waste_air_",year_current,"_pxp.csv"))
# N2O - combustion - air
N2O_combustion_air = satellite[26,]
N2O_combustion_air = N2O_combustion_air*265
DIV_n2o_combustion_air = N2O_combustion_air/total_output
DIV_n2o_combustion_air[is.na(DIV_n2o_combustion_air)]=0
DIV_n2o_combustion_air[DIV_n2o_combustion_air == Inf]<-0
TIV_n2o_combustion_air = as.vector(DIV_n2o_combustion_air) %*% L
write.csv(TIV_n2o_combustion_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_n2o_CO2eq_combustion_air_",year_current,"_pxp.csv"))
TIV_breakdown_n2o_combustion_air = as.vector(DIV_n2o_combustion_air) * L
TIV_breakdown_n2o_combustion_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_n2o_combustion_air)
TIV_country_breakdown_n2o_combustion_air_w_labels = t(TIV_breakdown_n2o_combustion_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_n2o_combustion_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_pxp.csv"))
# N2O - agriculture - air
N2O_agriculture_air = satellite[430,]
N2O_agriculture_air = N2O_agriculture_air*265
DIV_n2o_agriculture_air = N2O_agriculture_air/total_output
DIV_n2o_agriculture_air[is.na(DIV_n2o_agriculture_air)]=0
DIV_n2o_agriculture_air[DIV_n2o_agriculture_air == Inf]<-0
TIV_n2o_agriculture_air = as.vector(DIV_n2o_agriculture_air) %*% L
write.csv(TIV_n2o_agriculture_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_n2o_CO2eq_agriculture_air_",year_current,"_pxp.csv"))
TIV_breakdown_n2o_agriculture_air = as.vector(DIV_n2o_agriculture_air) * L
TIV_breakdown_n2o_agriculture_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_n2o_agriculture_air)
TIV_country_breakdown_n2o_agriculture_air_w_labels = t(TIV_breakdown_n2o_agriculture_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_n2o_agriculture_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_pxp.csv"))
# SF6 - air
SF6_air = satellite[424,]
SF6_air = SF6_air*23500
DIV_sf6_air = SF6_air/total_output
DIV_sf6_air[is.na(DIV_sf6_air)]=0
DIV_sf6_air[DIV_sf6_air == Inf]<-0
TIV_sf6_air = as.vector(DIV_sf6_air) %*% L
write.csv(TIV_sf6_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_sf6_CO2eq_air_",year_current,"_pxp.csv"))
TIV_breakdown_sf6_air = as.vector(DIV_sf6_air) * L
TIV_breakdown_sf6_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_sf6_air)
TIV_country_breakdown_sf6_air_w_labels = t(TIV_breakdown_sf6_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_sf6_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_pxp.csv"))
# HFC - air
HFC_air = satellite[425,]
DIV_hfc_air = HFC_air/total_output
DIV_hfc_air[is.na(DIV_hfc_air)]=0
DIV_hfc_air[DIV_hfc_air == Inf]<-0
TIV_hfc_air = as.vector(DIV_hfc_air) %*% L
write.csv(TIV_hfc_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_hfc_CO2eq_air_",year_current,"_pxp.csv"))
TIV_breakdown_hfc_air = as.vector(DIV_hfc_air) * L
TIV_breakdown_hfc_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_hfc_air)
TIV_country_breakdown_hfc_air_w_labels = t(TIV_breakdown_hfc_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_hfc_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_pxp.csv"))
# PFC - air
PFC_air = satellite[426,]
DIV_pfc_air = PFC_air/total_output
DIV_pfc_air[is.na(DIV_pfc_air)]=0
DIV_pfc_air[DIV_pfc_air == Inf]<-0
TIV_pfc_air = as.vector(DIV_pfc_air) %*% L
write.csv(TIV_pfc_air, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_pfc_CO2eq_air_",year_current,"_pxp.csv"))
TIV_breakdown_pfc_air = as.vector(DIV_pfc_air) * L
TIV_breakdown_pfc_air_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_pfc_air)
TIV_country_breakdown_pfc_air_w_labels = t(TIV_breakdown_pfc_air_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_pfc_air_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_pxp.csv"))
# Energy carrier - use
energy_carrier_use = satellite[470,]
DIV_e_u = energy_carrier_use/total_output
DIV_e_u[is.na(DIV_e_u)]=0
DIV_e_u[DIV_e_u == Inf]<-0
TIV_e_u = as.vector(DIV_e_u) %*% L
write.csv(TIV_e_u, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_energy_carrier_use_",year_current,"_pxp.csv"))
TIV_breakdown_e_u = as.vector(DIV_e_u) * L
TIV_breakdown_e_u_w_labels = cbind(Exiobase_T_labels_pxp, TIV_breakdown_e_u)
TIV_country_breakdown_e_u_w_labels = t(TIV_breakdown_e_u_w_labels %>%
group_by(V1) %>%
select(-X,-V2) %>%
summarise_all(funs(sum)))
write.csv(TIV_country_breakdown_e_u_w_labels, paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_energy_carrier_use_",year_current,"_pxp.csv"))
}
isf
HBS: European household budget survey from EUROSTAT, macro-data, from : https://ec.europa.eu/eurostat/web/household-budget-surveys/database [accessed on 22.05.2020]
-
'Mean consumption expenditure by income quintile (hbs_exp_t133)'
-
'Structure of consumption expenditure by income quintile and COICOP consumption purpose (hbs_str_t223)'
Direct energy use/emissions from households:
-
For energy, the EUROSTAT data table 'Energy supply and use by NACE Rev. 2 activity' [env_ac_pefasu] at: http://appsso.eurostat.ec.europa.eu/nui/show.do?dataset=env_ac_pefasu [accessed on 03.06.2020].
-
For emissions to air, we download the EUROSTAT data table 'Air emissions accounts by NACE Rev. 2 activity' [env_ac_ainah_r2] at: https://appsso.eurostat.ec.europa.eu/nui/show.do?dataset=env_ac_ainah_r2&lang=en [accessed on 03.06.2020].
Trade and Transport margin tables, Taxes less Subsidies tables (National Accounts > Annual National Accounts > Supply and Use Tables > SUT Indicators): https://stats.oecd.org/index.aspx?queryid=84864#
-
Trade and transport margins in percentage of final consumption expenditure by households: Export as text file (csv) - customize to include years 2005 to 2015 [accessed on: 15-04-2020]
-
Taxes less subsidies on product in percentage of final consumption expenditure by households: Export as text file (csv) - customize to include years 2005 to 2015 [accessed on: 15-04-2020]
# set data directory for income-stratified-footprint files
data_dir_income_stratified_footprints = here("analysis", "preprocessing", "income-stratified-footprints")
################################################### main paper method ####################################################################################
##########################################################################################################################################################
##########################################################################################################################################################
# EUROSTAT Household Budget Survey (HBS)
## load 'mean consumption expenditure by income quintile (hbs_exp_t133)' table
hbs_exp_t133 = read_csv(paste0(data_dir_income_stratified_footprints, "/hbs_exp_t133.csv"))
## rename and arrange by country
mean_expenditure_by_quintile = hbs_exp_t133 %>%
rename(geo = 3, quintile = "quantile") %>%
arrange(geo)
## load 'structure of consumption expenditure by income quintile and COICOP consumption purpose (hbs_str_t223)' table
hbs_str_t223 = read_csv(paste0(data_dir_income_stratified_footprints, "/hbs_str_t223.csv"))
## rename and arrange by country
mean_expenditure_by_coicop_sector = hbs_str_t223 %>%
rename(geo = 4, quintile = "quantile") %>%
arrange(geo)
## create long data set for mean expenditure by quintile table, saving it for use later when creating European expenditure deciles, and keeping both per household and per adult equivalent units
mean_expenditure_by_quintile_long = mean_expenditure_by_quintile %>%
filter(!(quintile %in% c("UNK","TOTAL"))) %>%
filter(!(geo %in% c("EA",
"EA12",
"EA13",
"EA17",
"EA18",
"EA19",
"EEA28",
"EEA30_2007",
"EFTA",
"EU15",
"EU25",
"EU27_2007",
"EU27_2020",
"EU28"))) %>%
gather(year,pps,-quintile,-unit,-geo) %>%
rename(mean_expenditure = pps)
## write long data set as .csv file to 'data_dir_income_stratified_footprints' - used later in final code chunk for creating European expenditure deciles
write_csv(mean_expenditure_by_quintile_long, paste0(data_dir_income_stratified_footprints, "/mean_expenditure_by_quintile_long.csv"))
## create long data set for mean expenditure by quintile table for use in this code chunk, filter for per household
mean_expenditure_by_quintile_long = mean_expenditure_by_quintile %>%
filter(unit == "PPS_HH") %>% # filter 'mean expenditure by quintile' in PPS per HouseHold
filter(!(quintile %in% c("UNK","TOTAL"))) %>% # filter out unknown and total expenditure
select(-unit) %>%
gather(year,pps,-quintile,-geo)
## create long data set for structure of mean consumption expenditure by quintile table
### here we collapse (sum) the two 'rent' HBS sectors 'CP041' and 'CP042' to create a
### single 'rent' sector. We make some manual adjustments where one coicop level 2 consumption
### category is missing data, using the total coicop level 1 expenditure and expenditure in the
### other coicop level 2 categories to calculate the difference. These may not be relevant for
### future available updates of the EUROSTAT HBS if they have been corrected. In that case, comment out the
### mutations at the end of this code.
mean_expenditure_by_coicop_sector_long = mean_expenditure_by_coicop_sector %>%
filter(!(quintile %in% c("UNK","TOTAL"))) %>% # filter out unknown and total expenditure
select(-unit) %>%
gather(year,pm,-quintile,-coicop,-geo) %>%
mutate(coicop = dplyr::recode(coicop, "CP041" = "rent",
"CP042" = "rent")) %>%
group_by(geo,quintile,coicop,year) %>%
mutate(pm = parse_number(pm),
pm = as.numeric(pm)) %>%
summarise(pm = sum(pm, na.rm = TRUE)) %>%
ungroup() %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE1" &
coicop == "CP072", 92-21-14,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE2" &
coicop == "CP072", 108-22-12,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE3" &
coicop == "CP072", 124-32-11,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE4" &
coicop == "CP072", 133-43-10,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE5" &
coicop == "CP072", 162-81-11,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE1" &
coicop == "CP044", 412-4-78-322,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE2" &
coicop == "CP044", 355-5-68-265,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE3" &
coicop == "CP044", 325-8-64-229,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE4" &
coicop == "CP044", 300-9-58-204,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE5" &
coicop == "CP044", 249-10-46-167,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE1" &
coicop == "CP044", 433-3-82-340,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE2" &
coicop == "CP044", 376-6-70-284,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE3" &
coicop == "CP044", 351-9-67-251,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE4" &
coicop == "CP044", 326-10-61-228,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE5" &
coicop == "CP044", 280-9-49-195,pm))
# join the two long HBS tables together
join_expenditures = mean_expenditure_by_coicop_sector_long %>%
left_join(mean_expenditure_by_quintile_long, by = c("geo","quintile","year")) %>%
mutate(pps = as.numeric(pps),
pm = as.numeric(pm),
pps_coicop = pm*(pps/1000))
################################################### main paper method, EXIOBASE industry-by-industry version ############################################# ##########################################################################################################################################################
# EXIOBASE industry-by-industry version
## set study years
years_exb_ixi = c(2005,2010,2015)
## create NULL dataframe for dis-aggregated final demand
disaggregated_final_demand = NULL
## create NULL dataframe for 'total intensity vectors'
TIVs = NULL
## create NULL dataframe for domestic 'total intensity vectors'
domestic_TIVs = NULL
## create NULL dataframe for rest-of-Europe 'total intensity vectors'
europe_TIVs = NULL
## create NULL dataframe for national footprints
national_fp = NULL
## create NULL dataframe for national territorial energy use/emissions
national_territorial = NULL
## 'for' loop which populates the above NULL dataframes
for (i in years_exb_ixi){
year_current = i
## EXIOBASE final demand table without labels (.csv file)
Exiobase_FD = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/FD_",year_current,"_ixi.csv"))[,-1]
## select household (hh) final demand vectors for study countries
AT = Exiobase_FD[,1]
BE = Exiobase_FD[,8]
BG = Exiobase_FD[,15]
CY = Exiobase_FD[,22]
CZ = Exiobase_FD[,29]
DE = Exiobase_FD[,36]
DK = Exiobase_FD[,43]
EE = Exiobase_FD[,50]
EL = Exiobase_FD[,78]
ES = Exiobase_FD[,57]
FI = Exiobase_FD[,64]
FR = Exiobase_FD[,71]
HR = Exiobase_FD[,85]
HU = Exiobase_FD[,92]
IE = Exiobase_FD[,99]
IT = Exiobase_FD[,106]
LT = Exiobase_FD[,113]
LU = Exiobase_FD[,120]
LV = Exiobase_FD[,127]
MT = Exiobase_FD[,134]
NL = Exiobase_FD[,141]
NO = Exiobase_FD[,288]
PL = Exiobase_FD[,148]
PT = Exiobase_FD[,155]
RO = Exiobase_FD[,162]
SE = Exiobase_FD[,169]
SI = Exiobase_FD[,176]
SK = Exiobase_FD[,183]
TR = Exiobase_FD[,274]
UK = Exiobase_FD[,190]
Eurostat_countries = cbind(AT,BE,BG,CY,CZ,DE,DK,EE,EL,ES,FI,FR,HR,HU,IE,IT,LT,LU,LV,MT,NL,NO,PL,PT,RO,SE,SI,SK,TR,UK)
## read in EXIOBASE production sector labels written and saved in previous code chunk
Exiobase_T_labels = read.csv(paste0(data_dir_income_stratified_footprints, "/Exiobase_T_labels_ixi_w_coicop_mapping.csv")) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
## bind EXIOBASE hh final demand with production sector labels
hh_fd_with_production_sector_labels = cbind(Exiobase_T_labels,Eurostat_countries) %>% rename(geo = V1, sector = V2)
## replicate each cell of each country's hh final demand as many times as there are income quantiles in the HBS data - in this case: 5
cells_repeat = data.frame(hh_fd_with_production_sector_labels %>% slice(rep(1:n(), each = 5)))
## create quintile names
quintiles = data.frame(rep(c("QUINTILE1","QUINTILE2","QUINTILE3","QUINTILE4","QUINTILE5"),163)) %>% rename_at(1,~"quintile")
## bind replicated hh final demand cells to quintile names
replicated = cbind(cells_repeat,quintiles) %>% rename(country_of_production = geo)
## convert to long data
replicated_long = replicated %>% gather(geo, value,-sector,-coicop,-quintile,-five_sectors,-country_of_production)
## create year column
year = as.character(rep(year_current,nrow(replicated_long)))
## bind year with long hh fd data
replicated_long = cbind(year,replicated_long)
## populate NULL 'dis-aggregated_final_demand' dataframe with hh fd from each study year
disaggregated_final_demand = rbind(disaggregated_final_demand, replicated_long)
# load total intensity vectors
## CO2 - combustion - air
Exiobase_TIV_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_combustion_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_combustion_air_", year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_combustion_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_combustion_air_", year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_combustion_europe,TIV_CO2_combustion_not_europe)
## CO2 - noncombustion - cement - air
Exiobase_TIV_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_noncombustion_cement_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_noncombustion_cement_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_noncombustion_cement_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_noncombustion_cement_europe,TIV_CO2_noncombustion_cement_not_europe)
## CO2 - noncombustion - lime - air
Exiobase_TIV_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_noncombustion_lime_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_noncombustion_lime_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_noncombustion_lime_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_noncombustion_lime_europe,TIV_CO2_noncombustion_lime_not_europe)
## CO2 - agriculture - peat decay - air
Exiobase_TIV_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_agriculture_peatdecay_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_agriculture_peatdecay_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_agriculture_peatdecay_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_agriculture_peatdecay_europe,TIV_CO2_agriculture_peatdecay_not_europe)
## CO2 - waste - biogenic - air
Exiobase_TIV_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_biogenic_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_biogenic_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_waste_biogenic_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_biogenic_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_waste_biogenic_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_waste_biogenic_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_waste_biogenic_europe,TIV_CO2_waste_biogenic_not_europe)
## CO2 - waste - fossil - air
Exiobase_TIV_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_waste_fossil_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_waste_fossil_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_waste_fossil_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_waste_fossil_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_waste_fossil_europe,TIV_CO2_waste_fossil_not_europe)
## CH4 - combustion -air
Exiobase_TIV_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_combustion_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_combustion_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_combustion_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_combustion_europe,TIV_CH4_combustion_not_europe)
## CH4 - noncombustion - gas - air
Exiobase_TIV_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_gas_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_gas_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_gas_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_gas_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_gas_europe,TIV_CH4_noncombustion_gas_not_europe)
## CH4 - noncombustion - oil - air
Exiobase_TIV_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_oil_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_oil_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_oil_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_oil_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_oil_europe,TIV_CH4_noncombustion_oil_not_europe)
## CH4 - noncombustion - anthracite - air
Exiobase_TIV_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_anthracite_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_anthracite_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_anthracite_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_anthracite_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_anthracite_europe,TIV_CH4_noncombustion_anthracite_not_europe)
## CH4 - noncombustion - bituminouscoal - air
Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_bituminouscoal_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_bituminouscoal_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_bituminouscoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_bituminouscoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_bituminouscoal_europe,TIV_CH4_noncombustion_bituminouscoal_not_europe)
## CH4 - noncombustion - cokingcoal - air
Exiobase_TIV_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_cokingcoal_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_cokingcoal_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_cokingcoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_cokingcoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_cokingcoal_europe,TIV_CH4_noncombustion_cokingcoal_not_europe)
## CH4 - noncombustion - lignite - air
Exiobase_TIV_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_lignite_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_lignite_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_lignite_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_lignite_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_lignite_europe,TIV_CH4_noncombustion_lignite_not_europe)
## CH4 - noncombustion - subbituminouscoal - air
Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_subbituminouscoal_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_subbituminouscoal_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_subbituminouscoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_subbituminouscoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_subbituminouscoal_europe,TIV_CH4_noncombustion_subbituminouscoal_not_europe)
## CH4 - noncombustion - oilrefinery - air
Exiobase_TIV_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_oilrefinery_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_oilrefinery_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_oilrefinery_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_oilrefinery_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_oilrefinery_europe,TIV_CH4_noncombustion_oilrefinery_not_europe)
## CH4 - agriculture - air
Exiobase_TIV_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_agriculture_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_agriculture_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_agriculture_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_agriculture_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_agriculture_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_agriculture_europe,TIV_CH4_agriculture_not_europe)
## CH4 - waste - air
Exiobase_TIV_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_waste_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_waste_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_waste_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_waste_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_waste_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_waste_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_waste_europe,TIV_CH4_waste_not_europe)
## N2O - combustion - air
Exiobase_TIV_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_N2O_combustion_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_N2O_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_N2O_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_N2O_combustion_europe,TIV_N2O_combustion_not_europe)
## N2O - agriculture - air
Exiobase_TIV_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_N2O_agriculture_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_N2O_agriculture_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_N2O_agriculture_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_N2O_agriculture_europe,TIV_N2O_agriculture_not_europe)
## SF6 - air
Exiobase_TIV_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_sf6_CO2eq_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_SF6_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_SF6_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_SF6_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_SF6_europe,TIV_SF6_not_europe)
## HFC - air
Exiobase_TIV_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_hfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_HFC_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_HFC_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_HFC_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_HFC_europe,TIV_HFC_not_europe)
## PFC - air
Exiobase_TIV_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_pfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_PFC_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_PFC_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_PFC_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_PFC_europe,TIV_PFC_not_europe)
## energy use
Exiobase_TIV_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_energy_carrier_use_",year_current,"_ixi.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_energy_carrier_use_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_energy_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_energy_carrier_use_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_energy_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_energy_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_energy_europe,TIV_energy_not_europe)
# bind production sector labels with total intensity vectors
TIV_with_labels = cbind(Exiobase_T_labels,
t(Exiobase_TIV_co2_combustion_bp),
t(Exiobase_TIV_co2_noncombustion_cement_bp),
t(Exiobase_TIV_co2_noncombustion_lime_bp),
t(Exiobase_TIV_co2_agriculture_peatdecay_bp),
t(Exiobase_TIV_co2_waste_biogenic_bp),
t(Exiobase_TIV_co2_waste_fossil_bp),
t(Exiobase_TIV_ch4_combustion_bp),
t(Exiobase_TIV_ch4_noncombustion_gas_bp),
t(Exiobase_TIV_ch4_noncombustion_oil_bp),
t(Exiobase_TIV_ch4_noncombustion_anthracite_bp),
t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp),
t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp),
t(Exiobase_TIV_ch4_noncombustion_lignite_bp),
t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp),
t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp),
t(Exiobase_TIV_ch4_agriculture_bp),
t(Exiobase_TIV_ch4_waste_bp),
t(Exiobase_TIV_n2o_combustion_bp),
t(Exiobase_TIV_n2o_agriculture_bp),
t(Exiobase_TIV_sf6_bp),
t(Exiobase_TIV_hfc_bp),
t(Exiobase_TIV_pfc_bp),
t(Exiobase_TIV_energy_use_bp)) %>%
rename(TIV_CO2_combustion = "t(Exiobase_TIV_co2_combustion_bp)",
TIV_CO2_noncombustion_cement = "t(Exiobase_TIV_co2_noncombustion_cement_bp)",
TIV_CO2_noncombustion_lime = "t(Exiobase_TIV_co2_noncombustion_lime_bp)",
TIV_CO2_agriculture_peatdecay = "t(Exiobase_TIV_co2_agriculture_peatdecay_bp)",
TIV_CO2_waste_biogenic = "t(Exiobase_TIV_co2_waste_biogenic_bp)",
TIV_CO2_waste_fossil = "t(Exiobase_TIV_co2_waste_fossil_bp)",
TIV_CH4_combustion = "t(Exiobase_TIV_ch4_combustion_bp)",
TIV_CH4_noncombustion_gas = "t(Exiobase_TIV_ch4_noncombustion_gas_bp)",
TIV_CH4_noncombustion_oil = "t(Exiobase_TIV_ch4_noncombustion_oil_bp)",
TIV_CH4_noncombustion_anthracite = "t(Exiobase_TIV_ch4_noncombustion_anthracite_bp)",
TIV_CH4_noncombustion_bituminouscoal = "t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp)",
TIV_CH4_noncombustion_cokingcoal = "t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp)",
TIV_CH4_noncombustion_lignite = "t(Exiobase_TIV_ch4_noncombustion_lignite_bp)",
TIV_CH4_noncombustion_subbituminouscoal = "t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp)",
TIV_CH4_noncombustion_oilrefinery = "t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp)",
TIV_CH4_agriculture = "t(Exiobase_TIV_ch4_agriculture_bp)",
TIV_CH4_waste = "t(Exiobase_TIV_ch4_waste_bp)",
TIV_N2O_combustion = "t(Exiobase_TIV_n2o_combustion_bp)",
TIV_N2O_agriculture = "t(Exiobase_TIV_n2o_agriculture_bp)",
TIV_SF6 = "t(Exiobase_TIV_sf6_bp)",
TIV_HFC = "t(Exiobase_TIV_hfc_bp)",
TIV_PFC = "t(Exiobase_TIV_pfc_bp)",
TIV_energy = "t(Exiobase_TIV_energy_use_bp)") %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
# create year column
year = as.character(rep(year_current,nrow(TIV_with_labels)))
# bind year with labeled total intensity vectors
TIVs_intermediate = cbind(year,TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2)
# populate NULL total intensity vectors dataframe
TIVs = rbind(TIVs,TIVs_intermediate)
# bind production sector labels with domestic total intensity vectors
domestic_TIV_with_labels = cbind(Exiobase_T_labels,
Exiobase_TIV_country_breakdown_co2_combustion_bp,
Exiobase_TIV_country_breakdown_co2_noncombustion_cement_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_noncombustion_lime_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_agriculture_peatdecay_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_waste_biogenic_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_waste_fossil_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_combustion_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_gas_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_oil_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_anthracite_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_bituminouscoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_cokingcoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_lignite_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_oilrefinery_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_agriculture_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_waste_bp %>% select(-country),
Exiobase_TIV_country_breakdown_n2o_combustion_bp %>% select(-country),
Exiobase_TIV_country_breakdown_n2o_agriculture_bp %>% select(-country),
Exiobase_TIV_country_breakdown_sf6_bp %>% select(-country),
Exiobase_TIV_country_breakdown_hfc_bp %>% select(-country),
Exiobase_TIV_country_breakdown_pfc_bp %>% select(-country),
Exiobase_TIV_country_breakdown_energy_use_bp %>% select(-country)) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"),
country = dplyr::recode(country, "GR" = "EL", "GB" = "UK"))
# create year column for domestic TIVs
year_domestic = as.character(rep(year_current,nrow(domestic_TIV_with_labels)))
# bind year with labeled domestic total intensity vectors
TIVs_domestic_intermediate = cbind(year_domestic,domestic_TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2, geo = country, year = year_domestic) %>%
mutate(TIV_CO2_combustion_domestic = as.numeric(TIV_CO2_combustion_domestic),
TIV_CO2_noncombustion_cement_domestic = as.numeric(TIV_CO2_noncombustion_cement_domestic),
TIV_CO2_noncombustion_lime_domestic = as.numeric(TIV_CO2_noncombustion_lime_domestic),
TIV_CO2_agriculture_peatdecay_domestic = as.numeric(TIV_CO2_agriculture_peatdecay_domestic),
TIV_CO2_waste_biogenic_domestic = as.numeric(TIV_CO2_waste_biogenic_domestic),
TIV_CO2_waste_fossil_domestic = as.numeric(TIV_CO2_waste_fossil_domestic),
TIV_CH4_combustion_domestic = as.numeric(TIV_CH4_combustion_domestic),
TIV_CH4_noncombustion_gas_domestic = as.numeric(TIV_CH4_noncombustion_gas_domestic),
TIV_CH4_noncombustion_oil_domestic = as.numeric(TIV_CH4_noncombustion_oil_domestic),
TIV_CH4_noncombustion_anthracite_domestic = as.numeric(TIV_CH4_noncombustion_anthracite_domestic),
TIV_CH4_noncombustion_bituminouscoal_domestic = as.numeric(TIV_CH4_noncombustion_bituminouscoal_domestic),
TIV_CH4_noncombustion_cokingcoal_domestic = as.numeric(TIV_CH4_noncombustion_cokingcoal_domestic),
TIV_CH4_noncombustion_lignite_domestic = as.numeric(TIV_CH4_noncombustion_lignite_domestic),
TIV_CH4_noncombustion_subbituminouscoal_domestic = as.numeric(TIV_CH4_noncombustion_subbituminouscoal_domestic),
TIV_CH4_noncombustion_oilrefinery_domestic = as.numeric(TIV_CH4_noncombustion_oilrefinery_domestic),
TIV_CH4_agriculture_domestic = as.numeric(TIV_CH4_agriculture_domestic),
TIV_CH4_waste_domestic = as.numeric(TIV_CH4_waste_domestic),
TIV_N2O_combustion_domestic = as.numeric(TIV_N2O_combustion_domestic),
TIV_N2O_agriculture_domestic = as.numeric(TIV_N2O_agriculture_domestic),
TIV_SF6_domestic = as.numeric(TIV_SF6_domestic),
TIV_HFC_domestic = as.numeric(TIV_HFC_domestic),
TIV_PFC_domestic = as.numeric(TIV_PFC_domestic),
TIV_energy_domestic = as.numeric(TIV_energy_domestic))
# populate NULL domestic TIVs dataframe
domestic_TIVs = rbind(domestic_TIVs, TIVs_domestic_intermediate)
# bind production sector labels with European TIVs
europe_TIV_with_labels = cbind(Exiobase_T_labels,
Exiobase_TIV_europe_breakdown_co2_combustion_bp,
Exiobase_TIV_europe_breakdown_co2_noncombustion_cement_bp,
Exiobase_TIV_europe_breakdown_co2_noncombustion_lime_bp,
Exiobase_TIV_europe_breakdown_co2_agriculture_peatdecay_bp,
Exiobase_TIV_europe_breakdown_co2_waste_biogenic_bp,
Exiobase_TIV_europe_breakdown_co2_waste_fossil_bp,
Exiobase_TIV_europe_breakdown_ch4_combustion_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_gas_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oil_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_anthracite_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_bituminouscoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_cokingcoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_lignite_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_subbituminouscoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oilrefinery_bp,
Exiobase_TIV_europe_breakdown_ch4_agriculture_bp,
Exiobase_TIV_europe_breakdown_ch4_waste_bp,
Exiobase_TIV_europe_breakdown_n2o_combustion_bp,
Exiobase_TIV_europe_breakdown_n2o_agriculture_bp,
Exiobase_TIV_europe_breakdown_sf6_bp,
Exiobase_TIV_europe_breakdown_hfc_bp,
Exiobase_TIV_europe_breakdown_pfc_bp,
Exiobase_TIV_europe_breakdown_energy_use_bp) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
# create year column for European TIVs
year_europe = as.character(rep(year_current,nrow(europe_TIV_with_labels)))
# bind year with labeled European total intensity vectors
TIVs_europe_intermediate = cbind(year_europe,europe_TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2, year = year_europe) %>%
mutate(TIV_CO2_combustion_europe = as.numeric(TIV_CO2_combustion_europe),
TIV_CO2_noncombustion_cement_europe = as.numeric(TIV_CO2_noncombustion_cement_europe),
TIV_CO2_noncombustion_lime_europe = as.numeric(TIV_CO2_noncombustion_lime_europe),
TIV_CO2_agriculture_peatdecay_europe = as.numeric(TIV_CO2_agriculture_peatdecay_europe),
TIV_CO2_waste_biogenic_europe = as.numeric(TIV_CO2_waste_biogenic_europe),
TIV_CO2_waste_fossil_europe = as.numeric(TIV_CO2_waste_fossil_europe),
TIV_CH4_combustion_europe = as.numeric(TIV_CH4_combustion_europe),
TIV_CH4_noncombustion_gas_europe = as.numeric(TIV_CH4_noncombustion_gas_europe),
TIV_CH4_noncombustion_oil_europe = as.numeric(TIV_CH4_noncombustion_oil_europe),
TIV_CH4_noncombustion_anthracite_europe = as.numeric(TIV_CH4_noncombustion_anthracite_europe),
TIV_CH4_noncombustion_bituminouscoal_europe = as.numeric(TIV_CH4_noncombustion_bituminouscoal_europe),
TIV_CH4_noncombustion_cokingcoal_europe = as.numeric(TIV_CH4_noncombustion_cokingcoal_europe),
TIV_CH4_noncombustion_lignite_europe = as.numeric(TIV_CH4_noncombustion_lignite_europe),
TIV_CH4_noncombustion_subbituminouscoal_europe = as.numeric(TIV_CH4_noncombustion_subbituminouscoal_europe),
TIV_CH4_noncombustion_oilrefinery_europe = as.numeric(TIV_CH4_noncombustion_oilrefinery_europe),
TIV_CH4_agriculture_europe = as.numeric(TIV_CH4_agriculture_europe),
TIV_CH4_waste_europe = as.numeric(TIV_CH4_waste_europe),
TIV_N2O_combustion_europe = as.numeric(TIV_N2O_combustion_europe),
TIV_N2O_agriculture_europe = as.numeric(TIV_N2O_agriculture_europe),
TIV_SF6_europe = as.numeric(TIV_SF6_europe),
TIV_HFC_europe = as.numeric(TIV_HFC_europe),
TIV_PFC_europe = as.numeric(TIV_PFC_europe),
TIV_energy_europe = as.numeric(TIV_energy_europe))
# populate NULL Europe TIVs dataframe
europe_TIVs = rbind(europe_TIVs, TIVs_europe_intermediate)
# calculating total national footprints
## read in EXIOBASE final demand labels and calculate national footprints for each study satellite extension
Exiobase_FD_labels = as.data.frame(t(read.csv(paste0(data_dir_exiobase, "/Exiobase_FD_labels_ixi.csv")))[-1,-3]) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
national_CO2_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_co2_combustion_bp)
national_CO2_noncombustion_cement_footprints = Exiobase_FD * t(Exiobase_TIV_co2_noncombustion_cement_bp)
national_CO2_noncombustion_lime_footprints = Exiobase_FD * t(Exiobase_TIV_co2_noncombustion_lime_bp)
national_CO2_agriculture_peatdecay_footprints = Exiobase_FD * t(Exiobase_TIV_co2_agriculture_peatdecay_bp)
national_CO2_waste_biogenic_footprints = Exiobase_FD * t(Exiobase_TIV_co2_waste_biogenic_bp)
national_CO2_waste_fossil_footprints = Exiobase_FD * t(Exiobase_TIV_co2_waste_fossil_bp)
national_CH4_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_combustion_bp)
national_CH4_noncombustion_gas_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_gas_bp)
national_CH4_noncombustion_oil_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_oil_bp)
national_CH4_noncombustion_anthracite_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_anthracite_bp)
national_CH4_noncombustion_bituminouscoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp)
national_CH4_noncombustion_cokingcoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp)
national_CH4_noncombustion_lignite_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_lignite_bp)
national_CH4_noncombustion_subbituminouscoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp)
national_CH4_noncombustion_oilrefinery_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp)
national_CH4_agriculture_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_agriculture_bp)
national_CH4_waste_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_waste_bp)
national_N2O_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_n2o_combustion_bp)
national_N2O_agriculture_footprints = Exiobase_FD * t(Exiobase_TIV_n2o_agriculture_bp)
national_SF6_footprints = Exiobase_FD * t(Exiobase_TIV_sf6_bp)
national_HFC_footprints = Exiobase_FD * t(Exiobase_TIV_hfc_bp)
national_PFC_footprints = Exiobase_FD * t(Exiobase_TIV_pfc_bp)
national_energy_footprints = Exiobase_FD * t(Exiobase_TIV_energy_use_bp)
## bind FD labels and national footprints together
national_footprints_w_labels = cbind(Exiobase_FD_labels,
rowSums(t(national_CO2_combustion_footprints)),
rowSums(t(national_CO2_noncombustion_cement_footprints)),
rowSums(t(national_CO2_noncombustion_lime_footprints)),
rowSums(t(national_CO2_agriculture_peatdecay_footprints)),
rowSums(t(national_CO2_waste_biogenic_footprints)),
rowSums(t(national_CO2_waste_fossil_footprints)),
rowSums(t(national_CH4_combustion_footprints)),
rowSums(t(national_CH4_noncombustion_gas_footprints)),
rowSums(t(national_CH4_noncombustion_oil_footprints)),
rowSums(t(national_CH4_noncombustion_anthracite_footprints)),
rowSums(t(national_CH4_noncombustion_bituminouscoal_footprints)),
rowSums(t(national_CH4_noncombustion_cokingcoal_footprints)),
rowSums(t(national_CH4_noncombustion_lignite_footprints)),
rowSums(t(national_CH4_noncombustion_subbituminouscoal_footprints)),
rowSums(t(national_CH4_noncombustion_oilrefinery_footprints)),
rowSums(t(national_CH4_agriculture_footprints)),
rowSums(t(national_CH4_waste_footprints)),
rowSums(t(national_N2O_combustion_footprints)),
rowSums(t(national_N2O_agriculture_footprints)),
rowSums(t(national_SF6_footprints)),
rowSums(t(national_HFC_footprints)),
rowSums(t(national_PFC_footprints)),
rowSums(t(national_energy_footprints))) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
## create year column for national footprints
year_national_fp = as.character(rep(year_current,nrow(national_footprints_w_labels)))
# satellite extensions direct from household final demand
## load satellite extensions direct from household final demand table from 'data_dir_exiobase' and convert to numeric
direct_FD_extensions = read.csv(paste0(data_dir_exiobase, "/IOT_", year_current, "_ixi/satellite/F_hh.csv", sep = ""),row.names=NULL,as.is=TRUE)[3:1115,3:345]
direct_FD_extensions[is.na(direct_FD_extensions)]=0
direct_FD_extensions = mapply(direct_FD_extensions, FUN = as.numeric)
direct_FD_extensions = matrix(data=direct_FD_extensions,ncol=343,nrow=1113)
## extract each study satellite extension
direct_FD_co2_combustion = direct_FD_extensions[24,]
direct_FD_co2_noncombustion_cement = direct_FD_extensions[93,]
direct_FD_co2_noncombustion_lime = direct_FD_extensions[94,]
direct_FD_co2_agriculture_peatdecay = direct_FD_extensions[428,]
direct_FD_co2_waste_biogenic = direct_FD_extensions[438,]
direct_FD_co2_waste_fossil = direct_FD_extensions[439,]
direct_FD_ch4_combustion = direct_FD_extensions[25,]*28
direct_FD_ch4_noncombustion_gas = direct_FD_extensions[68,]*28
direct_FD_ch4_noncombustion_oil = direct_FD_extensions[69,]*28
direct_FD_ch4_noncombustion_anthracite = direct_FD_extensions[70,]*28
direct_FD_ch4_noncombustion_bituminouscoal = direct_FD_extensions[71,]*28
direct_FD_ch4_noncombustion_cokingcoal = direct_FD_extensions[72,]*28
direct_FD_ch4_noncombustion_lignite = direct_FD_extensions[73,]*28
direct_FD_ch4_noncombustion_subbituminouscoal = direct_FD_extensions[74,]*28
direct_FD_ch4_noncombustion_oilrefinery = direct_FD_extensions[75,]*28
direct_FD_ch4_agriculture = direct_FD_extensions[427,]*28
direct_FD_ch4_waste = direct_FD_extensions[436,]*28
direct_FD_n2o_combustion = direct_FD_extensions[26,]*265
direct_FD_n2o_agriculture = direct_FD_extensions[430,]*265
direct_FD_sf6 = direct_FD_extensions[424,]*23500
direct_FD_hfc = direct_FD_extensions[425,]
direct_FD_pfc = direct_FD_extensions[426,]
direct_FD_energy = direct_FD_extensions[470,]
## bind all extensions together
direct_FD_fp = data.frame(direct_FD_co2_combustion,
direct_FD_co2_noncombustion_cement,
direct_FD_co2_noncombustion_lime,
direct_FD_co2_agriculture_peatdecay,
direct_FD_co2_waste_biogenic,
direct_FD_co2_waste_fossil,
direct_FD_ch4_combustion,
direct_FD_ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_oilrefinery,
direct_FD_ch4_agriculture,
direct_FD_ch4_waste,
direct_FD_n2o_combustion,
direct_FD_n2o_agriculture,
direct_FD_sf6,
direct_FD_hfc,
direct_FD_pfc,
direct_FD_energy)
## bind national footprints and direct extensions from hh final demand together (with year column)
national_fp_intermediate = as.data.frame(cbind(year_national_fp,
national_footprints_w_labels,
direct_FD_fp)) %>%
rename(year = year_national_fp,
geo = V1,
fd_category = V2,
co2_combustion = "rowSums(t(national_CO2_combustion_footprints))",
co2_noncombustion_cement = "rowSums(t(national_CO2_noncombustion_cement_footprints))",
co2_noncombustion_lime = "rowSums(t(national_CO2_noncombustion_lime_footprints))",
co2_agriculture_peatdecay = "rowSums(t(national_CO2_agriculture_peatdecay_footprints))",
co2_waste_biogenic = "rowSums(t(national_CO2_waste_biogenic_footprints))",
co2_waste_fossil = "rowSums(t(national_CO2_waste_fossil_footprints))",
ch4_combustion = "rowSums(t(national_CH4_combustion_footprints))",
ch4_noncombustion_gas = "rowSums(t(national_CH4_noncombustion_gas_footprints))",
ch4_noncombustion_oil = "rowSums(t(national_CH4_noncombustion_oil_footprints))",
ch4_noncombustion_anthracite = "rowSums(t(national_CH4_noncombustion_anthracite_footprints))",
ch4_noncombustion_bituminouscoal = "rowSums(t(national_CH4_noncombustion_bituminouscoal_footprints))",
ch4_noncombustion_cokingcoal = "rowSums(t(national_CH4_noncombustion_cokingcoal_footprints))",
ch4_noncombustion_lignite = "rowSums(t(national_CH4_noncombustion_lignite_footprints))",
ch4_noncombustion_subbituminouscoal = "rowSums(t(national_CH4_noncombustion_subbituminouscoal_footprints))",
ch4_noncombustion_oilrefinery = "rowSums(t(national_CH4_noncombustion_oilrefinery_footprints))",
ch4_agriculture = "rowSums(t(national_CH4_agriculture_footprints))",
ch4_waste = "rowSums(t(national_CH4_waste_footprints))",
n2o_combustion = "rowSums(t(national_N2O_combustion_footprints))",
n2o_agriculture = "rowSums(t(national_N2O_agriculture_footprints))",
sf6 = "rowSums(t(national_SF6_footprints))",
hfc = "rowSums(t(national_HFC_footprints))",
pfc = "rowSums(t(national_PFC_footprints))",
energy = "rowSums(t(national_energy_footprints))") %>%
select(year,
geo,
fd_category,
co2_combustion,
direct_FD_co2_combustion,
co2_noncombustion_cement,
direct_FD_co2_noncombustion_cement,
co2_noncombustion_lime,
direct_FD_co2_noncombustion_lime,
co2_agriculture_peatdecay,
direct_FD_co2_agriculture_peatdecay,
co2_waste_biogenic,
direct_FD_co2_waste_biogenic,
co2_waste_fossil,
direct_FD_co2_waste_fossil,
ch4_combustion,
direct_FD_ch4_combustion,
ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_gas,
ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_oil,
ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_anthracite,
ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_bituminouscoal,
ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_cokingcoal,
ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_lignite,
ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_subbituminouscoal,
ch4_noncombustion_oilrefinery,
direct_FD_ch4_noncombustion_oilrefinery,
ch4_agriculture,
direct_FD_ch4_agriculture,
ch4_waste,
direct_FD_ch4_waste,
n2o_combustion,
direct_FD_n2o_combustion,
n2o_agriculture,
direct_FD_n2o_agriculture,
sf6,
direct_FD_sf6,
hfc,
direct_FD_hfc,
pfc,
direct_FD_pfc,
energy,
direct_FD_energy)
## populate NULL national footprints dataframe
national_fp = rbind(national_fp, national_fp_intermediate)
# national territorial
## load saved satellite extensions table (as .csv file) from 'data_dir_exiobase' and extract each study satellite extension
satellite = read.csv(paste0(data_dir_exiobase, "/IOT_", year_current, "_ixi/satellite/satellite_",year_current,"_ixi.csv"))[,-1]
CO2_combustion_air = satellite[24,]
CO2_noncombustion_cement_air = satellite[93,]
CO2_noncombustion_lime_air = satellite[94,]
CO2_agriculture_peatdecay_air = satellite[428,]
CO2_waste_biogenic_air = satellite[438,]
CO2_waste_fossil_air = satellite[439,]
CH4_combustion_air = satellite[25,]
CH4_combustion_air = CH4_combustion_air*28
CH4_noncombustion_gas_air = satellite[68,]
CH4_noncombustion_gas_air = CH4_noncombustion_gas_air*28
CH4_noncombustion_oil_air = satellite[69,]
CH4_noncombustion_oil_air = CH4_noncombustion_oil_air*28
CH4_noncombustion_anthracite_air = satellite[70,]
CH4_noncombustion_anthracite_air = CH4_noncombustion_anthracite_air*28
CH4_noncombustion_bituminouscoal_air = satellite[71,]
CH4_noncombustion_bituminouscoal_air = CH4_noncombustion_bituminouscoal_air*28
CH4_noncombustion_cokingcoal_air = satellite[72,]
CH4_noncombustion_cokingcoal_air = CH4_noncombustion_cokingcoal_air*28
CH4_noncombustion_lignite_air = satellite[73,]
CH4_noncombustion_lignite_air = CH4_noncombustion_lignite_air*28
CH4_noncombustion_subbituminouscoal_air = satellite[74,]
CH4_noncombustion_subbituminouscoal_air = CH4_noncombustion_subbituminouscoal_air*28
CH4_noncombustion_oilrefinery_air = satellite[75,]
CH4_noncombustion_oilrefinery_air = CH4_noncombustion_oilrefinery_air*28
CH4_agriculture_air = satellite[427,]
CH4_agriculture_air = CH4_agriculture_air*28
CH4_waste_air = satellite[436,]
CH4_waste_air = CH4_waste_air*28
N2O_combustion_air = satellite[26,]
N2O_combustion_air = N2O_combustion_air*265
N2O_agriculture_air = satellite[430,]
N2O_agriculture_air = N2O_agriculture_air*265
SF6_air = satellite[424,]
SF6_air = SF6_air*23500
HFC_air = satellite[425,]
PFC_air = satellite[426,]
energy_carrier_use = satellite[470,]
## bind together
territorial = data.frame(t(CO2_combustion_air),
t(CO2_noncombustion_cement_air),
t(CO2_noncombustion_lime_air),
t(CO2_agriculture_peatdecay_air),
t(CO2_waste_biogenic_air),
t(CO2_waste_fossil_air),
t(CH4_combustion_air),
t(CH4_noncombustion_gas_air),
t(CH4_noncombustion_oil_air),
t(CH4_noncombustion_anthracite_air),
t(CH4_noncombustion_bituminouscoal_air),
t(CH4_noncombustion_cokingcoal_air),
t(CH4_noncombustion_lignite_air),
t(CH4_noncombustion_subbituminouscoal_air),
t(CH4_noncombustion_oilrefinery_air),
t(CH4_agriculture_air),
t(CH4_waste_air),
t(N2O_combustion_air),
t(N2O_agriculture_air),
t(SF6_air),
t(HFC_air),
t(PFC_air),
t(energy_carrier_use)) %>%
rename(CO2_combustion = 1,
CO2_noncombustion_cement = 2,
CO2_noncombustion_lime = 3,
CO2_agriculture_peatdecay = 4,
CO2_waste_biogenic = 5,
CO2_waste_fossil = 6,
CH4_combustion = 7,
CH4_noncombustion_gas = 8,
CH4_noncombustion_oil = 9,
CH4_noncombustion_anthracite = 10,
CH4_noncombustion_bituminouscoal = 11,
CH4_noncombustion_cokingcoal = 12,
CH4_noncombustion_lignite = 13,
CH4_noncombustion_subbituminouscoal = 14,
CH4_noncombustion_oilrefinery = 15,
CH4_agriculture = 16,
CH4_waste = 17,
N2O_combustion = 18,
N2O_agriculture = 19,
SF6 = 20,
HFC = 21, PFC = 22, energy = 23)
## create year column
year_territorial = as.character(rep(year_current,nrow(territorial)))
## bind year column, production sector labels and territorial satellite extensions
territorial_intermediate = as.data.frame(cbind(year_territorial,
Exiobase_T_labels,
territorial)) %>%
rename(year = year_territorial,
geo = V1,
sector = V2) %>%
select(-coicop,-five_sectors)
## populate NULL territorial dataframe
national_territorial = rbind(national_territorial, territorial_intermediate)
}
# write national territorial extensions as .csv and .rds files (save to 'data_dir_income_stratified_footprints')
write.csv(national_territorial, paste0(data_dir_income_stratified_footprints, "/national_territorial_ixi.csv"))
write_rds(national_territorial, paste0(data_dir_income_stratified_footprints, "/national_territorial_ixi.rds"))
# write national footprints as .csv and .rds files (save to 'data_dir_income_stratified_footprints')
write.csv(national_fp, paste0(data_dir_income_stratified_footprints, "/national_fp_ixi.csv"))
write_rds(national_fp, paste0(data_dir_income_stratified_footprints, "/national_fp_ixi.rds"))
# calculate quintile shares within each HBS coicop category
shares = join_expenditures %>%
group_by(coicop,geo,year) %>%
mutate(share = pps_coicop/sum(pps_coicop))
# join disaggregated EXIOBASE hh final demand dataframe with HBS coicop shares and calculate disaggregated hh final demand using the shares
fd_exiobase = disaggregated_final_demand %>%
left_join(shares, by = c("year","geo","coicop","quintile")) %>%
mutate(disaggregated_fd = value*share) %>%
select(year,geo,quintile,country_of_production,sector,coicop,disaggregated_fd) %>%
spread(quintile,disaggregated_fd)
# direct extensions from households
## load EUROSTAT energy use data (no Turkey)
env_ac_pefasu_no_TR = read_csv(paste0(data_dir_income_stratified_footprints, "/env_ac_pefasu_1_Data.csv")) %>%
filter(TIME == 2015) %>%
mutate(geo = dplyr::recode(GEO,"Austria" = "AT",
"Belgium" = "BE",
"Cyprus" = "CY",
"Czechia" = "CZ",
"Denmark" = "DK",
"Estonia" = "EE",
"Finland" = "FI",
"France" = "FR",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Greece" = "EL",
"Hungary" = "HU",
"Ireland" = "IE",
"Italy" = "IT",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Malta" = "MT",
"Netherlands" = "NL",
"Norway" = "NO",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovakia" = "SK",
"Slovenia" = "SI",
"Spain" = "ES",
"Sweden" = "SE",
"United Kingdom" = "UK",
"Bulgaria" = "BG",
"Croatia" = "HR")) %>%
select(NACE_R2,geo,Value) %>%
mutate(Value = parse_number(Value),
Value = as.numeric(Value)) %>%
spread(NACE_R2,Value) %>%
clean_names() %>%
mutate(HH_HEAT = heating_cooling_activities_by_households/total_activities_by_households,
HH_TRA = transport_activities_by_households/total_activities_by_households,
HH_OTH = other_activities_by_households/total_activities_by_households) %>%
select(geo,HH_HEAT,HH_TRA,HH_OTH)
## create column for Turkey using Bulgarian shares between HH_HEAT, HH_TRA, and HH_OTH
env_ac_pefasu_TR = env_ac_pefasu_no_TR %>%
filter(geo == "BG") %>%
mutate(geo = dplyr::recode(geo,
"BG" = "TR"))
## bind EUROSTAT energy use data (no Turkey) with created Turkey column
env_ac_pefasu = rbind(env_ac_pefasu_no_TR,env_ac_pefasu_TR) %>%
gather(sector,share_of_total_energy,-geo)
## load EUROSTAT emissions data
env_ac_ainah_r2 = read_csv(paste0(data_dir_income_stratified_footprints, "/env_ac_ainah_r2_1_Data.csv")) %>%
filter(TIME == 2015) %>%
mutate(geo = dplyr::recode(GEO,"Austria" = "AT",
"Belgium" = "BE",
"Cyprus" = "CY",
"Czechia" = "CZ",
"Denmark" = "DK",
"Estonia" = "EE",
"Finland" = "FI",
"France" = "FR",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Greece" = "EL",
"Hungary" = "HU",
"Ireland" = "IE",
"Italy" = "IT",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Malta" = "MT",
"Netherlands" = "NL",
"Norway" = "NO",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovakia" = "SK",
"Slovenia" = "SI",
"Spain" = "ES",
"Sweden" = "SE",
"Turkey" = "TR",
"United Kingdom" = "UK",
"Bulgaria" = "BG",
"Croatia" = "HR")) %>%
select(NACE_R2,AIRPOL,geo,Value) %>%
mutate(Value = parse_number(Value),
Value = as.numeric(Value)) %>%
spread(NACE_R2,Value) %>%
clean_names() %>%
mutate(HH_HEAT = heating_cooling_activities_by_households/total_activities_by_households,
HH_TRA = transport_activities_by_households/total_activities_by_households,
HH_OTH = other_activities_by_households/total_activities_by_households) %>%
select(geo,airpol,HH_HEAT,HH_TRA,HH_OTH)
### create separate dataframe for CO2
env_ac_ainah_r2_co2 = env_ac_ainah_r2 %>%
filter(airpol == "Carbon dioxide") %>%
select(-airpol) %>%
gather(sector,share_of_total_co2,-geo)
### for CH4
env_ac_ainah_r2_ch4 = env_ac_ainah_r2 %>%
filter(airpol == "Methane") %>%
select(-airpol) %>%
gather(sector,share_of_total_ch4,-geo)
### for N2O
env_ac_ainah_r2_n2o = env_ac_ainah_r2 %>%
filter(airpol == "Nitrous oxide") %>%
select(-airpol) %>%
gather(sector,share_of_total_n2o,-geo)
## filter saved EXIOBASE national footprints dataframe, select direct extensions and repeat each cell 3 times
direct_FD_fp_long = national_fp %>%
filter(fd_category == "Final consumption expenditure by households",
geo %in% c("AT",
"BE", "BG", "CY", "CZ",
"DE" , "DK" , "EE" ,
"ES" , "FI" , "FR" ,
"UK", "EL", "HR" ,
"HU" , "IE" , "IT" ,
"LT" , "LU" , "LV" ,
"MT" , "NL" , "PL" ,
"PT" , "TR" , "SK" ,
"SI" , "SE" , "RO" ,
"NO")) %>%
select(year,geo,fd_category,direct_FD_co2_combustion,
direct_FD_co2_noncombustion_cement,
direct_FD_co2_noncombustion_lime,
direct_FD_co2_agriculture_peatdecay,
direct_FD_co2_waste_biogenic,
direct_FD_co2_waste_fossil,
direct_FD_ch4_combustion,
direct_FD_ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_oilrefinery,
direct_FD_ch4_agriculture,
direct_FD_ch4_waste,
direct_FD_n2o_combustion,
direct_FD_n2o_agriculture,
direct_FD_sf6,
direct_FD_hfc,
direct_FD_pfc,
direct_FD_energy) %>%
slice(rep(1:n(), each = 3))
## create column with direct household sector names (3 times each)
sector = rep(c("HH_HEAT","HH_TRA","HH_OTH"), nrow(direct_FD_fp_long)/3)
## bind names with EXIOBASE direct extensions data, map hh sectors to COICOP categories, then bind with EUROSTAT energy and emissions data and dis-aggregate EXIOBASE direct extensions data using EUROSTAT energy and emissions shares between the three sectors/categories
direct_FD_fp_long_disagg = cbind(sector,direct_FD_fp_long) %>%
mutate(coicop = ifelse(sector == "HH_TRA","CP072",
ifelse(sector == "HH_HEAT","CP045","CP05")),
five_sectors = ifelse(sector == "HH_TRA", "transport",
ifelse(sector == "HH_HEAT", "shelter", "manufactured goods"))) %>%
left_join(env_ac_ainah_r2_co2, by = c("geo","sector")) %>%
left_join(env_ac_ainah_r2_ch4, by = c("geo","sector")) %>%
left_join(env_ac_ainah_r2_n2o, by = c("geo","sector")) %>%
left_join(env_ac_pefasu, by = c("geo","sector")) %>%
mutate(direct_FD_co2 = (direct_FD_co2_combustion +
direct_FD_co2_noncombustion_cement +
direct_FD_co2_noncombustion_lime +
direct_FD_co2_agriculture_peatdecay +
direct_FD_co2_waste_biogenic +
direct_FD_co2_waste_fossil)*share_of_total_co2,
direct_FD_ch4 = (direct_FD_ch4_combustion +
direct_FD_ch4_noncombustion_gas +
direct_FD_ch4_noncombustion_oil +
direct_FD_ch4_noncombustion_anthracite +
direct_FD_ch4_noncombustion_bituminouscoal +
direct_FD_ch4_noncombustion_cokingcoal +
direct_FD_ch4_noncombustion_lignite +
direct_FD_ch4_noncombustion_subbituminouscoal +
direct_FD_ch4_noncombustion_oilrefinery +
direct_FD_ch4_agriculture +
direct_FD_ch4_waste)*share_of_total_ch4,
direct_FD_n2o = (direct_FD_n2o_combustion +
direct_FD_n2o_agriculture)*share_of_total_n2o,
direct_FD_energy = direct_FD_energy*share_of_total_energy) %>%
left_join(shares, by = c("year","geo","coicop")) %>%
mutate(disaggregated_direct_FD_co2 = direct_FD_co2*share,
disaggregated_direct_FD_ch4 = direct_FD_ch4*share,
disaggregated_direct_FD_n2o = direct_FD_n2o*share,
disaggregated_direct_FD_energy = direct_FD_energy*share) %>%
select(year,geo,sector, quintile,
coicop, five_sectors,
disaggregated_direct_FD_co2,
disaggregated_direct_FD_ch4,
disaggregated_direct_FD_n2o,
disaggregated_direct_FD_energy)
## spread quintiles across columns for CO2
direct_FD_co2 = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_co2) %>%
spread(quintile,disaggregated_direct_FD_co2) %>%
rename(q1_co2 = QUINTILE1,
q2_co2 = QUINTILE2,
q3_co2 = QUINTILE3,
q4_co2 = QUINTILE4,
q5_co2 = QUINTILE5) %>%
mutate(q1_co2_domestic = q1_co2,
q2_co2_domestic = q2_co2,
q3_co2_domestic = q3_co2,
q4_co2_domestic = q4_co2,
q5_co2_domestic = q5_co2,
co2_total = q1_co2+q2_co2+q3_co2+q4_co2+q5_co2,
co2_total_domestic = q1_co2_domestic+
q2_co2_domestic+q3_co2_domestic+
q4_co2_domestic+q5_co2_domestic)
## spread quintiles across columns for CH4
direct_FD_ch4 = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_ch4) %>%
spread(quintile,disaggregated_direct_FD_ch4) %>%
rename(q1_ch4 = QUINTILE1,
q2_ch4 = QUINTILE2,
q3_ch4 = QUINTILE3,
q4_ch4 = QUINTILE4,
q5_ch4 = QUINTILE5) %>%
mutate(q1_ch4_domestic = q1_ch4,
q2_ch4_domestic = q2_ch4,
q3_ch4_domestic = q3_ch4,
q4_ch4_domestic = q4_ch4,
q5_ch4_domestic = q5_ch4,
ch4_total = q1_ch4+q2_ch4+q3_ch4+q4_ch4+q5_ch4,
ch4_total_domestic = q1_ch4_domestic+
q2_ch4_domestic+q3_ch4_domestic+
q4_ch4_domestic+q5_ch4_domestic)
## spread quintiles across columns for N2O
direct_FD_n2o = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_n2o) %>%
spread(quintile,disaggregated_direct_FD_n2o) %>%
rename(q1_n2o = QUINTILE1,
q2_n2o = QUINTILE2,
q3_n2o = QUINTILE3,
q4_n2o = QUINTILE4,
q5_n2o = QUINTILE5) %>%
mutate(q1_n2o_domestic = q1_n2o,
q2_n2o_domestic = q2_n2o,
q3_n2o_domestic = q3_n2o,
q4_n2o_domestic = q4_n2o,
q5_n2o_domestic = q5_n2o,
n2o_total = q1_n2o+q2_n2o+q3_n2o+q4_n2o+q5_n2o,
n2o_total_domestic = q1_n2o_domestic+
q2_n2o_domestic+q3_n2o_domestic+
q4_n2o_domestic+q5_n2o_domestic)
## spread quintiles across columns for energy use
direct_FD_energy = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_energy) %>%
spread(quintile,disaggregated_direct_FD_energy) %>%
rename(q1_energy = QUINTILE1,
q2_energy = QUINTILE2,
q3_energy = QUINTILE3,
q4_energy = QUINTILE4,
q5_energy = QUINTILE5) %>%
mutate(q1_energy_domestic = q1_energy,
q2_energy_domestic = q2_energy,
q3_energy_domestic = q3_energy,
q4_energy_domestic = q4_energy,
q5_energy_domestic = q5_energy,
energy_total = q1_energy+q2_energy+q3_energy+q4_energy+q5_energy,
energy_total_domestic = q1_energy_domestic+
q2_energy_domestic+q3_energy_domestic+
q4_energy_domestic+q5_energy_domestic)
# join spread direct from hh fd extensions to each other and create co2eq as well
direct_FD_fp_wide = direct_FD_co2 %>%
left_join(direct_FD_ch4, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
left_join(direct_FD_n2o, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
left_join(direct_FD_energy, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
mutate(country_of_production = geo) %>%
mutate(q1_co2eq = q1_co2 + q1_ch4 + q1_n2o,
q2_co2eq = q2_co2 + q2_ch4 + q2_n2o,
q3_co2eq = q3_co2 + q3_ch4 + q3_n2o,
q4_co2eq = q4_co2 + q4_ch4 + q4_n2o,
q5_co2eq = q5_co2 + q5_ch4 + q5_n2o,
co2eq_total = q1_co2eq +
q2_co2eq + q3_co2eq +
q4_co2eq + q5_co2eq,
q1_co2eq_domestic = q1_co2_domestic + q1_ch4_domestic + q1_n2o_domestic,
q2_co2eq_domestic = q2_co2_domestic + q2_ch4_domestic + q2_n2o_domestic,
q3_co2eq_domestic = q3_co2_domestic + q3_ch4_domestic + q3_n2o_domestic,
q4_co2eq_domestic = q4_co2_domestic + q4_ch4_domestic + q4_n2o_domestic,
q5_co2eq_domestic = q5_co2_domestic + q5_ch4_domestic + q5_n2o_domestic,
co2eq_total_domestic = q1_co2eq_domestic +
q2_co2eq_domestic + q3_co2eq_domestic +
q4_co2eq_domestic + q5_co2eq_domestic) %>%
select(-q1_ch4,
-q2_ch4,
-q3_ch4,
-q4_ch4,
-q5_ch4,
-ch4_total,
-q1_ch4_domestic,
-q2_ch4_domestic,
-q3_ch4_domestic,
-q4_ch4_domestic,
-q5_ch4_domestic,
-ch4_total_domestic,
-q1_n2o,
-q2_n2o,
-q3_n2o,
-q4_n2o,
-q5_n2o,
-n2o_total,
-q1_n2o_domestic,
-q2_n2o_domestic,
-q3_n2o_domestic,
-q4_n2o_domestic,
-q5_n2o_domestic,
-n2o_total_domestic)
# create intermediate results dataframe (without direct extensions data) by joining dis-aggregated EXIOBASE fd with total intensity vectors (plus domestic, plus Europe) and calculating co2, co2eq and energy use (total, domestic, and Europe)
results = fd_exiobase %>%
left_join(TIVs, by = c("year", "country_of_production", "coicop", "sector")) %>%
left_join(europe_TIVs, by = c("year", "country_of_production", "coicop", "sector", "five_sectors")) %>%
left_join(domestic_TIVs, by = c("year", "geo", "country_of_production", "coicop", "sector", "five_sectors")) %>%
transmute(year,geo,country_of_production,sector,coicop,five_sectors,
QUINTILE1,
QUINTILE2,
QUINTILE3,
QUINTILE4,
QUINTILE5,
fd_total = QUINTILE1+QUINTILE2+QUINTILE3+QUINTILE4+QUINTILE5,
TIV_CO2 = TIV_CO2_combustion +
TIV_CO2_noncombustion_cement +
TIV_CO2_noncombustion_lime +
TIV_CO2_agriculture_peatdecay +
TIV_CO2_waste_biogenic +
TIV_CO2_waste_fossil,
q1_co2 = QUINTILE1*TIV_CO2,
q2_co2 = QUINTILE2*TIV_CO2,
q3_co2 = QUINTILE3*TIV_CO2,
q4_co2 = QUINTILE4*TIV_CO2,
q5_co2 = QUINTILE5*TIV_CO2,
co2_total = q1_co2+q2_co2+q3_co2+q4_co2+q5_co2,
TIV_CO2_domestic = TIV_CO2_combustion_domestic +
TIV_CO2_noncombustion_cement_domestic +
TIV_CO2_noncombustion_lime_domestic +
TIV_CO2_agriculture_peatdecay_domestic +
TIV_CO2_waste_biogenic_domestic +
TIV_CO2_waste_fossil_domestic,
q1_co2_domestic = QUINTILE1*TIV_CO2_domestic,
q2_co2_domestic = QUINTILE2*TIV_CO2_domestic,
q3_co2_domestic = QUINTILE3*TIV_CO2_domestic,
q4_co2_domestic = QUINTILE4*TIV_CO2_domestic,
q5_co2_domestic = QUINTILE5*TIV_CO2_domestic,
co2_total_domestic = q1_co2_domestic+q2_co2_domestic+q3_co2_domestic+q4_co2_domestic+q5_co2_domestic,
TIV_CO2_europe = TIV_CO2_combustion_europe +
TIV_CO2_noncombustion_cement_europe +
TIV_CO2_noncombustion_lime_europe +
TIV_CO2_agriculture_peatdecay_europe +
TIV_CO2_waste_biogenic_europe +
TIV_CO2_waste_fossil_europe,
q1_co2_europe = QUINTILE1*(TIV_CO2_europe - TIV_CO2_domestic),
q2_co2_europe = QUINTILE2*(TIV_CO2_europe - TIV_CO2_domestic),
q3_co2_europe = QUINTILE3*(TIV_CO2_europe - TIV_CO2_domestic),
q4_co2_europe = QUINTILE4*(TIV_CO2_europe - TIV_CO2_domestic),
q5_co2_europe = QUINTILE5*(TIV_CO2_europe - TIV_CO2_domestic),
co2_total_europe = q1_co2_europe+q2_co2_europe+q3_co2_europe+q4_co2_europe+q5_co2_europe,
TIV_CO2eq = TIV_CO2 +
TIV_CH4_combustion +
TIV_CH4_noncombustion_gas +
TIV_CH4_noncombustion_oil +
TIV_CH4_noncombustion_anthracite +
TIV_CH4_noncombustion_bituminouscoal +
TIV_CH4_noncombustion_cokingcoal +
TIV_CH4_noncombustion_lignite +
TIV_CH4_noncombustion_subbituminouscoal +
TIV_CH4_noncombustion_oilrefinery +
TIV_CH4_agriculture +
TIV_CH4_waste +
TIV_N2O_combustion +
TIV_N2O_agriculture +
TIV_SF6 + TIV_HFC + TIV_PFC,
q1_co2eq = QUINTILE1*TIV_CO2eq,
q2_co2eq = QUINTILE2*TIV_CO2eq,
q3_co2eq = QUINTILE3*TIV_CO2eq,
q4_co2eq = QUINTILE4*TIV_CO2eq,
q5_co2eq = QUINTILE5*TIV_CO2eq,
co2eq_total = q1_co2eq + q2_co2eq + q3_co2eq + q4_co2eq + q5_co2eq,
TIV_CO2eq_domestic = TIV_CO2_domestic +
TIV_CH4_combustion_domestic +
TIV_CH4_noncombustion_gas_domestic +
TIV_CH4_noncombustion_oil_domestic +
TIV_CH4_noncombustion_anthracite_domestic +
TIV_CH4_noncombustion_bituminouscoal_domestic +
TIV_CH4_noncombustion_cokingcoal_domestic +
TIV_CH4_noncombustion_lignite_domestic +
TIV_CH4_noncombustion_subbituminouscoal_domestic +
TIV_CH4_noncombustion_oilrefinery_domestic +
TIV_CH4_agriculture_domestic +
TIV_CH4_waste_domestic +
TIV_N2O_combustion_domestic +
TIV_N2O_agriculture_domestic +
TIV_SF6_domestic + TIV_HFC_domestic + TIV_PFC_domestic,
q1_co2eq_domestic = QUINTILE1*TIV_CO2eq_domestic,
q2_co2eq_domestic = QUINTILE2*TIV_CO2eq_domestic,
q3_co2eq_domestic = QUINTILE3*TIV_CO2eq_domestic,
q4_co2eq_domestic = QUINTILE4*TIV_CO2eq_domestic,
q5_co2eq_domestic = QUINTILE5*TIV_CO2eq_domestic,
co2eq_total_domestic = q1_co2eq_domestic + q2_co2eq_domestic + q3_co2eq_domestic + q4_co2eq_domestic + q5_co2eq_domestic,
TIV_CO2eq_europe = TIV_CO2_europe +
TIV_CH4_combustion_europe +
TIV_CH4_noncombustion_gas_europe +
TIV_CH4_noncombustion_oil_europe +
TIV_CH4_noncombustion_anthracite_europe +
TIV_CH4_noncombustion_bituminouscoal_europe +
TIV_CH4_noncombustion_cokingcoal_europe +
TIV_CH4_noncombustion_lignite_europe +
TIV_CH4_noncombustion_subbituminouscoal_europe +
TIV_CH4_noncombustion_oilrefinery_europe +
TIV_CH4_agriculture_europe +
TIV_CH4_waste_europe +
TIV_N2O_combustion_europe +
TIV_N2O_agriculture_europe +
TIV_SF6_europe + TIV_HFC_europe + TIV_PFC_europe,
q1_co2eq_europe = QUINTILE1*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q2_co2eq_europe = QUINTILE2*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q3_co2eq_europe = QUINTILE3*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q4_co2eq_europe = QUINTILE4*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q5_co2eq_europe = QUINTILE5*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
co2eq_total_europe = q1_co2eq_europe + q2_co2eq_europe + q3_co2eq_europe + q4_co2eq_europe + q5_co2eq_europe,
TIV_energy,
q1_energy = QUINTILE1*TIV_energy,
q2_energy = QUINTILE2*TIV_energy,
q3_energy = QUINTILE3*TIV_energy,
q4_energy = QUINTILE4*TIV_energy,
q5_energy = QUINTILE5*TIV_energy,
energy_total = q1_energy+q2_energy+q3_energy+q4_energy+q5_energy,
TIV_energy_domestic,
q1_energy_domestic = QUINTILE1*TIV_energy_domestic,
q2_energy_domestic = QUINTILE2*TIV_energy_domestic,
q3_energy_domestic = QUINTILE3*TIV_energy_domestic,
q4_energy_domestic = QUINTILE4*TIV_energy_domestic,
q5_energy_domestic = QUINTILE5*TIV_energy_domestic,
energy_total_domestic = q1_energy_domestic+q2_energy_domestic+q3_energy_domestic+q4_energy_domestic+q5_energy_domestic,
TIV_energy_europe,
q1_energy_europe = QUINTILE1*(TIV_energy_europe - TIV_energy_domestic),
q2_energy_europe = QUINTILE2*(TIV_energy_europe - TIV_energy_domestic),
q3_energy_europe = QUINTILE3*(TIV_energy_europe - TIV_energy_domestic),
q4_energy_europe = QUINTILE4*(TIV_energy_europe - TIV_energy_domestic),
q5_energy_europe = QUINTILE5*(TIV_energy_europe - TIV_energy_domestic),
energy_total_europe = q1_energy_europe+q2_energy_europe+q3_energy_europe+q4_energy_europe+q5_energy_europe)
# bind intermediate results dataframe with direct from hh fd extensions dataframe
results_with_direct_FD_fp = bind_rows(results,direct_FD_fp_wide)
# create compressed results rds file
## clean names of results file
dat_all = results_with_direct_FD_fp %>%
clean_names()
## convert sector labels to IDs
sectors = dat_all %>%
distinct(sector) %>%
mutate(sector_id = row_number())
## write EXIOBASE production sector ids to derived data folder (as .csv file) for use in creating figures in the main paper (commented out atm - not used by current main paper figures)
# write_csv(sectors, paste0(here("/analysis/data/derived/sectors_method1_ixi.csv")))
## convert aggregated sector labels to IDs
sectors_agg = dat_all %>%
distinct(five_sectors) %>%
mutate(sector_agg_id = row_number())
## write aggregated sector ids to derived data folder (as .csv file) for use in creating figures in the main paper
write_csv(sectors_agg, paste0(here("/analysis/data/derived/sectors_agg_method1_ixi.csv")))
## convert COICOP labels to IDs
coicop = dat_all %>%
distinct(coicop) %>%
mutate(coicop_id = row_number())
# write COICOP consumption category ids to derived data folder (as .csv file) for use in creating figures in the main paper (commented out atm - not used by current main paper figures)
# write_csv(coicop, paste0(here("/analysis/data/derived/coicop_method1_ixi.csv")))
# replace sector text labels with numerical IDs (save space)
dat_compressed = dat_all %>%
left_join(sectors, by="sector") %>%
left_join(sectors_agg, by="five_sectors") %>%
left_join(coicop, by = "coicop") %>%
select(-c(sector, five_sectors,coicop))
# extract sector aggregation
sector_mapping = dat_compressed %>%
group_by(sector_id) %>%
summarise(sector_agg_id = first(sector_agg_id),
coicop_id = first(coicop_id))
# collapse country of origin
dat_results = dat_compressed %>%
select(-sector_agg_id,-coicop_id) %>%
group_by(year, geo, sector_id) %>%
summarise_if(is.numeric, sum, na.rm = TRUE)
# extract final demand and pivot long
cols_final_demand = c("quintile1", "quintile2", "quintile3", "quintile4", "quintile5")
tmp_fd = dat_results %>%
select(year, geo, sector_id, cols_final_demand) %>%
pivot_longer(cols = cols_final_demand,
names_to = "quintile",
values_to = "fd_me") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2 and pivot long
cols_co2 = c("q1_co2", "q2_co2", "q3_co2", "q4_co2", "q5_co2")
tmp_co2 = dat_results %>%
select(year, geo, sector_id, cols_co2) %>%
pivot_longer(cols = cols_co2,
names_to = "quintile",
values_to = "co2_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2 domestic and pivot long
cols_co2_domestic = c("q1_co2_domestic", "q2_co2_domestic", "q3_co2_domestic", "q4_co2_domestic", "q5_co2_domestic")
tmp_co2_domestic = dat_results %>%
select(year, geo, sector_id, cols_co2_domestic) %>%
pivot_longer(cols = cols_co2_domestic,
names_to = "quintile",
values_to = "co2_domestic_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2 europe and pivot long
cols_co2_europe = c("q1_co2_europe", "q2_co2_europe", "q3_co2_europe", "q4_co2_europe", "q5_co2_europe")
tmp_co2_europe = dat_results %>%
select(year, geo, sector_id, cols_co2_europe) %>%
pivot_longer(cols = cols_co2_europe,
names_to = "quintile",
values_to = "co2_europe_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2eq and pivot long
cols_co2eq = c("q1_co2eq", "q2_co2eq", "q3_co2eq", "q4_co2eq", "q5_co2eq")
tmp_co2eq = dat_results %>%
select(year, geo, sector_id, cols_co2eq) %>%
pivot_longer(cols = cols_co2eq,
names_to = "quintile",
values_to = "co2eq_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2eq domestic and pivot long
cols_co2eq_domestic = c("q1_co2eq_domestic", "q2_co2eq_domestic", "q3_co2eq_domestic", "q4_co2eq_domestic", "q5_co2eq_domestic")
tmp_co2eq_domestic = dat_results %>%
select(year, geo, sector_id, cols_co2eq_domestic) %>%
pivot_longer(cols = cols_co2eq_domestic,
names_to = "quintile",
values_to = "co2eq_domestic_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2eq europe and pivot long
cols_co2eq_europe = c("q1_co2eq_europe", "q2_co2eq_europe", "q3_co2eq_europe", "q4_co2eq_europe", "q5_co2eq_europe")
tmp_co2eq_europe = dat_results %>%
select(year, geo, sector_id, cols_co2eq_europe) %>%
pivot_longer(cols = cols_co2eq_europe,
names_to = "quintile",
values_to = "co2eq_europe_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract energy use and pivot long
cols_energy = c("q1_energy","q2_energy","q3_energy","q4_energy","q5_energy")
tmp_energy = dat_results %>%
select(year, geo, sector_id, cols_energy) %>%
pivot_longer(cols = cols_energy,
names_to = "quintile",
values_to = "energy_use_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract energy use domestic and pivot long
cols_energy_domestic = c("q1_energy_domestic","q2_energy_domestic","q3_energy_domestic","q4_energy_domestic","q5_energy_domestic")
tmp_energy_domestic = dat_results %>%
select(year, geo, sector_id, cols_energy_domestic) %>%
pivot_longer(cols = cols_energy_domestic,
names_to = "quintile",
values_to = "energy_use_domestic_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract energy use europe and pivot long
cols_energy_europe = c("q1_energy_europe","q2_energy_europe","q3_energy_europe","q4_energy_europe","q5_energy_europe")
tmp_energy_europe = dat_results %>%
select(year, geo, sector_id, cols_energy_europe) %>%
pivot_longer(cols = cols_energy_europe,
names_to = "quintile",
values_to = "energy_use_europe_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# recombine pivoted extensions
results_recombined = tmp_fd %>%
left_join(tmp_co2, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2_domestic, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2_europe, by = c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2eq, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2eq_domestic, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2eq_europe, by = c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_energy, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_energy_domestic, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_energy_europe, by = c("year", "geo", "sector_id", "quint"))
# finally re-join aggregated sector IDs
results_formatted = results_recombined %>%
left_join(sector_mapping, by="sector_id") %>%
ungroup() %>%
select(-coicop_id)
# write formatted results files (.csv and .rds) to 'data_dir_income_stratified_footprints'
write.csv(results_formatted, paste0(data_dir_income_stratified_footprints, "/results_formatted_method1_ixi.csv"))
write_rds(results_formatted, paste0(data_dir_income_stratified_footprints, "/results_formatted_method1_ixi.rds"))
################################################### main paper method, EXIOBASE product-by-product version ############################################### ##########################################################################################################################################################
# EXIOBASE product-by-product version
## set study years
years_exb_pxp = c(2005,2010)
## create NULL dataframe for dis-aggregated final demand
disaggregated_final_demand = NULL
## create NULL dataframe for 'total intensity vectors'
TIVs = NULL
## create NULL dataframe for domestic 'total intensity vectors'
domestic_TIVs = NULL
## create NULL dataframe for rest-of-Europe 'total intensity vectors'
europe_TIVs = NULL
## create NULL dataframe for national footprints
national_fp = NULL
## create NULL dataframe for national territorial energy use/emissions
national_territorial = NULL
## 'for' loop which populates the above NULL dataframes
for (i in years_exb_pxp){
year_current = i
## EXIOBASE final demand table without labels (.csv file)
Exiobase_FD = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/FD_",year_current,"_pxp.csv"))[,-1]
## select household (hh) final demand vectors for study countries
AT = Exiobase_FD[,1]
BE = Exiobase_FD[,8]
BG = Exiobase_FD[,15]
CY = Exiobase_FD[,22]
CZ = Exiobase_FD[,29]
DE = Exiobase_FD[,36]
DK = Exiobase_FD[,43]
EE = Exiobase_FD[,50]
EL = Exiobase_FD[,78]
ES = Exiobase_FD[,57]
FI = Exiobase_FD[,64]
FR = Exiobase_FD[,71]
HR = Exiobase_FD[,85]
HU = Exiobase_FD[,92]
IE = Exiobase_FD[,99]
IT = Exiobase_FD[,106]
LT = Exiobase_FD[,113]
LU = Exiobase_FD[,120]
LV = Exiobase_FD[,127]
MT = Exiobase_FD[,134]
NL = Exiobase_FD[,141]
NO = Exiobase_FD[,288]
PL = Exiobase_FD[,148]
PT = Exiobase_FD[,155]
RO = Exiobase_FD[,162]
SE = Exiobase_FD[,169]
SI = Exiobase_FD[,176]
SK = Exiobase_FD[,183]
TR = Exiobase_FD[,274]
UK = Exiobase_FD[,190]
Eurostat_countries = cbind(AT,BE,BG,CY,CZ,DE,DK,EE,EL,ES,FI,FR,HR,HU,IE,IT,LT,LU,LV,MT,NL,NO,PL,PT,RO,SE,SI,SK,TR,UK)
## read in EXIOBASE production sector labels written and saved in previous code chunk
Exiobase_T_labels = read.csv(paste0(data_dir_income_stratified_footprints, "/data/Exiobase_T_labels_pxp_w_coicop_mapping.csv")) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
## bind EXIOBASE hh final demand with production sector labels
hh_fd_with_production_sector_labels = cbind(Exiobase_T_labels,Eurostat_countries) %>% rename(geo = V1, sector = V2)
## replicate each cell of each country's hh final demand as many times as there are income quantiles in the HBS data - in this case: 5
cells_repeat = data.frame(hh_fd_with_production_sector_labels %>% slice(rep(1:n(), each = 5)))
## create quintile names
quintiles = data.frame(rep(c("QUINTILE1","QUINTILE2","QUINTILE3","QUINTILE4","QUINTILE5"),200)) %>% rename_at(1,~"quintile")
## bind replicated hh final demand cells to quintile names
replicated = cbind(cells_repeat,quintiles) %>% rename(country_of_production = geo)
## convert to long data
replicated_long = replicated %>% gather(geo, value,-sector,-coicop,-quintile,-five_sectors,-country_of_production)
## create year column
year = as.character(rep(year_current,nrow(replicated_long)))
## bind year with long hh fd data
replicated_long = cbind(year,replicated_long)
## populate NULL 'dis-aggregated_final_demand' dataframe with hh fd from each study year
disaggregated_final_demand = rbind(disaggregated_final_demand, replicated_long)
# load total intensity vectors
## CO2 - combustion - air
Exiobase_TIV_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_combustion_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_combustion_air_", year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_combustion_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_combustion_air_", year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_combustion_europe,TIV_CO2_combustion_not_europe)
## CO2 - noncombustion - cement - air
Exiobase_TIV_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_noncombustion_cement_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_noncombustion_cement_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_noncombustion_cement_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_noncombustion_cement_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_noncombustion_cement_europe,TIV_CO2_noncombustion_cement_not_europe)
## CO2 - noncombustion - lime - air
Exiobase_TIV_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_noncombustion_lime_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_noncombustion_lime_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_noncombustion_lime_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_noncombustion_lime_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_noncombustion_lime_europe,TIV_CO2_noncombustion_lime_not_europe)
## CO2 - agriculture - peat decay - air
Exiobase_TIV_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_agriculture_peatdecay_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_agriculture_peatdecay_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_agriculture_peatdecay_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_agriculture_peatdecay_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_agriculture_peatdecay_europe,TIV_CO2_agriculture_peatdecay_not_europe)
## CO2 - waste - biogenic - air
Exiobase_TIV_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_biogenic_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_biogenic_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_waste_biogenic_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_biogenic_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_waste_biogenic_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_waste_biogenic_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_waste_biogenic_europe,TIV_CO2_waste_biogenic_not_europe)
## CO2 - waste - fossil - air
Exiobase_TIV_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_co2_waste_fossil_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_waste_fossil_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_waste_fossil_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_waste_fossil_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_waste_fossil_europe,TIV_CO2_waste_fossil_not_europe)
## CH4 - combustion - air
Exiobase_TIV_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_combustion_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_combustion_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_combustion_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_combustion_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_combustion_europe,TIV_CH4_combustion_not_europe)
## CH4 - noncombustion - gas - air
Exiobase_TIV_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_gas_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_gas_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_gas_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_gas_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_gas_europe,TIV_CH4_noncombustion_gas_not_europe)
## CH4 - noncombustion - oil - air
Exiobase_TIV_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_oil_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_oil_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_oil_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_oil_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_oil_europe,TIV_CH4_noncombustion_oil_not_europe)
## CH4 - noncombustion - anthracite - air
Exiobase_TIV_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_anthracite_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_anthracite_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_anthracite_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_anthracite_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_anthracite_europe,TIV_CH4_noncombustion_anthracite_not_europe)
## CH4 - noncombustion - bituminouscoal - air
Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_bituminouscoal_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_bituminouscoal_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_bituminouscoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_bituminouscoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_bituminouscoal_europe,TIV_CH4_noncombustion_bituminouscoal_not_europe)
## CH4 - noncombustion - cokingcoal - air
Exiobase_TIV_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_cokingcoal_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_cokingcoal_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_cokingcoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_cokingcoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_cokingcoal_europe,TIV_CH4_noncombustion_cokingcoal_not_europe)
## CH4 - noncombustion - lignite - air
Exiobase_TIV_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_lignite_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_lignite_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_lignite_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_lignite_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_lignite_europe,TIV_CH4_noncombustion_lignite_not_europe)
## CH4 - noncombustion - subbituminouscoal - air
Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_subbituminouscoal_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_subbituminouscoal_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_subbituminouscoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_subbituminouscoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_subbituminouscoal_europe,TIV_CH4_noncombustion_subbituminouscoal_not_europe)
## CH4 - noncombustion - oilrefinery - air
Exiobase_TIV_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_noncombustion_oilrefinery_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_oilrefinery_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_oilrefinery_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_oilrefinery_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_oilrefinery_europe,TIV_CH4_noncombustion_oilrefinery_not_europe)
## CH4 - agriculture - air
Exiobase_TIV_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_agriculture_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_agriculture_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_agriculture_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_agriculture_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_agriculture_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_agriculture_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_agriculture_europe,TIV_CH4_agriculture_not_europe)
## CH4 - waste - air
Exiobase_TIV_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_ch4_CO2eq_waste_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_waste_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_waste_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_ch4_CO2eq_waste_air_", year_current, "_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_waste_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_waste_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_waste_europe,TIV_CH4_waste_not_europe)
## N2O - combustion - air
Exiobase_TIV_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_n2o_CO2eq_combustion_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_N2O_combustion_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_N2O_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_N2O_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_N2O_combustion_europe,TIV_N2O_combustion_not_europe)
## N2O - agriculture - air
Exiobase_TIV_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_n2o_CO2eq_agriculture_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_N2O_agriculture_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_N2O_agriculture_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_N2O_agriculture_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_N2O_agriculture_europe,TIV_N2O_agriculture_not_europe)
## SF6 - air
Exiobase_TIV_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_sf6_CO2eq_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_SF6_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_SF6_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_SF6_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_SF6_europe,TIV_SF6_not_europe)
## HFC - air
Exiobase_TIV_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_hfc_CO2eq_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_HFC_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_HFC_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_HFC_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_HFC_europe,TIV_HFC_not_europe)
## PFC - air
Exiobase_TIV_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_pfc_CO2eq_air_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_PFC_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_PFC_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_PFC_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_PFC_europe,TIV_PFC_not_europe)
## energy use
Exiobase_TIV_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_energy_carrier_use_",year_current,"_pxp.csv"))[,-1]
### domestic part
Exiobase_TIV_country_breakdown_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_energy_carrier_use_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_energy_domestic)
### non-domestic part
Exiobase_TIV_europe_breakdown_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/TIV_country_breakdown_energy_carrier_use_",year_current,"_pxp.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_energy_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_energy_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_energy_europe,TIV_energy_not_europe)
# bind production sector labels with total intensity vectors
TIV_with_labels = cbind(Exiobase_T_labels,
t(Exiobase_TIV_co2_combustion_bp),
t(Exiobase_TIV_co2_noncombustion_cement_bp),
t(Exiobase_TIV_co2_noncombustion_lime_bp),
t(Exiobase_TIV_co2_agriculture_peatdecay_bp),
t(Exiobase_TIV_co2_waste_biogenic_bp),
t(Exiobase_TIV_co2_waste_fossil_bp),
t(Exiobase_TIV_ch4_combustion_bp),
t(Exiobase_TIV_ch4_noncombustion_gas_bp),
t(Exiobase_TIV_ch4_noncombustion_oil_bp),
t(Exiobase_TIV_ch4_noncombustion_anthracite_bp),
t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp),
t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp),
t(Exiobase_TIV_ch4_noncombustion_lignite_bp),
t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp),
t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp),
t(Exiobase_TIV_ch4_agriculture_bp),
t(Exiobase_TIV_ch4_waste_bp),
t(Exiobase_TIV_n2o_combustion_bp),
t(Exiobase_TIV_n2o_agriculture_bp),
t(Exiobase_TIV_sf6_bp),
t(Exiobase_TIV_hfc_bp),
t(Exiobase_TIV_pfc_bp),
t(Exiobase_TIV_energy_use_bp)) %>%
rename(TIV_CO2_combustion = "t(Exiobase_TIV_co2_combustion_bp)",
TIV_CO2_noncombustion_cement = "t(Exiobase_TIV_co2_noncombustion_cement_bp)",
TIV_CO2_noncombustion_lime = "t(Exiobase_TIV_co2_noncombustion_lime_bp)",
TIV_CO2_agriculture_peatdecay = "t(Exiobase_TIV_co2_agriculture_peatdecay_bp)",
TIV_CO2_waste_biogenic = "t(Exiobase_TIV_co2_waste_biogenic_bp)",
TIV_CO2_waste_fossil = "t(Exiobase_TIV_co2_waste_fossil_bp)",
TIV_CH4_combustion = "t(Exiobase_TIV_ch4_combustion_bp)",
TIV_CH4_noncombustion_gas = "t(Exiobase_TIV_ch4_noncombustion_gas_bp)",
TIV_CH4_noncombustion_oil = "t(Exiobase_TIV_ch4_noncombustion_oil_bp)",
TIV_CH4_noncombustion_anthracite = "t(Exiobase_TIV_ch4_noncombustion_anthracite_bp)",
TIV_CH4_noncombustion_bituminouscoal = "t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp)",
TIV_CH4_noncombustion_cokingcoal = "t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp)",
TIV_CH4_noncombustion_lignite = "t(Exiobase_TIV_ch4_noncombustion_lignite_bp)",
TIV_CH4_noncombustion_subbituminouscoal = "t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp)",
TIV_CH4_noncombustion_oilrefinery = "t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp)",
TIV_CH4_agriculture = "t(Exiobase_TIV_ch4_agriculture_bp)",
TIV_CH4_waste = "t(Exiobase_TIV_ch4_waste_bp)",
TIV_N2O_combustion = "t(Exiobase_TIV_n2o_combustion_bp)",
TIV_N2O_agriculture = "t(Exiobase_TIV_n2o_agriculture_bp)",
TIV_SF6 = "t(Exiobase_TIV_sf6_bp)",
TIV_HFC = "t(Exiobase_TIV_hfc_bp)",
TIV_PFC = "t(Exiobase_TIV_pfc_bp)",
TIV_energy = "t(Exiobase_TIV_energy_use_bp)") %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
# create year column
year = as.character(rep(year_current,nrow(TIV_with_labels)))
# bind year with labeled total intensity vectors
TIVs_intermediate = cbind(year,TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2)
# populate NULL total intensity vectors dataframe
TIVs = rbind(TIVs, TIVs_intermediate)
# bind production sector labels with domestic total intensity vectors
domestic_TIV_with_labels = cbind(Exiobase_T_labels,
Exiobase_TIV_country_breakdown_co2_combustion_bp,
Exiobase_TIV_country_breakdown_co2_noncombustion_cement_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_noncombustion_lime_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_agriculture_peatdecay_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_waste_biogenic_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_waste_fossil_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_combustion_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_gas_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_oil_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_anthracite_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_bituminouscoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_cokingcoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_lignite_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_oilrefinery_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_agriculture_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_waste_bp %>% select(-country),
Exiobase_TIV_country_breakdown_n2o_combustion_bp %>% select(-country),
Exiobase_TIV_country_breakdown_n2o_agriculture_bp %>% select(-country),
Exiobase_TIV_country_breakdown_sf6_bp %>% select(-country),
Exiobase_TIV_country_breakdown_hfc_bp %>% select(-country),
Exiobase_TIV_country_breakdown_pfc_bp %>% select(-country),
Exiobase_TIV_country_breakdown_energy_use_bp %>% select(-country)) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"),
country = dplyr::recode(country, "GR" = "EL", "GB" = "UK"))
# create year column for domestic TIVs
year_domestic = as.character(rep(year_current,nrow(domestic_TIV_with_labels)))
# bind year with labeled domestic total intensity vectors
TIVs_domestic_intermediate = cbind(year_domestic,domestic_TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2, geo = country, year = year_domestic) %>%
mutate(TIV_CO2_combustion_domestic = as.numeric(TIV_CO2_combustion_domestic),
TIV_CO2_noncombustion_cement_domestic = as.numeric(TIV_CO2_noncombustion_cement_domestic),
TIV_CO2_noncombustion_lime_domestic = as.numeric(TIV_CO2_noncombustion_lime_domestic),
TIV_CO2_agriculture_peatdecay_domestic = as.numeric(TIV_CO2_agriculture_peatdecay_domestic),
TIV_CO2_waste_biogenic_domestic = as.numeric(TIV_CO2_waste_biogenic_domestic),
TIV_CO2_waste_fossil_domestic = as.numeric(TIV_CO2_waste_fossil_domestic),
TIV_CH4_combustion_domestic = as.numeric(TIV_CH4_combustion_domestic),
TIV_CH4_noncombustion_gas_domestic = as.numeric(TIV_CH4_noncombustion_gas_domestic),
TIV_CH4_noncombustion_oil_domestic = as.numeric(TIV_CH4_noncombustion_oil_domestic),
TIV_CH4_noncombustion_anthracite_domestic = as.numeric(TIV_CH4_noncombustion_anthracite_domestic),
TIV_CH4_noncombustion_bituminouscoal_domestic = as.numeric(TIV_CH4_noncombustion_bituminouscoal_domestic),
TIV_CH4_noncombustion_cokingcoal_domestic = as.numeric(TIV_CH4_noncombustion_cokingcoal_domestic),
TIV_CH4_noncombustion_lignite_domestic = as.numeric(TIV_CH4_noncombustion_lignite_domestic),
TIV_CH4_noncombustion_subbituminouscoal_domestic = as.numeric(TIV_CH4_noncombustion_subbituminouscoal_domestic),
TIV_CH4_noncombustion_oilrefinery_domestic = as.numeric(TIV_CH4_noncombustion_oilrefinery_domestic),
TIV_CH4_agriculture_domestic = as.numeric(TIV_CH4_agriculture_domestic),
TIV_CH4_waste_domestic = as.numeric(TIV_CH4_waste_domestic),
TIV_N2O_combustion_domestic = as.numeric(TIV_N2O_combustion_domestic),
TIV_N2O_agriculture_domestic = as.numeric(TIV_N2O_agriculture_domestic),
TIV_SF6_domestic = as.numeric(TIV_SF6_domestic),
TIV_HFC_domestic = as.numeric(TIV_HFC_domestic),
TIV_PFC_domestic = as.numeric(TIV_PFC_domestic),
TIV_energy_domestic = as.numeric(TIV_energy_domestic))
# populate NULL domestic TIVs dataframe
domestic_TIVs = rbind(domestic_TIVs, TIVs_domestic_intermediate)
# bind production sector labels with European TIVs
europe_TIV_with_labels = cbind(Exiobase_T_labels,
Exiobase_TIV_europe_breakdown_co2_combustion-bp,
Exiobase_TIV_europe_breakdown_co2_noncombustion_cement_bp,
Exiobase_TIV_europe_breakdown_co2_noncombustion_lime_bp,
Exiobase_TIV_europe_breakdown_co2_agriculture_peatdecay_bp,
Exiobase_TIV_europe_breakdown_co2_waste_biogenic_bp,
Exiobase_TIV_europe_breakdown_co2_waste_fossil_bp,
Exiobase_TIV_europe_breakdown_ch4_combustion_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_gas_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oil_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_anthracite_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_bituminouscoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_cokingcoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_lignite_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_subbituminouscoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oilrefinery_bp,
Exiobase_TIV_europe_breakdown_ch4_agriculture_bp,
Exiobase_TIV_europe_breakdown_ch4_waste_bp,
Exiobase_TIV_europe_breakdown_n2o_combustion_bp,
Exiobase_TIV_europe_breakdown_n2o_agriculture_bp,
Exiobase_TIV_europe_breakdown_sf6_bp,
Exiobase_TIV_europe_breakdown_hfc_bp,
Exiobase_TIV_europe_breakdown_pfc_bp,
Exiobase_TIV_europe_breakdown_energy_use_bp) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
# create year column for European TIVs
year_europe = as.character(rep(year_current,nrow(europe_TIV_with_labels)))
# bind year with labeled European total intensity vectors
TIVs_europe_intermediate = cbind(year_europe,europe_TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2, year = year_europe) %>%
mutate(TIV_CO2_combustion_europe = as.numeric(TIV_CO2_combustion_europe),
TIV_CO2_noncombustion_cement_europe = as.numeric(TIV_CO2_noncombustion_cement_europe),
TIV_CO2_noncombustion_lime_europe = as.numeric(TIV_CO2_noncombustion_lime_europe),
TIV_CO2_agriculture_peatdecay_europe = as.numeric(TIV_CO2_agriculture_peatdecay_europe),
TIV_CO2_waste_biogenic_europe = as.numeric(TIV_CO2_waste_biogenic_europe),
TIV_CO2_waste_fossil_europe = as.numeric(TIV_CO2_waste_fossil_europe),
TIV_CH4_combustion_europe = as.numeric(TIV_CH4_combustion_europe),
TIV_CH4_noncombustion_gas_europe = as.numeric(TIV_CH4_noncombustion_gas_europe),
TIV_CH4_noncombustion_oil_europe = as.numeric(TIV_CH4_noncombustion_oil_europe),
TIV_CH4_noncombustion_anthracite_europe = as.numeric(TIV_CH4_noncombustion_anthracite_europe),
TIV_CH4_noncombustion_bituminouscoal_europe = as.numeric(TIV_CH4_noncombustion_bituminouscoal_europe),
TIV_CH4_noncombustion_cokingcoal_europe = as.numeric(TIV_CH4_noncombustion_cokingcoal_europe),
TIV_CH4_noncombustion_lignite_europe = as.numeric(TIV_CH4_noncombustion_lignite_europe),
TIV_CH4_noncombustion_subbituminouscoal_europe = as.numeric(TIV_CH4_noncombustion_subbituminouscoal_europe),
TIV_CH4_noncombustion_oilrefinery_europe = as.numeric(TIV_CH4_noncombustion_oilrefinery_europe),
TIV_CH4_agriculture_europe = as.numeric(TIV_CH4_agriculture_europe),
TIV_CH4_waste_europe = as.numeric(TIV_CH4_waste_europe),
TIV_N2O_combustion_europe = as.numeric(TIV_N2O_combustion_europe),
TIV_N2O_agriculture_europe = as.numeric(TIV_N2O_agriculture_europe),
TIV_SF6_europe = as.numeric(TIV_SF6_europe),
TIV_HFC_europe = as.numeric(TIV_HFC_europe),
TIV_PFC_europe = as.numeric(TIV_PFC_europe),
TIV_energy_europe = as.numeric(TIV_energy_europe))
# populate NULL Europe TIVs dataframe
europe_TIVs = rbind(europe_TIVs, TIVs_europe_intermediate)
# calculating total national footprints
## read in EXIOBASE final demand labels and calculate national footprints for each study satellite extension
Exiobase_FD_labels = as.data.frame(t(read.csv(paste0(data_dir_exiobase, "/Exiobase_FD_labels_pxp.csv")))[-1,-3]) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
national_CO2_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_co2_combustion_bp)
national_CO2_noncombustion_cement_footprints = Exiobase_FD * t(Exiobase_TIV_co2_noncombustion_cement_bp)
national_CO2_noncombustion_lime_footprints = Exiobase_FD * t(Exiobase_TIV_co2_noncombustion_lime_bp)
national_CO2_agriculture_peatdecay_footprints = Exiobase_FD * t(Exiobase_TIV_co2_agriculture_peatdecay_bp)
national_CO2_waste_biogenic_footprints = Exiobase_FD * t(Exiobase_TIV_co2_waste_biogenic_bp)
national_CO2_waste_fossil_footprints = Exiobase_FD * t(Exiobase_TIV_co2_waste_fossil_bp)
national_CH4_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_combustion_bp)
national_CH4_noncombustion_gas_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_gas_bp)
national_CH4_noncombustion_oil_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_oil_bp)
national_CH4_noncombustion_anthracite_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_anthracite_bp)
national_CH4_noncombustion_bituminouscoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp)
national_CH4_noncombustion_cokingcoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp)
national_CH4_noncombustion_lignite_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_lignite_bp)
national_CH4_noncombustion_subbituminouscoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp)
national_CH4_noncombustion_oilrefinery_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp)
national_CH4_agriculture_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_agriculture_bp)
national_CH4_waste_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_waste_bp)
national_N2O_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_n2o_combustion_bp)
national_N2O_agriculture_footprints = Exiobase_FD * t(Exiobase_TIV_n2o_agriculture_bp)
national_SF6_footprints = Exiobase_FD * t(Exiobase_TIV_sf6_bp)
national_HFC_footprints = Exiobase_FD * t(Exiobase_TIV_hfc_bp)
national_PFC_footprints = Exiobase_FD * t(Exiobase_TIV_pfc_bp)
national_energy_footprints = Exiobase_FD * t(Exiobase_TIV_energy_use_bp)
## bind FD labels and national footprints together
national_footprints_w_labels = cbind(Exiobase_FD_labels,
rowSums(t(national_CO2_combustion_footprints)),
rowSums(t(national_CO2_noncombustion_cement_footprints)),
rowSums(t(national_CO2_noncombustion_lime_footprints)),
rowSums(t(national_CO2_agriculture_peatdecay_footprints)),
rowSums(t(national_CO2_waste_biogenic_footprints)),
rowSums(t(national_CO2_waste_fossil_footprints)),
rowSums(t(national_CH4_combustion_footprints)),
rowSums(t(national_CH4_noncombustion_gas_footprints)),
rowSums(t(national_CH4_noncombustion_oil_footprints)),
rowSums(t(national_CH4_noncombustion_anthracite_footprints)),
rowSums(t(national_CH4_noncombustion_bituminouscoal_footprints)),
rowSums(t(national_CH4_noncombustion_cokingcoal_footprints)),
rowSums(t(national_CH4_noncombustion_lignite_footprints)),
rowSums(t(national_CH4_noncombustion_subbituminouscoal_footprints)),
rowSums(t(national_CH4_noncombustion_oilrefinery_footprints)),
rowSums(t(national_CH4_agriculture_footprints)),
rowSums(t(national_CH4_waste_footprints)),
rowSums(t(national_N2O_combustion_footprints)),
rowSums(t(national_N2O_agriculture_footprints)),
rowSums(t(national_SF6_footprints)),
rowSums(t(national_HFC_footprints)),
rowSums(t(national_PFC_footprints)),
rowSums(t(national_energy_footprints))) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
## create year column for national footprints
year_national_fp = as.character(rep(year_current,nrow(national_footprints_w_labels)))
# satellite extensions direct from household final demand
## load satellite extensions direct from household final demand table from 'data_dir_exiobase' and convert to numeric
direct_FD_extensions = read.csv(paste0(data_dir_exiobase, "/IOT_", year_current, "_pxp/satellite/F_hh.csv", sep = ""),row.names=NULL,as.is=TRUE)[3:1106,3:345]
direct_FD_extensions[is.na(direct_FD_extensions)]=0
direct_FD_extensions = mapply(direct_FD_extensions, FUN = as.numeric)
direct_FD_extensions = matrix(data=direct_FD_extensions,ncol=343,nrow=1104)
## extract each study satellite extension
direct_FD_co2_combustion = direct_FD_extensions[24,]
direct_FD_co2_noncombustion_cement = direct_FD_extensions[93,]
direct_FD_co2_noncombustion_lime = direct_FD_extensions[94,]
direct_FD_co2_agriculture_peatdecay = direct_FD_extensions[428,]
direct_FD_co2_waste_biogenic = direct_FD_extensions[438,]
direct_FD_co2_waste_fossil = direct_FD_extensions[439,]
direct_FD_ch4_combustion = direct_FD_extensions[25,]*28
direct_FD_ch4_noncombustion_gas = direct_FD_extensions[68,]*28
direct_FD_ch4_noncombustion_oil = direct_FD_extensions[69,]*28
direct_FD_ch4_noncombustion_anthracite = direct_FD_extensions[70,]*28
direct_FD_ch4_noncombustion_bituminouscoal = direct_FD_extensions[71,]*28
direct_FD_ch4_noncombustion_cokingcoal = direct_FD_extensions[72,]*28
direct_FD_ch4_noncombustion_lignite = direct_FD_extensions[73,]*28
direct_FD_ch4_noncombustion_subbituminouscoal = direct_FD_extensions[74,]*28
direct_FD_ch4_noncombustion_oilrefinery = direct_FD_extensions[75,]*28
direct_FD_ch4_agriculture = direct_FD_extensions[427,]*28
direct_FD_ch4_waste = direct_FD_extensions[436,]*28
direct_FD_n2o_combustion = direct_FD_extensions[26,]*265
direct_FD_n2o_agriculture = direct_FD_extensions[430,]*265
direct_FD_sf6 = direct_FD_extensions[424,]*23500
direct_FD_hfc = direct_FD_extensions[425,]
direct_FD_pfc = direct_FD_extensions[426,]
direct_FD_energy = direct_FD_extensions[470,]
## bind all extensions together
direct_FD_fp = data.frame(direct_FD_co2_combustion,
direct_FD_co2_noncombustion_cement,
direct_FD_co2_noncombustion_lime,
direct_FD_co2_agriculture_peatdecay,
direct_FD_co2_waste_biogenic,
direct_FD_co2_waste_fossil,
direct_FD_ch4_combustion,
direct_FD_ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_oilrefinery,
direct_FD_ch4_agriculture,
direct_FD_ch4_waste,
direct_FD_n2o_combustion,
direct_FD_n2o_agriculture,
direct_FD_sf6,
direct_FD_hfc,
direct_FD_pfc,
direct_FD_energy)
## bind national footprints and direct extensions from hh final demand together (with year column)
national_fp_intermediate = as.data.frame(cbind(year_national_fp,
national_footprints_w_labels,
direct_FD_fp)) %>%
rename(year = year_national_fp,
geo = V1,
fd_category = V2,
co2_combustion = "rowSums(t(national_CO2_combustion_footprints))",
co2_noncombustion_cement = "rowSums(t(national_CO2_noncombustion_cement_footprints))",
co2_noncombustion_lime = "rowSums(t(national_CO2_noncombustion_lime_footprints))",
co2_agriculture_peatdecay = "rowSums(t(national_CO2_agriculture_peatdecay_footprints))",
co2_waste_biogenic = "rowSums(t(national_CO2_waste_biogenic_footprints))",
co2_waste_fossil = "rowSums(t(national_CO2_waste_fossil_footprints))",
ch4_combustion = "rowSums(t(national_CH4_combustion_footprints))",
ch4_noncombustion_gas = "rowSums(t(national_CH4_noncombustion_gas_footprints))",
ch4_noncombustion_oil = "rowSums(t(national_CH4_noncombustion_oil_footprints))",
ch4_noncombustion_anthracite = "rowSums(t(national_CH4_noncombustion_anthracite_footprints))",
ch4_noncombustion_bituminouscoal = "rowSums(t(national_CH4_noncombustion_bituminouscoal_footprints))",
ch4_noncombustion_cokingcoal = "rowSums(t(national_CH4_noncombustion_cokingcoal_footprints))",
ch4_noncombustion_lignite = "rowSums(t(national_CH4_noncombustion_lignite_footprints))",
ch4_noncombustion_subbituminouscoal = "rowSums(t(national_CH4_noncombustion_subbituminouscoal_footprints))",
ch4_noncombustion_oilrefinery = "rowSums(t(national_CH4_noncombustion_oilrefinery_footprints))",
ch4_agriculture = "rowSums(t(national_CH4_agriculture_footprints))",
ch4_waste = "rowSums(t(national_CH4_waste_footprints))",
n2o_combustion = "rowSums(t(national_N2O_combustion_footprints))",
n2o_agriculture = "rowSums(t(national_N2O_agriculture_footprints))",
sf6 = "rowSums(t(national_SF6_footprints))",
hfc = "rowSums(t(national_HFC_footprints))",
pfc = "rowSums(t(national_PFC_footprints))",
energy = "rowSums(t(national_energy_footprints))") %>%
select(year,
geo,
fd_category,
co2_combustion,
direct_FD_co2_combustion,
co2_noncombustion_cement,
direct_FD_co2_noncombustion_cement,
co2_noncombustion_lime,
direct_FD_co2_noncombustion_lime,
co2_agriculture_peatdecay,
direct_FD_co2_agriculture_peatdecay,
co2_waste_biogenic,
direct_FD_co2_waste_biogenic,
co2_waste_fossil,
direct_FD_co2_waste_fossil,
ch4_combustion,
direct_FD_ch4_combustion,
ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_gas,
ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_oil,
ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_anthracite,
ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_bituminouscoal,
ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_cokingcoal,
ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_lignite,
ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_subbituminouscoal,
ch4_noncombustion_oilrefinery,
direct_FD_ch4_noncombustion_oilrefinery,
ch4_agriculture,
direct_FD_ch4_agriculture,
ch4_waste,
direct_FD_ch4_waste,
n2o_combustion,
direct_FD_n2o_combustion,
n2o_agriculture,
direct_FD_n2o_agriculture,
sf6,
direct_FD_sf6,
hfc,
direct_FD_hfc,
pfc,
direct_FD_pfc,
energy,
direct_FD_energy)
## populate NULL national footprints dataframe
national_fp = rbind(national_fp, national_fp_intermediate)
# national territorial
## load saved satellite extensions table (as .csv file) from 'data_dir_exiobase' and extract each study satellite extension
satellite = read.csv(paste0(data_dir_exiobase, "/IOT_", year_current, "_pxp/satellite/satellite_",year_current,"_pxp.csv"))[,-1]
CO2_combustion_air = satellite[24,]
CO2_noncombustion_cement_air = satellite[93,]
CO2_noncombustion_lime_air = satellite[94,]
CO2_agriculture_peatdecay_air = satellite[428,]
CO2_waste_biogenic_air = satellite[438,]
CO2_waste_fossil_air = satellite[439,]
CH4_combustion_air = satellite[25,]
CH4_combustion_air = CH4_combustion_air*28
CH4_noncombustion_gas_air = satellite[68,]
CH4_noncombustion_gas_air = CH4_noncombustion_gas_air*28
CH4_noncombustion_oil_air = satellite[69,]
CH4_noncombustion_oil_air = CH4_noncombustion_oil_air*28
CH4_noncombustion_anthracite_air = satellite[70,]
CH4_noncombustion_anthracite_air = CH4_noncombustion_anthracite_air*28
CH4_noncombustion_bituminouscoal_air = satellite[71,]
CH4_noncombustion_bituminouscoal_air = CH4_noncombustion_bituminouscoal_air*28
CH4_noncombustion_cokingcoal_air = satellite[72,]
CH4_noncombustion_cokingcoal_air = CH4_noncombustion_cokingcoal_air*28
CH4_noncombustion_lignite_air = satellite[73,]
CH4_noncombustion_lignite_air = CH4_noncombustion_lignite_air*28
CH4_noncombustion_subbituminouscoal_air = satellite[74,]
CH4_noncombustion_subbituminouscoal_air = CH4_noncombustion_subbituminouscoal_air*28
CH4_noncombustion_oilrefinery_air = satellite[75,]
CH4_noncombustion_oilrefinery_air = CH4_noncombustion_oilrefinery_air*28
CH4_agriculture_air = satellite[427,]
CH4_agriculture_air = CH4_agriculture_air*28
CH4_waste_air = satellite[436,]
CH4_waste_air = CH4_waste_air*28
N2O_combustion_air = satellite[26,]
N2O_combustion_air = N2O_combustion_air*265
N2O_agriculture_air = satellite[430,]
N2O_agriculture_air = N2O_agriculture_air*265
SF6_air = satellite[424,]
SF6_air = SF6_air*23500
HFC_air = satellite[425,]
PFC_air = satellite[426,]
energy_carrier_use = satellite[470,]
## bind together
territorial = data.frame(t(CO2_combustion_air),
t(CO2_noncombustion_cement_air),
t(CO2_noncombustion_lime_air),
t(CO2_agriculture_peatdecay_air),
t(CO2_waste_biogenic_air),
t(CO2_waste_fossil_air),
t(CH4_combustion_air),
t(CH4_noncombustion_gas_air),
t(CH4_noncombustion_oil_air),
t(CH4_noncombustion_anthracite_air),
t(CH4_noncombustion_bituminouscoal_air),
t(CH4_noncombustion_cokingcoal_air),
t(CH4_noncombustion_lignite_air),
t(CH4_noncombustion_subbituminouscoal_air),
t(CH4_noncombustion_oilrefinery_air),
t(CH4_agriculture_air),
t(CH4_waste_air),
t(N2O_combustion_air),
t(N2O_agriculture_air),
t(SF6_air),
t(HFC_air),
t(PFC_air),
t(energy_carrier_use)) %>%
rename(CO2_combustion = 1,
CO2_noncombustion_cement = 2,
CO2_noncombustion_lime = 3,
CO2_agriculture_peatdecay = 4,
CO2_waste_biogenic = 5,
CO2_waste_fossil = 6,
CH4_combustion = 7,
CH4_noncombustion_gas = 8,
CH4_noncombustion_oil = 9,
CH4_noncombustion_anthracite = 10,
CH4_noncombustion_bituminouscoal = 11,
CH4_noncombustion_cokingcoal = 12,
CH4_noncombustion_lignite = 13,
CH4_noncombustion_subbituminouscoal = 14,
CH4_noncombustion_oilrefinery = 15,
CH4_agriculture = 16,
CH4_waste = 17,
N2O_combustion = 18,
N2O_agriculture = 19,
SF6 = 20,
HFC = 21, PFC = 22, energy = 23)
## create year column
year_territorial = as.character(rep(year_current,nrow(territorial)))
## bind year column, production sector labels and territorial satellite extensions
territorial_intermediate = as.data.frame(cbind(year_territorial,
Exiobase_T_labels,
territorial)) %>%
rename(year = year_territorial,
geo = V1,
sector = V2) %>%
select(-coicop,-five_sectors)
## populate NULL territorial dataframe
national_territorial = rbind(national_territorial, territorial_intermediate)
}
# write national territorial extensions as .csv and .rds files (save to 'data_dir_income_stratified_footprints')
write.csv(national_territorial, paste0(data_dir_income_stratified_footprints, "/national_territorial_pxp.csv"))
write_rds(national_territorial, paste0(data_dir_income_stratified_footprints, "/national_territorial_pxp.rds"))
# write national footprints as .csv and .rds files (save to 'data_dir_income_stratified_footprints')
write.csv(national_fp, paste0(data_dir_income_stratified_footprints, "/national_fp_pxp.csv"))
write_rds(national_fp, paste0(data_dir_income_stratified_footprints, "/national_fp_pxp.rds"))
# calculate quintile shares within each HBS coicop category
shares = join_expenditures %>%
group_by(coicop,geo,year) %>%
mutate(share = pps_coicop/sum(pps_coicop))
# join disaggregated EXIOBASE hh final demand dataframe with HBS coicop shares and calculate disaggregated hh final demand using the shares
fd_exiobase = disaggregated_final_demand %>%
left_join(shares, by = c("year","geo","coicop","quintile")) %>%
mutate(disaggregated_fd = value*share) %>%
select(year,geo,quintile,country_of_production,sector,coicop,disaggregated_fd) %>%
spread(quintile,disaggregated_fd)
# direct extensions from households
## load EUROSTAT energy use data (no Turkey)
env_ac_pefasu_no_TR = read_csv(paste0(data_dir_income_stratified_footprints, "/env_ac_pefasu_1_Data.csv")) %>%
filter(TIME == 2015) %>%
mutate(geo = dplyr::recode(GEO,"Austria" = "AT",
"Belgium" = "BE",
"Cyprus" = "CY",
"Czechia" = "CZ",
"Denmark" = "DK",
"Estonia" = "EE",
"Finland" = "FI",
"France" = "FR",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Greece" = "EL",
"Hungary" = "HU",
"Ireland" = "IE",
"Italy" = "IT",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Malta" = "MT",
"Netherlands" = "NL",
"Norway" = "NO",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovakia" = "SK",
"Slovenia" = "SI",
"Spain" = "ES",
"Sweden" = "SE",
"United Kingdom" = "UK",
"Bulgaria" = "BG",
"Croatia" = "HR")) %>%
select(NACE_R2,geo,Value) %>%
mutate(Value = parse_number(Value),
Value = as.numeric(Value)) %>%
spread(NACE_R2,Value) %>%
clean_names() %>%
mutate(HH_HEAT = heating_cooling_activities_by_households/total_activities_by_households,
HH_TRA = transport_activities_by_households/total_activities_by_households,
HH_OTH = other_activities_by_households/total_activities_by_households) %>%
select(geo,HH_HEAT,HH_TRA,HH_OTH)
## create column for Turkey using Bulgarian shares between HH_HEAT, HH_TRA, and HH_OTH
env_ac_pefasu_TR = env_ac_pefasu_no_TR %>%
filter(geo == "BG") %>%
mutate(geo = dplyr::recode(geo,
"BG" = "TR"))
## bind EUROSTAT energy use data (no Turkey) with created Turkey column
env_ac_pefasu = rbind(env_ac_pefasu_no_TR,env_ac_pefasu_TR) %>%
gather(sector,share_of_total_energy,-geo)
## load EUROSTAT emissions data
env_ac_ainah_r2 = read_csv(paste0(data_dir_income_stratified_footprints, "/env_ac_ainah_r2_1_Data.csv")) %>%
filter(TIME == 2015) %>%
mutate(geo = dplyr::recode(GEO,"Austria" = "AT",
"Belgium" = "BE",
"Cyprus" = "CY",
"Czechia" = "CZ",
"Denmark" = "DK",
"Estonia" = "EE",
"Finland" = "FI",
"France" = "FR",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Greece" = "EL",
"Hungary" = "HU",
"Ireland" = "IE",
"Italy" = "IT",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Malta" = "MT",
"Netherlands" = "NL",
"Norway" = "NO",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovakia" = "SK",
"Slovenia" = "SI",
"Spain" = "ES",
"Sweden" = "SE",
"Turkey" = "TR",
"United Kingdom" = "UK",
"Bulgaria" = "BG",
"Croatia" = "HR")) %>%
select(NACE_R2,AIRPOL,geo,Value) %>%
mutate(Value = parse_number(Value),
Value = as.numeric(Value)) %>%
spread(NACE_R2,Value) %>%
clean_names() %>%
mutate(HH_HEAT = heating_cooling_activities_by_households/total_activities_by_households,
HH_TRA = transport_activities_by_households/total_activities_by_households,
HH_OTH = other_activities_by_households/total_activities_by_households) %>%
select(geo,airpol,HH_HEAT,HH_TRA,HH_OTH)
### create separate dataframe for CO2
env_ac_ainah_r2_co2 = env_ac_ainah_r2 %>%
filter(airpol == "Carbon dioxide") %>%
select(-airpol) %>%
gather(sector,share_of_total_co2,-geo)
### for CH4
env_ac_ainah_r2_ch4 = env_ac_ainah_r2 %>%
filter(airpol == "Methane") %>%
select(-airpol) %>%
gather(sector,share_of_total_ch4,-geo)
### for N2O
env_ac_ainah_r2_n2o = env_ac_ainah_r2 %>%
filter(airpol == "Nitrous oxide") %>%
select(-airpol) %>%
gather(sector,share_of_total_n2o,-geo)
## filter saved EXIOBASE national footprints dataframe, select direct extensions and repeat each cell 3 times
direct_FD_fp_long = national_fp %>%
filter(fd_category == "Final consumption expenditure by households",
geo %in% c("AT",
"BE", "BG", "CY", "CZ",
"DE" , "DK" , "EE" ,
"ES" , "FI" , "FR" ,
"UK", "EL", "HR" ,
"HU" , "IE" , "IT" ,
"LT" , "LU" , "LV" ,
"MT" , "NL" , "PL" ,
"PT" , "TR" , "SK" ,
"SI" , "SE" , "RO" ,
"NO")) %>%
select(year,geo,fd_category,direct_FD_co2_combustion,
direct_FD_co2_noncombustion_cement,
direct_FD_co2_noncombustion_lime,
direct_FD_co2_agriculture_peatdecay,
direct_FD_co2_waste_biogenic,
direct_FD_co2_waste_fossil,
direct_FD_ch4_combustion,
direct_FD_ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_oilrefinery,
direct_FD_ch4_agriculture,
direct_FD_ch4_waste,
direct_FD_n2o_combustion,
direct_FD_n2o_agriculture,
direct_FD_sf6,
direct_FD_hfc,
direct_FD_pfc,
direct_FD_energy) %>%
slice(rep(1:n(), each = 3))
## create column with direct household sector names (3 times each)
sector = rep(c("HH_HEAT","HH_TRA","HH_OTH"), nrow(direct_FD_fp_long)/3)
## bind names with EXIOBASE direct extensions data, map hh sectors to COICOP categories, then bind with EUROSTAT energy and emissions data and dis-aggregate EXIOBASE direct extensions data using EUROSTAT energy and emissions shares between the three sectors/categories
direct_FD_fp_long_disagg = cbind(sector,direct_FD_fp_long) %>%
mutate(coicop = ifelse(sector == "HH_TRA","CP072",
ifelse(sector == "HH_HEAT","CP045","CP05")),
five_sectors = ifelse(sector == "HH_TRA", "transport",
ifelse(sector == "HH_HEAT", "shelter", "manufactured goods"))) %>%
left_join(env_ac_ainah_r2_co2, by = c("geo","sector")) %>%
left_join(env_ac_ainah_r2_ch4, by = c("geo","sector")) %>%
left_join(env_ac_ainah_r2_n2o, by = c("geo","sector")) %>%
left_join(env_ac_pefasu, by = c("geo","sector")) %>%
mutate(direct_FD_co2 = (direct_FD_co2_combustion +
direct_FD_co2_noncombustion_cement +
direct_FD_co2_noncombustion_lime +
direct_FD_co2_agriculture_peatdecay +
direct_FD_co2_waste_biogenic +
direct_FD_co2_waste_fossil)*share_of_total_co2,
direct_FD_ch4 = (direct_FD_ch4_combustion +
direct_FD_ch4_noncombustion_gas +
direct_FD_ch4_noncombustion_oil +
direct_FD_ch4_noncombustion_anthracite +
direct_FD_ch4_noncombustion_bituminouscoal +
direct_FD_ch4_noncombustion_cokingcoal +
direct_FD_ch4_noncombustion_lignite +
direct_FD_ch4_noncombustion_subbituminouscoal +
direct_FD_ch4_noncombustion_oilrefinery +
direct_FD_ch4_agriculture +
direct_FD_ch4_waste)*share_of_total_ch4,
direct_FD_n2o = (direct_FD_n2o_combustion +
direct_FD_n2o_agriculture)*share_of_total_n2o,
direct_FD_energy = direct_FD_energy*share_of_total_energy) %>%
left_join(shares, by = c("year","geo","coicop")) %>%
mutate(disaggregated_direct_FD_co2 = direct_FD_co2*share,
disaggregated_direct_FD_ch4 = direct_FD_ch4*share,
disaggregated_direct_FD_n2o = direct_FD_n2o*share,
disaggregated_direct_FD_energy = direct_FD_energy*share) %>%
select(year,geo,sector, quintile,
coicop, five_sectors,
disaggregated_direct_FD_co2,
disaggregated_direct_FD_ch4,
disaggregated_direct_FD_n2o,
disaggregated_direct_FD_energy)
## spread quintiles across columns for CO2
direct_FD_co2 = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_co2) %>%
spread(quintile,disaggregated_direct_FD_co2) %>%
rename(q1_co2 = QUINTILE1,
q2_co2 = QUINTILE2,
q3_co2 = QUINTILE3,
q4_co2 = QUINTILE4,
q5_co2 = QUINTILE5) %>%
mutate(q1_co2_domestic = q1_co2,
q2_co2_domestic = q2_co2,
q3_co2_domestic = q3_co2,
q4_co2_domestic = q4_co2,
q5_co2_domestic = q5_co2,
co2_total = q1_co2+q2_co2+q3_co2+q4_co2+q5_co2,
co2_total_domestic = q1_co2_domestic+
q2_co2_domestic+q3_co2_domestic+
q4_co2_domestic+q5_co2_domestic)
## spread quintiles across columns for CH4
direct_FD_ch4 = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_ch4) %>%
spread(quintile,disaggregated_direct_FD_ch4) %>%
rename(q1_ch4 = QUINTILE1,
q2_ch4 = QUINTILE2,
q3_ch4 = QUINTILE3,
q4_ch4 = QUINTILE4,
q5_ch4 = QUINTILE5) %>%
mutate(q1_ch4_domestic = q1_ch4,
q2_ch4_domestic = q2_ch4,
q3_ch4_domestic = q3_ch4,
q4_ch4_domestic = q4_ch4,
q5_ch4_domestic = q5_ch4,
ch4_total = q1_ch4+q2_ch4+q3_ch4+q4_ch4+q5_ch4,
ch4_total_domestic = q1_ch4_domestic+
q2_ch4_domestic+q3_ch4_domestic+
q4_ch4_domestic+q5_ch4_domestic)
## spread quintiles across columns for N2O
direct_FD_n2o = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_n2o) %>%
spread(quintile,disaggregated_direct_FD_n2o) %>%
rename(q1_n2o = QUINTILE1,
q2_n2o = QUINTILE2,
q3_n2o = QUINTILE3,
q4_n2o = QUINTILE4,
q5_n2o = QUINTILE5) %>%
mutate(q1_n2o_domestic = q1_n2o,
q2_n2o_domestic = q2_n2o,
q3_n2o_domestic = q3_n2o,
q4_n2o_domestic = q4_n2o,
q5_n2o_domestic = q5_n2o,
n2o_total = q1_n2o+q2_n2o+q3_n2o+q4_n2o+q5_n2o,
n2o_total_domestic = q1_n2o_domestic+
q2_n2o_domestic+q3_n2o_domestic+
q4_n2o_domestic+q5_n2o_domestic)
## spread quintiles across columns for energy use
direct_FD_energy = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_energy) %>%
spread(quintile,disaggregated_direct_FD_energy) %>%
rename(q1_energy = QUINTILE1,
q2_energy = QUINTILE2,
q3_energy = QUINTILE3,
q4_energy = QUINTILE4,
q5_energy = QUINTILE5) %>%
mutate(q1_energy_domestic = q1_energy,
q2_energy_domestic = q2_energy,
q3_energy_domestic = q3_energy,
q4_energy_domestic = q4_energy,
q5_energy_domestic = q5_energy,
energy_total = q1_energy+q2_energy+q3_energy+q4_energy+q5_energy,
energy_total_domestic = q1_energy_domestic+
q2_energy_domestic+q3_energy_domestic+
q4_energy_domestic+q5_energy_domestic)
# join spread direct from hh fd extensions to each other and create co2eq as well
direct_FD_fp_wide = direct_FD_co2 %>%
left_join(direct_FD_ch4, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
left_join(direct_FD_n2o, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
left_join(direct_FD_energy, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
mutate(country_of_production = geo) %>%
mutate(q1_co2eq = q1_co2 + q1_ch4 + q1_n2o,
q2_co2eq = q2_co2 + q2_ch4 + q2_n2o,
q3_co2eq = q3_co2 + q3_ch4 + q3_n2o,
q4_co2eq = q4_co2 + q4_ch4 + q4_n2o,
q5_co2eq = q5_co2 + q5_ch4 + q5_n2o,
co2eq_total = q1_co2eq +
q2_co2eq + q3_co2eq +
q4_co2eq + q5_co2eq,
q1_co2eq_domestic = q1_co2_domestic + q1_ch4_domestic + q1_n2o_domestic,
q2_co2eq_domestic = q2_co2_domestic + q2_ch4_domestic + q2_n2o_domestic,
q3_co2eq_domestic = q3_co2_domestic + q3_ch4_domestic + q3_n2o_domestic,
q4_co2eq_domestic = q4_co2_domestic + q4_ch4_domestic + q4_n2o_domestic,
q5_co2eq_domestic = q5_co2_domestic + q5_ch4_domestic + q5_n2o_domestic,
co2eq_total_domestic = q1_co2eq_domestic +
q2_co2eq_domestic + q3_co2eq_domestic +
q4_co2eq_domestic + q5_co2eq_domestic) %>%
select(-q1_ch4,
-q2_ch4,
-q3_ch4,
-q4_ch4,
-q5_ch4,
-ch4_total,
-q1_ch4_domestic,
-q2_ch4_domestic,
-q3_ch4_domestic,
-q4_ch4_domestic,
-q5_ch4_domestic,
-ch4_total_domestic,
-q1_n2o,
-q2_n2o,
-q3_n2o,
-q4_n2o,
-q5_n2o,
-n2o_total,
-q1_n2o_domestic,
-q2_n2o_domestic,
-q3_n2o_domestic,
-q4_n2o_domestic,
-q5_n2o_domestic,
-n2o_total_domestic)
# create intermediate results dataframe (without direct extensions data) by joining dis-aggregated EXIOBASE fd with total intensity vectors (plus domestic, plus Europe) and calculating co2, co2eq and energy use (total, domestic, and Europe)
results = fd_exiobase %>%
left_join(TIVs, by = c("year", "country_of_production", "coicop", "sector")) %>%
left_join(europe_TIVs, by = c("year", "country_of_production", "coicop", "sector", "five_sectors")) %>%
left_join(domestic_TIVs, by = c("year", "geo", "country_of_production", "coicop", "sector", "five_sectors")) %>%
transmute(year,geo,country_of_production,sector,coicop,five_sectors,
QUINTILE1,
QUINTILE2,
QUINTILE3,
QUINTILE4,
QUINTILE5,
fd_total = QUINTILE1+QUINTILE2+QUINTILE3+QUINTILE4+QUINTILE5,
TIV_CO2 = TIV_CO2_combustion +
TIV_CO2_noncombustion_cement +
TIV_CO2_noncombustion_lime +
TIV_CO2_agriculture_peatdecay +
TIV_CO2_waste_biogenic +
TIV_CO2_waste_fossil,
q1_co2 = QUINTILE1*TIV_CO2,
q2_co2 = QUINTILE2*TIV_CO2,
q3_co2 = QUINTILE3*TIV_CO2,
q4_co2 = QUINTILE4*TIV_CO2,
q5_co2 = QUINTILE5*TIV_CO2,
co2_total = q1_co2+q2_co2+q3_co2+q4_co2+q5_co2,
TIV_CO2_domestic = TIV_CO2_combustion_domestic +
TIV_CO2_noncombustion_cement_domestic +
TIV_CO2_noncombustion_lime_domestic +
TIV_CO2_agriculture_peatdecay_domestic +
TIV_CO2_waste_biogenic_domestic +
TIV_CO2_waste_fossil_domestic,
q1_co2_domestic = QUINTILE1*TIV_CO2_domestic,
q2_co2_domestic = QUINTILE2*TIV_CO2_domestic,
q3_co2_domestic = QUINTILE3*TIV_CO2_domestic,
q4_co2_domestic = QUINTILE4*TIV_CO2_domestic,
q5_co2_domestic = QUINTILE5*TIV_CO2_domestic,
co2_total_domestic = q1_co2_domestic+q2_co2_domestic+q3_co2_domestic+q4_co2_domestic+q5_co2_domestic,
TIV_CO2_europe = TIV_CO2_combustion_europe +
TIV_CO2_noncombustion_cement_europe +
TIV_CO2_noncombustion_lime_europe +
TIV_CO2_agriculture_peatdecay_europe +
TIV_CO2_waste_biogenic_europe +
TIV_CO2_waste_fossil_europe,
q1_co2_europe = QUINTILE1*(TIV_CO2_europe - TIV_CO2_domestic),
q2_co2_europe = QUINTILE2*(TIV_CO2_europe - TIV_CO2_domestic),
q3_co2_europe = QUINTILE3*(TIV_CO2_europe - TIV_CO2_domestic),
q4_co2_europe = QUINTILE4*(TIV_CO2_europe - TIV_CO2_domestic),
q5_co2_europe = QUINTILE5*(TIV_CO2_europe - TIV_CO2_domestic),
co2_total_europe = q1_co2_europe+q2_co2_europe+q3_co2_europe+q4_co2_europe+q5_co2_europe,
TIV_CO2eq = TIV_CO2 +
TIV_CH4_combustion +
TIV_CH4_noncombustion_gas +
TIV_CH4_noncombustion_oil +
TIV_CH4_noncombustion_anthracite +
TIV_CH4_noncombustion_bituminouscoal +
TIV_CH4_noncombustion_cokingcoal +
TIV_CH4_noncombustion_lignite +
TIV_CH4_noncombustion_subbituminouscoal +
TIV_CH4_noncombustion_oilrefinery +
TIV_CH4_agriculture +
TIV_CH4_waste +
TIV_N2O_combustion +
TIV_N2O_agriculture +
TIV_SF6 + TIV_HFC + TIV_PFC,
q1_co2eq = QUINTILE1*TIV_CO2eq,
q2_co2eq = QUINTILE2*TIV_CO2eq,
q3_co2eq = QUINTILE3*TIV_CO2eq,
q4_co2eq = QUINTILE4*TIV_CO2eq,
q5_co2eq = QUINTILE5*TIV_CO2eq,
co2eq_total = q1_co2eq + q2_co2eq + q3_co2eq + q4_co2eq + q5_co2eq,
TIV_CO2eq_domestic = TIV_CO2_domestic +
TIV_CH4_combustion_domestic +
TIV_CH4_noncombustion_gas_domestic +
TIV_CH4_noncombustion_oil_domestic +
TIV_CH4_noncombustion_anthracite_domestic +
TIV_CH4_noncombustion_bituminouscoal_domestic +
TIV_CH4_noncombustion_cokingcoal_domestic +
TIV_CH4_noncombustion_lignite_domestic +
TIV_CH4_noncombustion_subbituminouscoal_domestic +
TIV_CH4_noncombustion_oilrefinery_domestic +
TIV_CH4_agriculture_domestic +
TIV_CH4_waste_domestic +
TIV_N2O_combustion_domestic +
TIV_N2O_agriculture_domestic +
TIV_SF6_domestic + TIV_HFC_domestic + TIV_PFC_domestic,
q1_co2eq_domestic = QUINTILE1*TIV_CO2eq_domestic,
q2_co2eq_domestic = QUINTILE2*TIV_CO2eq_domestic,
q3_co2eq_domestic = QUINTILE3*TIV_CO2eq_domestic,
q4_co2eq_domestic = QUINTILE4*TIV_CO2eq_domestic,
q5_co2eq_domestic = QUINTILE5*TIV_CO2eq_domestic,
co2eq_total_domestic = q1_co2eq_domestic + q2_co2eq_domestic + q3_co2eq_domestic + q4_co2eq_domestic + q5_co2eq_domestic,
TIV_CO2eq_europe = TIV_CO2_europe +
TIV_CH4_combustion_europe +
TIV_CH4_noncombustion_gas_europe +
TIV_CH4_noncombustion_oil_europe +
TIV_CH4_noncombustion_anthracite_europe +
TIV_CH4_noncombustion_bituminouscoal_europe +
TIV_CH4_noncombustion_cokingcoal_europe +
TIV_CH4_noncombustion_lignite_europe +
TIV_CH4_noncombustion_subbituminouscoal_europe +
TIV_CH4_noncombustion_oilrefinery_europe +
TIV_CH4_agriculture_europe +
TIV_CH4_waste_europe +
TIV_N2O_combustion_europe +
TIV_N2O_agriculture_europe +
TIV_SF6_europe + TIV_HFC_europe + TIV_PFC_europe,
q1_co2eq_europe = QUINTILE1*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q2_co2eq_europe = QUINTILE2*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q3_co2eq_europe = QUINTILE3*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q4_co2eq_europe = QUINTILE4*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
q5_co2eq_europe = QUINTILE5*(TIV_CO2eq_europe - TIV_CO2eq_domestic),
co2eq_total_europe = q1_co2eq_europe + q2_co2eq_europe + q3_co2eq_europe + q4_co2eq_europe + q5_co2eq_europe,
TIV_energy,
q1_energy = QUINTILE1*TIV_energy,
q2_energy = QUINTILE2*TIV_energy,
q3_energy = QUINTILE3*TIV_energy,
q4_energy = QUINTILE4*TIV_energy,
q5_energy = QUINTILE5*TIV_energy,
energy_total = q1_energy+q2_energy+q3_energy+q4_energy+q5_energy,
TIV_energy_domestic,
q1_energy_domestic = QUINTILE1*TIV_energy_domestic,
q2_energy_domestic = QUINTILE2*TIV_energy_domestic,
q3_energy_domestic = QUINTILE3*TIV_energy_domestic,
q4_energy_domestic = QUINTILE4*TIV_energy_domestic,
q5_energy_domestic = QUINTILE5*TIV_energy_domestic,
energy_total_domestic = q1_energy_domestic+q2_energy_domestic+q3_energy_domestic+q4_energy_domestic+q5_energy_domestic,
TIV_energy_europe,
q1_energy_europe = QUINTILE1*(TIV_energy_europe - TIV_energy_domestic),
q2_energy_europe = QUINTILE2*(TIV_energy_europe - TIV_energy_domestic),
q3_energy_europe = QUINTILE3*(TIV_energy_europe - TIV_energy_domestic),
q4_energy_europe = QUINTILE4*(TIV_energy_europe - TIV_energy_domestic),
q5_energy_europe = QUINTILE5*(TIV_energy_europe - TIV_energy_domestic),
energy_total_europe = q1_energy_europe+q2_energy_europe+q3_energy_europe+q4_energy_europe+q5_energy_europe)
# bind intermediate results dataframe with direct from hh fd extensions dataframe
results_with_direct_FD_fp = bind_rows(results,direct_FD_fp_wide)
# create compressed results rds file
## clean names of results file
dat_all = results_with_direct_FD_fp %>%
clean_names()
# convert sector labels to IDs
sectors = dat_all %>%
distinct(sector) %>%
mutate(sector_id = row_number())
## write EXIOBASE production sector ids to derived data folder (as .csv file) for use in creating figures in the main paper (commented out atm - not used by current main paper figures)
#write_csv(sectors, paste0(here("/analysis/data/derived/si/sectors_method1_pxp.csv")))
# convert aggregated sector labels to IDs
sectors_agg = dat_all %>%
distinct(five_sectors) %>%
mutate(sector_agg_id = row_number())
## write aggregated sector ids to derived data folder (as .csv file) for use in creating figures in the main paper. If interested in looking at a sectoral breakdown of the product-by-product version results, un-comment line below
#write_csv(sectors_agg, paste0(here("analysis/data/derived/si/sectors_agg_method1_pxp.csv")))
# convert COICOP labels to IDs
coicop = dat_all %>%
distinct(coicop) %>%
mutate(coicop_id = row_number())
## write COICOP consumption category ids to derived data folder (as .csv file) for use in creating figures in the main paper (commented out atm - not used by current main paper figures)
#write_csv(coicop, paste0(here("analysis/data/derived/si/coicop_method1_pxp.csv")))
# replace sector text labels with numerical IDs (save space)
dat_compressed = dat_all %>%
left_join(sectors, by="sector") %>%
left_join(sectors_agg, by="five_sectors") %>%
left_join(coicop, by = "coicop") %>%
select(-c(sector, five_sectors,coicop))
# extract sector aggregation
sector_mapping = dat_compressed %>%
group_by(sector_id) %>%
summarise(sector_agg_id = first(sector_agg_id),
coicop_id = first(coicop_id))
# collapse country of origin
dat_results = dat_compressed %>%
select(-sector_agg_id,-coicop_id) %>%
group_by(year, geo, sector_id) %>%
summarise_if(is.numeric, sum, na.rm = TRUE)
# extract final demand and pivot long
cols_final_demand = c("quintile1", "quintile2", "quintile3", "quintile4", "quintile5")
tmp_fd = dat_results %>%
select(year, geo, sector_id, cols_final_demand) %>%
pivot_longer(cols = cols_final_demand,
names_to = "quintile",
values_to = "fd_me") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2 and pivot long
cols_co2 = c("q1_co2", "q2_co2", "q3_co2", "q4_co2", "q5_co2")
tmp_co2 = dat_results %>%
select(year, geo, sector_id, cols_co2) %>%
pivot_longer(cols = cols_co2,
names_to = "quintile",
values_to = "co2_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2 domestic and pivot long
cols_co2_domestic = c("q1_co2_domestic", "q2_co2_domestic", "q3_co2_domestic", "q4_co2_domestic", "q5_co2_domestic")
tmp_co2_domestic = dat_results %>%
select(year, geo, sector_id, cols_co2_domestic) %>%
pivot_longer(cols = cols_co2_domestic,
names_to = "quintile",
values_to = "co2_domestic_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2 europe and pivot long
cols_co2_europe = c("q1_co2_europe", "q2_co2_europe", "q3_co2_europe", "q4_co2_europe", "q5_co2_europe")
tmp_co2_europe = dat_results %>%
select(year, geo, sector_id, cols_co2_europe) %>%
pivot_longer(cols = cols_co2_europe,
names_to = "quintile",
values_to = "co2_europe_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2eq and pivot long
cols_co2eq = c("q1_co2eq", "q2_co2eq", "q3_co2eq", "q4_co2eq", "q5_co2eq")
tmp_co2eq = dat_results %>%
select(year, geo, sector_id, cols_co2eq) %>%
pivot_longer(cols = cols_co2eq,
names_to = "quintile",
values_to = "co2eq_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2eq domestic and pivot long
cols_co2eq_domestic = c("q1_co2eq_domestic", "q2_co2eq_domestic", "q3_co2eq_domestic", "q4_co2eq_domestic", "q5_co2eq_domestic")
tmp_co2eq_domestic = dat_results %>%
select(year, geo, sector_id, cols_co2eq_domestic) %>%
pivot_longer(cols = cols_co2eq_domestic,
names_to = "quintile",
values_to = "co2eq_domestic_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract co2eq europe and pivot long
cols_co2eq_europe = c("q1_co2eq_europe", "q2_co2eq_europe", "q3_co2eq_europe", "q4_co2eq_europe", "q5_co2eq_europe")
tmp_co2eq_europe = dat_results %>%
select(year, geo, sector_id, cols_co2eq_europe) %>%
pivot_longer(cols = cols_co2eq_europe,
names_to = "quintile",
values_to = "co2eq_europe_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract energy use and pivot long
cols_energy = c("q1_energy","q2_energy","q3_energy","q4_energy","q5_energy")
tmp_energy = dat_results %>%
select(year, geo, sector_id, cols_energy) %>%
pivot_longer(cols = cols_energy,
names_to = "quintile",
values_to = "energy_use_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract energy domestic and pivot long
cols_energy_domestic = c("q1_energy_domestic","q2_energy_domestic","q3_energy_domestic","q4_energy_domestic","q5_energy_domestic")
tmp_energy_domestic = dat_results %>%
select(year, geo, sector_id, cols_energy_domestic) %>%
pivot_longer(cols = cols_energy_domestic,
names_to = "quintile",
values_to = "energy_use_domestic_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# extract energy europe and pivot long
cols_energy_europe = c("q1_energy_europe","q2_energy_europe","q3_energy_europe","q4_energy_europe","q5_energy_europe")
tmp_energy_europe = dat_results %>%
select(year, geo, sector_id, cols_energy_europe) %>%
pivot_longer(cols = cols_energy_europe,
names_to = "quintile",
values_to = "energy_use_europe_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
# recombine pivoted extensions
results_recombined = tmp_fd %>%
left_join(tmp_co2, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2_domestic, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2_europe, by = c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2eq, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2eq_domestic, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_co2eq_europe, by = c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_energy, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_energy_domestic, by=c("year", "geo", "sector_id", "quint")) %>%
left_join(tmp_energy_europe, by = c("year", "geo", "sector_id", "quint"))
# finally re-join aggregated sector IDs
results_formatted = results_recombined %>%
left_join(sector_mapping, by="sector_id") %>%
ungroup() %>%
select(-coicop_id)
# write formatted results files (.csv and .rds) to 'data_dir_income_stratified_footprints'
write.csv(results_formatted, paste0(data_dir_income_stratified_footprints, "/results_formatted_method1_pxp.csv"))
write_rds(results_formatted, paste0(data_dir_income_stratified_footprints, "/results_formatted_method1_pxp.rds"))
################################################### !!!! method 2 !!!! - IXI version #############################
###############################################################################################################################################################
###############################################################################################################################################################
# 'results' data frame the second way
# aggregate - playing around trying to go the other way
# load 'mean expenditure by quintile' data
hbs_exp_t133 = read_csv(paste0(data_dir_income_stratified_footprints, "/hbs_exp_t133.csv"))
# rename and arrange by country
mean_expenditure_by_quintile = hbs_exp_t133 %>%
rename(geo = 3, quintile = "quantile") %>%
arrange(geo)
# load 'mean expenditure by quintile and coicop' data
hbs_str_t223 = read_csv(paste0(data_dir_income_stratified_footprints, "/hbs_str_t223.csv"))
# rename and arrange by country
mean_expenditure_by_coicop_sector = hbs_str_t223 %>%
rename(geo = 4, quintile = "quantile") %>%
arrange(geo)
# create long data sets for both
mean_expenditure_by_quintile_long = mean_expenditure_by_quintile %>%
filter(unit == "PPS_HH") %>%
filter(!(quintile %in% c("UNK","TOTAL"))) %>%
select(-unit) %>%
gather(year,euro_pps,-quintile,-geo)
mean_expenditure_by_coicop_sector_long = mean_expenditure_by_coicop_sector %>%
filter(!(quintile %in% c("UNK","TOTAL"))) %>%
select(-unit) %>%
gather(year,pm,-quintile,-coicop,-geo) %>%
mutate(coicop = dplyr::recode(coicop, "CP041" = "rent",
"CP042" = "rent")) %>%
group_by(geo,quintile,coicop,year) %>%
mutate(pm = parse_number(pm),
pm = as.numeric(pm)) %>%
summarise(pm = sum(pm, na.rm = TRUE)) %>%
ungroup() %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE1" &
coicop == "CP072", 92-21-14,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE2" &
coicop == "CP072", 108-22-12,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE3" &
coicop == "CP072", 124-32-11,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE4" &
coicop == "CP072", 133-43-10,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2005 & quintile == "QUINTILE5" &
coicop == "CP072", 162-81-11,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE1" &
coicop == "CP044", 412-4-78-322,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE2" &
coicop == "CP044", 355-5-68-265,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE3" &
coicop == "CP044", 325-8-64-229,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE4" &
coicop == "CP044", 300-9-58-204,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2010 & quintile == "QUINTILE5" &
coicop == "CP044", 249-10-46-167,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE1" &
coicop == "CP044", 433-3-82-340,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE2" &
coicop == "CP044", 376-6-70-284,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE3" &
coicop == "CP044", 351-9-67-251,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE4" &
coicop == "CP044", 326-10-61-228,pm)) %>%
mutate(pm = ifelse(geo == "DE" & year == 2015 & quintile == "QUINTILE5" &
coicop == "CP044", 280-9-49-195,pm))
join_expenditures = mean_expenditure_by_coicop_sector_long %>%
left_join(mean_expenditure_by_quintile_long, by = c("geo","quintile","year")) %>%
mutate(euro_pps = as.numeric(euro_pps),
pm = as.numeric(pm),
euro_pps_coicop = pm*(euro_pps/1000))
# load margin tables
trade_and_transport = read.csv(paste0(data_dir_income_stratified_footprints, "/SNA_TABLE45_20042020103737298.csv")) %>%
select(LOCATION, PRODUCT, Product, Year, Value) %>%
mutate(geo = dplyr::recode(LOCATION,"AUT" = "AT",
"BEL" = "BE",
"CYP" = "CY",
"CZE" = "CZ",
"DNK" = "DK",
"EST" = "EE",
"FIN" = "FI",
"FRA" = "FR",
"DEU" = "DE",
"GRC" = "EL",
"HUN" = "HU",
"IRL" = "IE",
"ITA" = "IT",
"LVA" = "LV",
"LTU" = "LT",
"LUX" = "LU",
"MLT" = "MT",
"MNE" = "ME",
"NLD" = "NL",
"NOR" = "NO",
"POL" = "PL",
"PRT" = "PT",
"ROU" = "RO",
"SRB" = "RS",
"SVK" = "SK",
"SVN" = "SI",
"ESP" = "ES",
"SWE" = "SE",
"CHE" = "CH",
"MKD" = "MK",
"TUR" = "TR",
"GBR" = "UK",
"BGR" = "BG",
"HRV" = "HR")) %>%
select(geo, Year, PRODUCT, Value) %>%
rename(year = Year,
trade_and_transport = Value) %>%
mutate(trade_and_transport = trade_and_transport/100) %>%
rename(geo_join = geo)
taxes_less_subsidies = read.csv(paste0(data_dir_income_stratified_footprints, "/SNA_TABLE45_20042020104120395.csv")) %>%
select(LOCATION, PRODUCT, Product, Year, Value) %>%
mutate(geo = dplyr::recode(LOCATION,"AUT" = "AT",
"BEL" = "BE",
"CYP" = "CY",
"CZE" = "CZ",
"DNK" = "DK",
"EST" = "EE",
"FIN" = "FI",
"FRA" = "FR",
"DEU" = "DE",
"GRC" = "EL",
"HUN" = "HU",
"IRL" = "IE",
"ITA" = "IT",
"LVA" = "LV",
"LTU" = "LT",
"LUX" = "LU",
"MLT" = "MT",
"MNE" = "ME",
"NLD" = "NL",
"NOR" = "NO",
"POL" = "PL",
"PRT" = "PT",
"ROU" = "RO",
"SRB" = "RS",
"SVK" = "SK",
"SVN" = "SI",
"ESP" = "ES",
"SWE" = "SE",
"CHE" = "CH",
"MKD" = "MK",
"TUR" = "TR",
"GBR" = "UK",
"BGR" = "BG",
"HRV" = "HR")) %>%
select(geo, Year, PRODUCT, Value) %>%
rename(year = Year,
taxes_less_subsidies = Value) %>%
mutate(taxes_less_subsidies = taxes_less_subsidies/100) %>%
rename(geo_join = geo)
# create margins dataframe
geo_real = rep(c("AT",
"BE",
"CY",
"CZ",
"DK",
"EE",
"FI",
"FR",
"DE",
"EL",
"HU",
"IE",
"IT",
"LV",
"LT",
"LU",
"MT",
"ME",
"NL",
"NO",
"PL",
"PT",
"RO",
"RS",
"SK",
"SI",
"ES",
"SE",
"MK",
"TR",
"UK",
"BG",
"HR"),each = 16)
geo_join = rep(c("AT",
"BE",
"CY",
"CZ",
"DK",
"LV",
"FI",
"FR",
"AT",
"EL",
"HU",
"UK",
"IT",
"LV",
"LV",
"LU",
"MT",
"ME",
"NL",
"FI",
"PL",
"PT",
"RO",
"RS",
"SK",
"SI",
"PT",
"FI",
"MK",
"BG",
"UK",
"BG",
"HR"),each = 16)
year = rep(2010,length(geo_real))
PRODUCT = c("P10_12",
"P13_15",
"P68A",
"PF",
"PE",
"PD",
"PC",
"PQ",
"P29",
"P19",
"P30",
"P61",
"PR",
"PP",
"PI",
"PS")
margin_sectors = data.frame(geo_real,geo_join,year,PRODUCT)
# join everything - and impute
margins = margin_sectors %>%
left_join(taxes_less_subsidies, by = c("geo_join","year","PRODUCT")) %>%
left_join(trade_and_transport, by = c("geo_join","year","PRODUCT")) %>%
select(-geo_join) %>%
rename(geo = geo_real) %>%
mutate(taxes_less_subsidies = ifelse(geo == "CZ" & PRODUCT == "P68A", 0, taxes_less_subsidies)) %>%
mutate(trade_and_transport = ifelse(geo == "CZ" & PRODUCT == "P68A", 0, trade_and_transport)) %>%
mutate(taxes_less_subsidies = ifelse(geo == "SK" & PRODUCT == "P68A", 0, taxes_less_subsidies)) %>%
mutate(trade_and_transport = ifelse(geo == "SK" & PRODUCT == "P68A", 0, trade_and_transport)) %>%
select(-year)
# join margin data to join_expenditures
with_margins = join_expenditures %>%
mutate(year = as.numeric(year),
PRODUCT = dplyr::recode(coicop,
"CP011" = "P10_12",
"CP012" = "P10_12",
"CP02" = "P10_12",
"CP03" = "P13_15",
"rent" = "P68A",
"CP043" = "PF",
"CP044" = "PE",
"CP045" = "PD",
"CP05" = "PC",
"CP06" = "PQ",
"CP071" = "P29",
"CP072" = "P19",
"CP073" = "P30",
"CP08" = "P61",
"CP09" = "PR",
"CP10" = "PP",
"CP11" = "PI",
"CP12" = "PS")) %>%
left_join(margins, by = c("geo","PRODUCT")) %>%
mutate(euro_pps_coicop_bp = euro_pps_coicop*(1 - (trade_and_transport + taxes_less_subsidies)))
# re-create expenditure
mean_expenditure_by_quintile_long_bp = with_margins %>%
group_by(quintile,geo,year) %>%
summarise(euro_pps_bp = sum(euro_pps_coicop_bp, na.rm = TRUE))
mean_expenditure_by_coicop_sector_long_bp = with_margins %>%
left_join(mean_expenditure_by_quintile_long_bp, by = c("quintile","geo","year")) %>%
mutate(pm_bp = (euro_pps_coicop_bp/euro_pps_bp)*1000) %>%
select(quintile,coicop,geo,year,pm_bp)
###
shares = join_expenditures %>%
group_by(coicop,geo,year) %>%
mutate(share = euro_pps_coicop/sum(euro_pps_coicop))
################################################### !!!! method 2 - IXI version - PPS HH NO RENT !!!! ####################################################
##########################################################################################################################################################
##########################################################################################################################################################
# Exiobase - ixi version
years_exb_ixi = c(2005,2010,2015)
Eurostat_countries_hh_fd = NULL
total_fd = NULL
TIVs = NULL
domestic_TIVs = NULL
europe_TIVs = NULL
national_fp = NULL
for (i in years_exb_ixi){
year_current = i
Exiobase_FD = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/FD_",year_current,"_ixi.csv"))[,-1]
# select household final demand vectors for relevant countries - figure out how to soft code this
AT = Exiobase_FD[,1]
BE = Exiobase_FD[,8]
BG = Exiobase_FD[,15]
CY = Exiobase_FD[,22]
CZ = Exiobase_FD[,29]
DE = Exiobase_FD[,36]
DK = Exiobase_FD[,43]
EE = Exiobase_FD[,50]
EL = Exiobase_FD[,78]
ES = Exiobase_FD[,57]
FI = Exiobase_FD[,64]
FR = Exiobase_FD[,71]
HR = Exiobase_FD[,85]
HU = Exiobase_FD[,92]
IE = Exiobase_FD[,99]
IT = Exiobase_FD[,106]
LT = Exiobase_FD[,113]
LU = Exiobase_FD[,120]
LV = Exiobase_FD[,127]
MT = Exiobase_FD[,134]
NL = Exiobase_FD[,141]
NO = Exiobase_FD[,288]
PL = Exiobase_FD[,148]
PT = Exiobase_FD[,155]
RO = Exiobase_FD[,162]
SE = Exiobase_FD[,169]
SI = Exiobase_FD[,176]
SK = Exiobase_FD[,183]
TR = Exiobase_FD[,274]
UK = Exiobase_FD[,190]
Eurostat_countries = cbind(AT,BE,BG,CY,CZ,DE,DK,EE,EL,ES,FI,FR,HR,HU,IE,IT,LT,LU,LV,MT,NL,NO,PL,PT,RO,SE,SI,SK,TR,UK)
year = as.character(rep(year_current,nrow(Eurostat_countries)))
look_Eurostat_countries = cbind(year,Eurostat_countries)
Eurostat_countries_hh_fd = rbind(Eurostat_countries_hh_fd,look_Eurostat_countries)
eurostat_countries_colsums = colSums(Eurostat_countries)
geo = data.frame(c("AT","BE","BG","CY","CZ","DE","DK","EE","EL","ES","FI",
"FR","HR","HU","IE","IT","LT","LU","LV","MT","NL","NO",
"PL","PT","RO","SE","SI","SK","TR","UK")) %>% rename_at(1,~"geo")
year = rep(year_current, 30)
fds = cbind(geo,year,eurostat_countries_colsums) %>% slice(rep(1:n(), each = 5))
quintiles = data.frame(rep(c("QUINTILE1","QUINTILE2","QUINTILE3","QUINTILE4","QUINTILE5"),30)) %>% rename_at(1,~"quintile")
total_fd_year_current = cbind(fds,quintiles)
total_fd = rbind(total_fd, total_fd_year_current)
# labels
Exiobase_T_labels = read.csv(paste0(data_dir_income_stratified_footprints, "/Exiobase_T_labels_ixi_w_coicop_mapping.csv")) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
# TIVs
# CO2 - combustion - air
Exiobase_TIV_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_combustion_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_combustion_air_", year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_combustion_domestic)
Exiobase_TIV_europe_breakdown_co2_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_combustion_air_", year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_combustion_europe,TIV_CO2_combustion_not_europe)
# CO2 - noncombustion - cement - air
Exiobase_TIV_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_noncombustion_cement_domestic)
Exiobase_TIV_europe_breakdown_co2_noncombustion_cement_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_cement_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_noncombustion_cement_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_noncombustion_cement_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_noncombustion_cement_europe,TIV_CO2_noncombustion_cement_not_europe)
# CO2 - noncombustion - lime - air
Exiobase_TIV_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_noncombustion_lime_domestic)
Exiobase_TIV_europe_breakdown_co2_noncombustion_lime_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_noncombustion_lime_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_noncombustion_lime_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_noncombustion_lime_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_noncombustion_lime_europe,TIV_CO2_noncombustion_lime_not_europe)
# CO2 - agriculture - peat decay - air
Exiobase_TIV_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_agriculture_peatdecay_domestic)
Exiobase_TIV_europe_breakdown_co2_agriculture_peatdecay_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_agriculture_peatdecay_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_agriculture_peatdecay_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_agriculture_peatdecay_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_agriculture_peatdecay_europe,TIV_CO2_agriculture_peatdecay_not_europe)
# CO2 - waste - biogenic - air
Exiobase_TIV_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_biogenic_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_biogenic_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_waste_biogenic_domestic)
Exiobase_TIV_europe_breakdown_co2_waste_biogenic_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_biogenic_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_waste_biogenic_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_waste_biogenic_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_waste_biogenic_europe,TIV_CO2_waste_biogenic_not_europe)
# CO2 - waste - fossil - air
Exiobase_TIV_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_co2_waste_fossil_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CO2_waste_fossil_domestic)
Exiobase_TIV_europe_breakdown_co2_waste_fossil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_co2_waste_fossil_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CO2_waste_fossil_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CO2_waste_fossil_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CO2_waste_fossil_europe,TIV_CO2_waste_fossil_not_europe)
# CH4 - combustion -air
Exiobase_TIV_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_combustion_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_combustion_domestic)
Exiobase_TIV_europe_breakdown_ch4_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_combustion_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_combustion_europe,TIV_CH4_combustion_not_europe)
# CH4 - noncombustion - gas - air
Exiobase_TIV_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_gas_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_gas_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_gas_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_gas_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_gas_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_gas_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_gas_europe,TIV_CH4_noncombustion_gas_not_europe)
# CH4 - noncombustion - oil - air
Exiobase_TIV_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_oil_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_oil_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oil_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oil_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_oil_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_oil_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_oil_europe,TIV_CH4_noncombustion_oil_not_europe)
# CH4 - noncombustion - anthracite - air
Exiobase_TIV_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_anthracite_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_anthracite_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_anthracite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_anthracite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_anthracite_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_anthracite_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_anthracite_europe,TIV_CH4_noncombustion_anthracite_not_europe)
# CH4 - noncombustion - bituminouscoal - air
Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_bituminouscoal_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_bituminouscoal_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_bituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_bituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_bituminouscoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_bituminouscoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_bituminouscoal_europe,TIV_CH4_noncombustion_bituminouscoal_not_europe)
# CH4 - noncombustion - cokingcoal - air
Exiobase_TIV_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_cokingcoal_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_cokingcoal_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_cokingcoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_cokingcoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_cokingcoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_cokingcoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_cokingcoal_europe,TIV_CH4_noncombustion_cokingcoal_not_europe)
# CH4 - noncombustion - lignite - air
Exiobase_TIV_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_lignite_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_lignite_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_lignite_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_lignite_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_lignite_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_lignite_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_lignite_europe,TIV_CH4_noncombustion_lignite_not_europe)
# CH4 - noncombustion - subbituminouscoal - air
Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_subbituminouscoal_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_subbituminouscoal_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_subbituminouscoal_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_subbituminouscoal_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_subbituminouscoal_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_subbituminouscoal_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_subbituminouscoal_europe,TIV_CH4_noncombustion_subbituminouscoal_not_europe)
# CH4 - noncombustion - oilrefinery - air
Exiobase_TIV_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_noncombustion_oilrefinery_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_noncombustion_oilrefinery_domestic)
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oilrefinery_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_noncombustion_oilrefinery_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_noncombustion_oilrefinery_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_noncombustion_oilrefinery_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_noncombustion_oilrefinery_europe,TIV_CH4_noncombustion_oilrefinery_not_europe)
# CH4 - agriculture - air
Exiobase_TIV_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_agriculture_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_agriculture_domestic)
Exiobase_TIV_europe_breakdown_ch4_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_agriculture_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_agriculture_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_agriculture_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_agriculture_europe,TIV_CH4_agriculture_not_europe)
# CH4 - waste - air
Exiobase_TIV_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_ch4_CO2eq_waste_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_waste_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_CH4_waste_domestic)
Exiobase_TIV_europe_breakdown_ch4_waste_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_ch4_CO2eq_waste_air_", year_current, "_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_CH4_waste_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_CH4_waste_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_CH4_waste_europe,TIV_CH4_waste_not_europe)
# N2O - combustion - air
Exiobase_TIV_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_N2O_combustion_domestic)
Exiobase_TIV_europe_breakdown_n2o_combustion_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_combustion_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_N2O_combustion_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_N2O_combustion_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_N2O_combustion_europe,TIV_N2O_combustion_not_europe)
# N2O - agriculture - air
Exiobase_TIV_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_N2O_agriculture_domestic)
Exiobase_TIV_europe_breakdown_n2o_agriculture_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_n2o_CO2eq_agriculture_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_N2O_agriculture_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_N2O_agriculture_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_N2O_agriculture_europe,TIV_N2O_agriculture_not_europe)
# SF6 - air
Exiobase_TIV_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_sf6_CO2eq_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_SF6_domestic)
Exiobase_TIV_europe_breakdown_sf6_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_sf6_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_SF6_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_SF6_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_SF6_europe,TIV_SF6_not_europe)
# HFC - air
Exiobase_TIV_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_hfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_HFC_domestic)
Exiobase_TIV_europe_breakdown_hfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_hfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_HFC_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_HFC_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_HFC_europe,TIV_HFC_not_europe)
# PFC - air
Exiobase_TIV_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_pfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_PFC_domestic)
Exiobase_TIV_europe_breakdown_pfc_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_pfc_CO2eq_air_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_PFC_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_PFC_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_PFC_europe,TIV_PFC_not_europe)
# Energy use
Exiobase_TIV_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_energy_carrier_use_",year_current,"_ixi.csv"))[,-1]
Exiobase_TIV_country_breakdown_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_energy_carrier_use_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
gather(country, TIV_energy_domestic)
Exiobase_TIV_europe_breakdown_energy_use_bp = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_ixi/TIV_country_breakdown_energy_carrier_use_",year_current,"_ixi.csv"))[,-1] %>%
row_to_names(row_number = 1) %>%
mutate_at(vars(AT:ZA), funs(as.numeric(as.character(.)))) %>%
mutate(TIV_energy_europe = AT +
BE + BG + CY + CZ +
DE + DK + EE +
ES + FI + FR +
GB + GR + HR +
HU + IE + IT +
LT + LU + LV +
MT + NL + PL +
PT + TR + SK +
SI + SE + RO +
NO,
TIV_energy_not_europe = AU +
BR + CA + CH + CN +
ID + IN + JP + KR +
MX + RU + TW + US +
WA + WE + WF + WL + WM +
ZA) %>%
select(TIV_energy_europe,TIV_energy_not_europe)
# join with labels
TIV_with_labels = cbind(Exiobase_T_labels,
t(Exiobase_TIV_co2_combustion_bp),
t(Exiobase_TIV_co2_noncombustion_cement_bp),
t(Exiobase_TIV_co2_noncombustion_lime_bp),
t(Exiobase_TIV_co2_agriculture_peatdecay_bp),
t(Exiobase_TIV_co2_waste_biogenic_bp),
t(Exiobase_TIV_co2_waste_fossil_bp),
t(Exiobase_TIV_ch4_combustion_bp),
t(Exiobase_TIV_ch4_noncombustion_gas_bp),
t(Exiobase_TIV_ch4_noncombustion_oil_bp),
t(Exiobase_TIV_ch4_noncombustion_anthracite_bp),
t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp),
t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp),
t(Exiobase_TIV_ch4_noncombustion_lignite_bp),
t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp),
t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp),
t(Exiobase_TIV_ch4_agriculture_bp),
t(Exiobase_TIV_ch4_waste_bp),
t(Exiobase_TIV_n2o_combustion_bp),
t(Exiobase_TIV_n2o_agriculture_bp),
t(Exiobase_TIV_sf6_bp),
t(Exiobase_TIV_hfc_bp),
t(Exiobase_TIV_pfc_bp),
t(Exiobase_TIV_energy_use_bp)) %>%
rename(TIV_CO2_combustion = "t(Exiobase_TIV_co2_combustion_bp)",
TIV_CO2_noncombustion_cement = "t(Exiobase_TIV_co2_noncombustion_cement_bp)",
TIV_CO2_noncombustion_lime = "t(Exiobase_TIV_co2_noncombustion_lime_bp)",
TIV_CO2_agriculture_peatdecay = "t(Exiobase_TIV_co2_agriculture_peatdecay_bp)",
TIV_CO2_waste_biogenic = "t(Exiobase_TIV_co2_waste_biogenic_bp)",
TIV_CO2_waste_fossil = "t(Exiobase_TIV_co2_waste_fossil_bp)",
TIV_CH4_combustion = "t(Exiobase_TIV_ch4_combustion_bp)",
TIV_CH4_noncombustion_gas = "t(Exiobase_TIV_ch4_noncombustion_gas_bp)",
TIV_CH4_noncombustion_oil = "t(Exiobase_TIV_ch4_noncombustion_oil_bp)",
TIV_CH4_noncombustion_anthracite = "t(Exiobase_TIV_ch4_noncombustion_anthracite_bp)",
TIV_CH4_noncombustion_bituminouscoal = "t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp)",
TIV_CH4_noncombustion_cokingcoal = "t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp)",
TIV_CH4_noncombustion_lignite = "t(Exiobase_TIV_ch4_noncombustion_lignite_bp)",
TIV_CH4_noncombustion_subbituminouscoal = "t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp)",
TIV_CH4_noncombustion_oilrefinery = "t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp)",
TIV_CH4_agriculture = "t(Exiobase_TIV_ch4_agriculture_bp)",
TIV_CH4_waste = "t(Exiobase_TIV_ch4_waste_bp)",
TIV_N2O_combustion = "t(Exiobase_TIV_n2o_combustion_bp)",
TIV_N2O_agriculture = "t(Exiobase_TIV_n2o_agriculture_bp)",
TIV_SF6 = "t(Exiobase_TIV_sf6_bp)",
TIV_HFC = "t(Exiobase_TIV_hfc_bp)",
TIV_PFC = "t(Exiobase_TIV_pfc_bp)",
TIV_energy = "t(Exiobase_TIV_energy_use_bp)") %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
year = as.character(rep(year_current,nrow(TIV_with_labels)))
look = cbind(year,TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2)
TIVs = rbind(TIVs,look)
# domestic TIVs
domestic_TIV_with_labels = cbind(Exiobase_T_labels,
Exiobase_TIV_country_breakdown_co2_combustion_bp,
Exiobase_TIV_country_breakdown_co2_noncombustion_cement_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_noncombustion_lime_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_agriculture_peatdecay_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_waste_biogenic_bp %>% select(-country),
Exiobase_TIV_country_breakdown_co2_waste_fossil_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_combustion_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_gas_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_oil_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_anthracite_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_bituminouscoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_cokingcoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_lignite_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_subbituminouscoal_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_noncombustion_oilrefinery_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_agriculture_bp %>% select(-country),
Exiobase_TIV_country_breakdown_ch4_waste_bp %>% select(-country),
Exiobase_TIV_country_breakdown_n2o_combustion_bp %>% select(-country),
Exiobase_TIV_country_breakdown_n2o_agriculture_bp %>% select(-country),
Exiobase_TIV_country_breakdown_sf6_bp %>% select(-country),
Exiobase_TIV_country_breakdown_hfc_bp %>% select(-country),
Exiobase_TIV_country_breakdown_pfc_bp %>% select(-country),
Exiobase_TIV_country_breakdown_energy_use_bp %>% select(-country)) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"),
country = dplyr::recode(country, "GR" = "EL", "GB" = "UK"))
year_domestic = as.character(rep(year_current,nrow(domestic_TIV_with_labels)))
look_domestic = cbind(year_domestic,domestic_TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2, geo = country, year = year_domestic) %>%
mutate(TIV_CO2_combustion_domestic = as.numeric(TIV_CO2_combustion_domestic),
TIV_CO2_noncombustion_cement_domestic = as.numeric(TIV_CO2_noncombustion_cement_domestic),
TIV_CO2_noncombustion_lime_domestic = as.numeric(TIV_CO2_noncombustion_lime_domestic),
TIV_CO2_agriculture_peatdecay_domestic = as.numeric(TIV_CO2_agriculture_peatdecay_domestic),
TIV_CO2_waste_biogenic_domestic = as.numeric(TIV_CO2_waste_biogenic_domestic),
TIV_CO2_waste_fossil_domestic = as.numeric(TIV_CO2_waste_fossil_domestic),
TIV_CH4_combustion_domestic = as.numeric(TIV_CH4_combustion_domestic),
TIV_CH4_noncombustion_gas_domestic = as.numeric(TIV_CH4_noncombustion_gas_domestic),
TIV_CH4_noncombustion_oil_domestic = as.numeric(TIV_CH4_noncombustion_oil_domestic),
TIV_CH4_noncombustion_anthracite_domestic = as.numeric(TIV_CH4_noncombustion_anthracite_domestic),
TIV_CH4_noncombustion_bituminouscoal_domestic = as.numeric(TIV_CH4_noncombustion_bituminouscoal_domestic),
TIV_CH4_noncombustion_cokingcoal_domestic = as.numeric(TIV_CH4_noncombustion_cokingcoal_domestic),
TIV_CH4_noncombustion_lignite_domestic = as.numeric(TIV_CH4_noncombustion_lignite_domestic),
TIV_CH4_noncombustion_subbituminouscoal_domestic = as.numeric(TIV_CH4_noncombustion_subbituminouscoal_domestic),
TIV_CH4_noncombustion_oilrefinery_domestic = as.numeric(TIV_CH4_noncombustion_oilrefinery_domestic),
TIV_CH4_agriculture_domestic = as.numeric(TIV_CH4_agriculture_domestic),
TIV_CH4_waste_domestic = as.numeric(TIV_CH4_waste_domestic),
TIV_N2O_combustion_domestic = as.numeric(TIV_N2O_combustion_domestic),
TIV_N2O_agriculture_domestic = as.numeric(TIV_N2O_agriculture_domestic),
TIV_SF6_domestic = as.numeric(TIV_SF6_domestic),
TIV_HFC_domestic = as.numeric(TIV_HFC_domestic),
TIV_PFC_domestic = as.numeric(TIV_PFC_domestic),
TIV_energy_domestic = as.numeric(TIV_energy_domestic))
domestic_TIVs = rbind(domestic_TIVs, look_domestic)
# europe TIVs with labels
europe_TIV_with_labels = cbind(Exiobase_T_labels,
Exiobase_TIV_europe_breakdown_co2_combustion_bp,
Exiobase_TIV_europe_breakdown_co2_noncombustion_cement_bp,
Exiobase_TIV_europe_breakdown_co2_noncombustion_lime_bp,
Exiobase_TIV_europe_breakdown_co2_agriculture_peatdecay_bp,
Exiobase_TIV_europe_breakdown_co2_waste_biogenic_bp,
Exiobase_TIV_europe_breakdown_co2_waste_fossil_bp,
Exiobase_TIV_europe_breakdown_ch4_combustion_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_gas_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oil_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_anthracite_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_bituminouscoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_cokingcoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_lignite_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_subbituminouscoal_bp,
Exiobase_TIV_europe_breakdown_ch4_noncombustion_oilrefinery_bp,
Exiobase_TIV_europe_breakdown_ch4_agriculture_bp,
Exiobase_TIV_europe_breakdown_ch4_waste_bp,
Exiobase_TIV_europe_breakdown_n2o_combustion_bp,
Exiobase_TIV_europe_breakdown_n2o_agriculture_bp,
Exiobase_TIV_europe_breakdown_sf6_bp,
Exiobase_TIV_europe_breakdown_hfc_bp,
Exiobase_TIV_europe_breakdown_pfc_bp,
Exiobase_TIV_europe_breakdown_energy_use_bp) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
year_europe = as.character(rep(year_current,nrow(europe_TIV_with_labels)))
look_europe = cbind(year_europe,europe_TIV_with_labels) %>%
rename(country_of_production = V1, sector = V2, year = year_europe) %>%
mutate(TIV_CO2_combustion_europe = as.numeric(TIV_CO2_combustion_europe),
TIV_CO2_noncombustion_cement_europe = as.numeric(TIV_CO2_noncombustion_cement_europe),
TIV_CO2_noncombustion_lime_europe = as.numeric(TIV_CO2_noncombustion_lime_europe),
TIV_CO2_agriculture_peatdecay_europe = as.numeric(TIV_CO2_agriculture_peatdecay_europe),
TIV_CO2_waste_biogenic_europe = as.numeric(TIV_CO2_waste_biogenic_europe),
TIV_CO2_waste_fossil_europe = as.numeric(TIV_CO2_waste_fossil_europe),
TIV_CH4_combustion_europe = as.numeric(TIV_CH4_combustion_europe),
TIV_CH4_noncombustion_gas_europe = as.numeric(TIV_CH4_noncombustion_gas_europe),
TIV_CH4_noncombustion_oil_europe = as.numeric(TIV_CH4_noncombustion_oil_europe),
TIV_CH4_noncombustion_anthracite_europe = as.numeric(TIV_CH4_noncombustion_anthracite_europe),
TIV_CH4_noncombustion_bituminouscoal_europe = as.numeric(TIV_CH4_noncombustion_bituminouscoal_europe),
TIV_CH4_noncombustion_cokingcoal_europe = as.numeric(TIV_CH4_noncombustion_cokingcoal_europe),
TIV_CH4_noncombustion_lignite_europe = as.numeric(TIV_CH4_noncombustion_lignite_europe),
TIV_CH4_noncombustion_subbituminouscoal_europe = as.numeric(TIV_CH4_noncombustion_subbituminouscoal_europe),
TIV_CH4_noncombustion_oilrefinery_europe = as.numeric(TIV_CH4_noncombustion_oilrefinery_europe),
TIV_CH4_agriculture_europe = as.numeric(TIV_CH4_agriculture_europe),
TIV_CH4_waste_europe = as.numeric(TIV_CH4_waste_europe),
TIV_N2O_combustion_europe = as.numeric(TIV_N2O_combustion_europe),
TIV_N2O_agriculture_europe = as.numeric(TIV_N2O_agriculture_europe),
TIV_SF6_europe = as.numeric(TIV_SF6_europe),
TIV_HFC_europe = as.numeric(TIV_HFC_europe),
TIV_PFC_europe = as.numeric(TIV_PFC_europe),
TIV_energy_europe = as.numeric(TIV_energy_europe))
europe_TIVs = rbind(europe_TIVs, look_europe)
# total national footprints
# FD labels
Exiobase_FD_labels = as.data.frame(t(read.csv(paste0(data_dir_exiobase, "/Exiobase_FD_labels_ixi.csv")))[-1,-3]) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
national_CO2_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_co2_combustion_bp)
national_CO2_noncombustion_cement_footprints = Exiobase_FD * t(Exiobase_TIV_co2_noncombustion_cement_bp)
national_CO2_noncombustion_lime_footprints = Exiobase_FD * t(Exiobase_TIV_co2_noncombustion_lime_bp)
national_CO2_agriculture_peatdecay_footprints = Exiobase_FD * t(Exiobase_TIV_co2_agriculture_peatdecay_bp)
national_CO2_waste_biogenic_footprints = Exiobase_FD * t(Exiobase_TIV_co2_waste_biogenic_bp)
national_CO2_waste_fossil_footprints = Exiobase_FD * t(Exiobase_TIV_co2_waste_fossil_bp)
national_CH4_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_combustion_bp)
national_CH4_noncombustion_gas_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_gas_bp)
national_CH4_noncombustion_oil_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_oil_bp)
national_CH4_noncombustion_anthracite_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_anthracite_bp)
national_CH4_noncombustion_bituminouscoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_bituminouscoal_bp)
national_CH4_noncombustion_cokingcoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_cokingcoal_bp)
national_CH4_noncombustion_lignite_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_lignite_bp)
national_CH4_noncombustion_subbituminouscoal_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_subbituminouscoal_bp)
national_CH4_noncombustion_oilrefinery_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_noncombustion_oilrefinery_bp)
national_CH4_agriculture_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_agriculture_bp)
national_CH4_waste_footprints = Exiobase_FD * t(Exiobase_TIV_ch4_waste_bp)
national_N2O_combustion_footprints = Exiobase_FD * t(Exiobase_TIV_n2o_combustion_bp)
national_N2O_agriculture_footprints = Exiobase_FD * t(Exiobase_TIV_n2o_agriculture_bp)
national_SF6_footprints = Exiobase_FD * t(Exiobase_TIV_sf6_bp)
national_HFC_footprints = Exiobase_FD * t(Exiobase_TIV_hfc_bp)
national_PFC_footprints = Exiobase_FD * t(Exiobase_TIV_pfc_bp)
national_energy_footprints = Exiobase_FD * t(Exiobase_TIV_energy_use_bp)
# together
national_footprints_w_labels = cbind(Exiobase_FD_labels,
rowSums(t(national_CO2_combustion_footprints)),
rowSums(t(national_CO2_noncombustion_cement_footprints)),
rowSums(t(national_CO2_noncombustion_lime_footprints)),
rowSums(t(national_CO2_agriculture_peatdecay_footprints)),
rowSums(t(national_CO2_waste_biogenic_footprints)),
rowSums(t(national_CO2_waste_fossil_footprints)),
rowSums(t(national_CH4_combustion_footprints)),
rowSums(t(national_CH4_noncombustion_gas_footprints)),
rowSums(t(national_CH4_noncombustion_oil_footprints)),
rowSums(t(national_CH4_noncombustion_anthracite_footprints)),
rowSums(t(national_CH4_noncombustion_bituminouscoal_footprints)),
rowSums(t(national_CH4_noncombustion_cokingcoal_footprints)),
rowSums(t(national_CH4_noncombustion_lignite_footprints)),
rowSums(t(national_CH4_noncombustion_subbituminouscoal_footprints)),
rowSums(t(national_CH4_noncombustion_oilrefinery_footprints)),
rowSums(t(national_CH4_agriculture_footprints)),
rowSums(t(national_CH4_waste_footprints)),
rowSums(t(national_N2O_combustion_footprints)),
rowSums(t(national_N2O_agriculture_footprints)),
rowSums(t(national_SF6_footprints)),
rowSums(t(national_HFC_footprints)),
rowSums(t(national_PFC_footprints)),
rowSums(t(national_energy_footprints))) %>%
mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK"))
year_national_fp = as.character(rep(year_current,nrow(national_footprints_w_labels)))
# direct FD emissions
direct_FD_extensions = read.csv(paste0(data_dir_exiobase, "/IOT_", year_current, "_ixi/satellite/F_hh.csv", sep = ""),row.names=NULL,as.is=TRUE)[3:1115,3:345]
direct_FD_extensions[is.na(direct_FD_extensions)]=0
direct_FD_extensions = mapply(direct_FD_extensions, FUN = as.numeric)
direct_FD_extensions = matrix(data=direct_FD_extensions,ncol=343,nrow=1113)
direct_FD_co2_combustion = direct_FD_extensions[24,]
direct_FD_co2_noncombustion_cement = direct_FD_extensions[93,]
direct_FD_co2_noncombustion_lime = direct_FD_extensions[94,]
direct_FD_co2_agriculture_peatdecay = direct_FD_extensions[428,]
direct_FD_co2_waste_biogenic = direct_FD_extensions[438,]
direct_FD_co2_waste_fossil = direct_FD_extensions[439,]
direct_FD_ch4_combustion = direct_FD_extensions[25,]*28
direct_FD_ch4_noncombustion_gas = direct_FD_extensions[68,]*28
direct_FD_ch4_noncombustion_oil = direct_FD_extensions[69,]*28
direct_FD_ch4_noncombustion_anthracite = direct_FD_extensions[70,]*28
direct_FD_ch4_noncombustion_bituminouscoal = direct_FD_extensions[71,]*28
direct_FD_ch4_noncombustion_cokingcoal = direct_FD_extensions[72,]*28
direct_FD_ch4_noncombustion_lignite = direct_FD_extensions[73,]*28
direct_FD_ch4_noncombustion_subbituminouscoal = direct_FD_extensions[74,]*28
direct_FD_ch4_noncombustion_oilrefinery = direct_FD_extensions[75,]*28
direct_FD_ch4_agriculture = direct_FD_extensions[427,]*28
direct_FD_ch4_waste = direct_FD_extensions[436,]*28
direct_FD_n2o_combustion = direct_FD_extensions[26,]*265
direct_FD_n2o_agriculture = direct_FD_extensions[430,]*265
direct_FD_sf6 = direct_FD_extensions[424,]*23500
direct_FD_hfc = direct_FD_extensions[425,]
direct_FD_pfc = direct_FD_extensions[426,]
direct_FD_energy = direct_FD_extensions[470,]
direct_FD_fp = data.frame(direct_FD_co2_combustion,
direct_FD_co2_noncombustion_cement,
direct_FD_co2_noncombustion_lime,
direct_FD_co2_agriculture_peatdecay,
direct_FD_co2_waste_biogenic,
direct_FD_co2_waste_fossil,
direct_FD_ch4_combustion,
direct_FD_ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_oilrefinery,
direct_FD_ch4_agriculture,
direct_FD_ch4_waste,
direct_FD_n2o-combustion,
direct_FD_n2o_agriculture,
direct_FD_sf6,
direct_FD_hfc,
direct_FD_pfc,
direct_FD_energy)
look_national_fp = as.data.frame(cbind(year_national_fp,
national_footprints_w_labels,
direct_FD_fp)) %>%
rename(year = year_national_fp,
geo = V1,
fd_category = V2,
co2_combustion = "rowSums(t(national_CO2_combustion_footprints))",
co2_noncombustion_cement = "rowSums(t(national_CO2_noncombustion_cement_footprints))",
co2_noncombustion_lime = "rowSums(t(national_CO2_noncombustion_lime_footprints))",
co2_agriculture_peatdecay = "rowSums(t(national_CO2_agriculture_peatdecay_footprints))",
co2_waste_biogenic = "rowSums(t(national_CO2_waste_biogenic_footprints))",
co2_waste_fossil = "rowSums(t(national_CO2_waste_fossil_footprints))",
ch4_combustion = "rowSums(t(national_CH4_combustion_footprints))",
ch4_noncombustion_gas = "rowSums(t(national_CH4_noncombustion_gas_footprints))",
ch4_noncombustion_oil = "rowSums(t(national_CH4_noncombustion_oil_footprints))",
ch4_noncombustion_anthracite = "rowSums(t(national_CH4_noncombustion_anthracite_footprints))",
ch4_noncombustion_bituminouscoal = "rowSums(t(national_CH4_noncombustion_bituminouscoal_footprints))",
ch4_noncombustion_cokingcoal = "rowSums(t(national_CH4_noncombustion_cokingcoal_footprints))",
ch4_noncombustion_lignite = "rowSums(t(national_CH4_noncombustion_lignite_footprints))",
ch4_noncombustion_subbituminouscoal = "rowSums(t(national_CH4_noncombustion_subbituminouscoal_footprints))",
ch4_noncombustion_oilrefinery = "rowSums(t(national_CH4_noncombustion_oilrefinery_footprints))",
ch4_agriculture = "rowSums(t(national_CH4_agriculture_footprints))",
ch4_waste = "rowSums(t(national_CH4_waste_footprints))",
n2o_combustion = "rowSums(t(national_N2O_combustion_footprints))",
n2o_agriculture = "rowSums(t(national_N2O_agriculture_footprints))",
sf6 = "rowSums(t(national_SF6_footprints))",
hfc = "rowSums(t(national_HFC_footprints))",
pfc = "rowSums(t(national_PFC_footprints))",
energy = "rowSums(t(national_energy_footprints))") %>%
select(year,
geo,
fd_category,
co2_combustion,
direct_FD_co2_combustion,
co2_noncombustion_cement,
direct_FD_co2_noncombustion_cement,
co2_noncombustion_lime,
direct_FD_co2_noncombustion_lime,
co2_agriculture_peatdecay,
direct_FD_co2_agriculture_peatdecay,
co2_waste_biogenic,
direct_FD_co2_waste_biogenic,
co2_waste_fossil,
direct_FD_co2_waste_fossil,
ch4_combustion,
direct_FD_ch4_combustion,
ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_gas,
ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_oil,
ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_anthracite,
ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_bituminouscoal,
ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_cokingcoal,
ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_lignite,
ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_subbituminouscoal,
ch4_noncombustion_oilrefinery,
direct_FD_ch4_noncombustion_oilrefinery,
ch4_agriculture,
direct_FD_ch4_agriculture,
ch4_waste,
direct_FD_ch4_waste,
n2o_combustion,
direct_FD_n2o_combustion,
n2o_agriculture,
direct_FD_n2o_agriculture,
sf6,
direct_FD_sf6,
hfc,
direct_FD_hfc,
pfc,
direct_FD_pfc,
energy,
direct_FD_energy)
national_fp = rbind(national_fp, look_national_fp)
}
# option holding HBS exp ratios
mean_expenditure_by_quintile_toggle = mean_expenditure_by_quintile_long_bp %>%
filter(!(quintile %in% c("TOTAL","UNK"))) %>%
group_by(geo,year) %>%
mutate(euro_pps_bp = as.numeric(euro_pps_bp),
mean_exp_shares = euro_pps_bp/sum(euro_pps_bp))
ala = total_fd %>%
left_join(mean_expenditure_by_quintile_toggle, by = c("geo","year","quintile"))
join_ala = mean_expenditure_by_coicop_sector_long_bp %>%
left_join(ala, by = c("geo","quintile","year")) %>%
mutate(year = as.numeric(year),
eurostat_countries_colsums = as.numeric(eurostat_countries_colsums),
pm_bp = as.numeric(pm_bp),
fd_me = pm_bp*((eurostat_countries_colsums*mean_exp_shares)/1000))
Eurostat_countries_hh_fd_mean_TIV = as.data.frame(Eurostat_countries_hh_fd) %>% select(-year)
weighted_mean_TIV_with_labels = cbind(TIVs,Eurostat_countries_hh_fd_mean_TIV) %>%
gather(geo,fd,-country_of_production,-year,-sector,-coicop,-five_sectors,
-TIV_CO2_combustion,-TIV_CO2_noncombustion_cement,-TIV_CO2_noncombustion_lime,
-TIV_CO2_agriculture_peatdecay,-TIV_CO2_waste_biogenic,
-TIV_CO2_waste_fossil,-TIV_CH4_combustion,
-TIV_CH4_noncombustion_gas,-TIV_CH4_noncombustion_oil,
-TIV_CH4_noncombustion_anthracite,-TIV_CH4_noncombustion_bituminouscoal,
-TIV_CH4_noncombustion_cokingcoal,-TIV_CH4_noncombustion_lignite,
-TIV_CH4_noncombustion_subbituminouscoal,-TIV_CH4_noncombustion_oilrefinery,
-TIV_CH4_agriculture,-TIV_CH4_waste,
-TIV_N2O_combustion,-TIV_N2O_agriculture,-TIV_SF6,-TIV_HFC,-TIV_PFC,
-TIV_energy) %>%
group_by(geo,year,coicop) %>%
mutate(fd = as.numeric(fd)) %>%
mutate(TIV_CO2_combustion_weighted_average = sum((fd/sum(fd))*TIV_CO2_combustion),
TIV_CO2_noncombustion_cement_weighted_average = sum((fd/sum(fd))*TIV_CO2_noncombustion_cement),
TIV_CO2_noncombustion_lime_weighted_average = sum((fd/sum(fd))*TIV_CO2_noncombustion_lime),
TIV_CO2_agriculture_peatdecay_weighted_average = sum((fd/sum(fd))*TIV_CO2_agriculture_peatdecay),
TIV_CO2_waste_biogenic_weighted_average = sum((fd/sum(fd))*TIV_CO2_waste_biogenic),
TIV_CO2_waste_fossil_weighted_average = sum((fd/sum(fd))*TIV_CO2_waste_fossil),
TIV_CH4_combustion_weighted_average = sum((fd/sum(fd))*TIV_CH4_combustion),
TIV_CH4_noncombustion_gas_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_gas),
TIV_CH4_noncombustion_oil_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_oil),
TIV_CH4_noncombustion_anthracite_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_anthracite),
TIV_CH4_noncombustion_bituminouscoal_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_bituminouscoal),
TIV_CH4_noncombustion_cokingcoal_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_cokingcoal),
TIV_CH4_noncombustion_lignite_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_lignite),
TIV_CH4_noncombustion_subbituminouscoal_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_subbituminouscoal),
TIV_CH4_noncombustion_oilrefinery_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_oilrefinery),
TIV_CH4_agriculture_weighted_average = sum((fd/sum(fd))*TIV_CH4_agriculture),
TIV_CH4_waste_weighted_average = sum((fd/sum(fd))*TIV_CH4_waste),
TIV_N2O_combustion_weighted_average = sum((fd/sum(fd))*TIV_N2O_combustion),
TIV_N2O_agriculture_weighted_average = sum((fd/sum(fd))*TIV_N2O_agriculture),
TIV_SF6_weighted_average = sum((fd/sum(fd))*TIV_SF6),
TIV_HFC_weighted_average = sum((fd/sum(fd))*TIV_HFC),
TIV_PFC_weighted_average = sum((fd/sum(fd))*TIV_PFC),
TIV_energy_weighted_average = sum((fd/sum(fd))*TIV_energy)) %>%
select(year,geo,coicop,TIV_CO2_combustion_weighted_average,
TIV_CO2_noncombustion_cement_weighted_average,
TIV_CO2_noncombustion_lime_weighted_average,
TIV_CO2_agriculture_peatdecay_weighted_average,
TIV_CO2_waste_biogenic_weighted_average,
TIV_CO2_waste_fossil_weighted_average,
TIV_CH4_combustion_weighted_average,
TIV_CH4_noncombustion_gas_weighted_average,
TIV_CH4_noncombustion_oil_weighted_average,
TIV_CH4_noncombustion_anthracite_weighted_average,
TIV_CH4_noncombustion_bituminouscoal_weighted_average,
TIV_CH4_noncombustion_cokingcoal_weighted_average,
TIV_CH4_noncombustion_lignite_weighted_average,
TIV_CH4_noncombustion_subbituminouscoal_weighted_average,
TIV_CH4_noncombustion_oilrefinery_weighted_average,
TIV_CH4_agriculture_weighted_average,
TIV_CH4_waste_weighted_average,
TIV_N2O_combustion_weighted_average,
TIV_N2O_agriculture_weighted_average,
TIV_SF6_weighted_average,
TIV_HFC_weighted_average,
TIV_PFC_weighted_average,
TIV_energy_weighted_average) %>%
unique()
weighted_mean_europe_TIV_with_labels = cbind(europe_TIVs, Eurostat_countries_hh_fd_mean_TIV) %>%
gather(geo,fd,-country_of_production,-year,-sector,-coicop,-five_sectors,
-TIV_CO2_combustion_europe,-TIV_CO2_combustion_not_europe,
-TIV_CO2_noncombustion_cement_europe,-TIV_CO2_noncombustion_cement_not_europe,
-TIV_CO2_noncombustion_lime_europe, -TIV_CO2_noncombustion_lime_not_europe,
-TIV_CO2_agriculture_peatdecay_europe,-TIV_CO2_agriculture_peatdecay_not_europe,
-TIV_CO2_waste_biogenic_europe, -TIV_CO2_waste_biogenic_not_europe,
-TIV_CO2_waste_fossil_europe, -TIV_CO2_waste_fossil_not_europe,
-TIV_CH4_combustion_europe,-TIV_CH4_combustion_not_europe,
-TIV_CH4_noncombustion_gas_europe, -TIV_CH4_noncombustion_gas_not_europe,
-TIV_CH4_noncombustion_oil_europe,-TIV_CH4_noncombustion_oil_not_europe,
-TIV_CH4_noncombustion_anthracite_europe,-TIV_CH4_noncombustion_anthracite_not_europe,
-TIV_CH4_noncombustion_bituminouscoal_europe,-TIV_CH4_noncombustion_bituminouscoal_not_europe,
-TIV_CH4_noncombustion_cokingcoal_europe,-TIV_CH4_noncombustion_cokingcoal_not_europe,
-TIV_CH4_noncombustion_lignite_europe,-TIV_CH4_noncombustion_lignite_not_europe,
-TIV_CH4_noncombustion_subbituminouscoal_europe,-TIV_CH4_noncombustion_subbituminouscoal_not_europe,
-TIV_CH4_noncombustion_oilrefinery_europe, -TIV_CH4_noncombustion_oilrefinery_not_europe,
-TIV_CH4_agriculture_europe, -TIV_CH4_agriculture_not_europe,
-TIV_CH4_waste_europe,-TIV_CH4_waste_not_europe,
-TIV_N2O_combustion_europe,-TIV_N2O_combustion_not_europe,
-TIV_N2O_agriculture_europe,-TIV_N2O_agriculture_not_europe,
-TIV_SF6_europe,-TIV_SF6_not_europe,
-TIV_HFC_europe,-TIV_HFC_not_europe,-TIV_PFC_europe,-TIV_PFC_not_europe,
-TIV_energy_europe,-TIV_energy_not_europe) %>%
group_by(geo,year,coicop) %>%
mutate(fd = as.numeric(fd)) %>%
mutate(TIV_CO2_combustion_europe_weighted_average = sum((fd/sum(fd))*TIV_CO2_combustion_europe),
TIV_CO2_noncombustion_cement_europe_weighted_average = sum((fd/sum(fd))*TIV_CO2_noncombustion_cement_europe),
TIV_CO2_noncombustion_lime_europe_weighted_average = sum((fd/sum(fd))*TIV_CO2_noncombustion_lime_europe),
TIV_CO2_agriculture_peatdecay_europe_weighted_average = sum((fd/sum(fd))*TIV_CO2_agriculture_peatdecay_europe),
TIV_CO2_waste_biogenic_europe_weighted_average = sum((fd/sum(fd))*TIV_CO2_waste_biogenic_europe),
TIV_CO2_waste_fossil_europe_weighted_average = sum((fd/sum(fd))*TIV_CO2_waste_fossil_europe),
TIV_CH4_combustion_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_combustion_europe),
TIV_CH4_noncombustion_gas_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_gas_europe),
TIV_CH4_noncombustion_oil_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_oil_europe),
TIV_CH4_noncombustion_anthracite_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_anthracite_europe),
TIV_CH4_noncombustion_bituminouscoal_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_bituminouscoal_europe),
TIV_CH4_noncombustion_cokingcoal_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_cokingcoal_europe),
TIV_CH4_noncombustion_lignite_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_lignite_europe),
TIV_CH4_noncombustion_subbituminouscoal_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_subbituminouscoal_europe),
TIV_CH4_noncombustion_oilrefinery_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_oilrefinery_europe),
TIV_CH4_agriculture_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_agriculture_europe),
TIV_CH4_waste_europe_weighted_average = sum((fd/sum(fd))*TIV_CH4_waste_europe),
TIV_N2O_combustion_europe_weighted_average = sum((fd/sum(fd))*TIV_N2O_combustion_europe),
TIV_N2O_agriculture_europe_weighted_average = sum((fd/sum(fd))*TIV_N2O_agriculture_europe),
TIV_SF6_europe_weighted_average = sum((fd/sum(fd))*TIV_SF6_europe),
TIV_HFC_europe_weighted_average = sum((fd/sum(fd))*TIV_HFC_europe),
TIV_PFC_europe_weighted_average = sum((fd/sum(fd))*TIV_PFC_europe),
TIV_energy_europe_weighted_average = sum((fd/sum(fd))*TIV_energy_europe)) %>%
select(year,geo,coicop,TIV_CO2_combustion_europe_weighted_average,
TIV_CO2_noncombustion_cement_europe_weighted_average,
TIV_CO2_noncombustion_lime_europe_weighted_average,
TIV_CO2_agriculture_peatdecay_europe_weighted_average,
TIV_CO2_waste_biogenic_europe_weighted_average,
TIV_CO2_waste_fossil_europe_weighted_average,
TIV_CH4_combustion_europe_weighted_average,
TIV_CH4_noncombustion_gas_europe_weighted_average,
TIV_CH4_noncombustion_oil_europe_weighted_average,
TIV_CH4_noncombustion_anthracite_europe_weighted_average,
TIV_CH4_noncombustion_bituminouscoal_europe_weighted_average,
TIV_CH4_noncombustion_cokingcoal_europe_weighted_average,
TIV_CH4_noncombustion_lignite_europe_weighted_average,
TIV_CH4_noncombustion_subbituminouscoal_europe_weighted_average,
TIV_CH4_noncombustion_oilrefinery_europe_weighted_average,
TIV_CH4_agriculture_europe_weighted_average,
TIV_CH4_waste_europe_weighted_average,
TIV_N2O_combustion_europe_weighted_average,
TIV_N2O_agriculture_europe_weighted_average,
TIV_SF6_europe_weighted_average,
TIV_HFC_europe_weighted_average,
TIV_PFC_europe_weighted_average,
TIV_energy_europe_weighted_average) %>%
unique()
domestic_TIVs_Eurostat = domestic_TIVs %>%
filter(geo %in% c("AT",
"BG",
"BE",
"CY",
"CZ",
"DE",
"DK",
"EE",
"EL",
"ES",
"FI",
"FR",
"HR",
"HU",
"IE",
"IT",
"LT",
"LU",
"LV",
"MT",
"NL",
"NO",
"PL",
"PT",
"RO",
"SE",
"SI",
"SK",
"TR",
"UK"))
Eurostat_countries_hh_fd_long = as.data.frame(Eurostat_countries_hh_fd) %>%
gather(geo,fd,-year) %>%
arrange(year, match(geo, c("AT",
"BE",
"BG",
"CY",
"CZ",
"DE",
"DK",
"EE",
"ES",
"FI",
"FR",
"UK",
"EL",
"HR",
"HU",
"IE",
"IT",
"LT",
"LU",
"LV",
"MT",
"NL",
"NO",
"PL",
"PT",
"RO",
"SE",
"SI",
"SK",
"TR"))) %>% select(-year,-geo)
weighted_mean_domestic_TIV_with_labels = cbind(domestic_TIVs_Eurostat,Eurostat_countries_hh_fd_long) %>%
group_by(geo,year,coicop) %>%
mutate(fd = as.numeric(fd)) %>%
mutate(TIV_CO2_combustion_domestic_weighted_average = sum((fd/sum(fd))*TIV_CO2_combustion_domestic),
TIV_CO2_noncombustion_cement_domestic_weighted_average = sum((fd/sum(fd))*TIV_CO2_noncombustion_cement_domestic),
TIV_CO2_noncombustion_lime_domestic_weighted_average = sum((fd/sum(fd))*TIV_CO2_noncombustion_lime_domestic),
TIV_CO2_agriculture_peatdecay_domestic_weighted_average = sum((fd/sum(fd))*TIV_CO2_agriculture_peatdecay_domestic),
TIV_CO2_waste_biogenic_domestic_weighted_average = sum((fd/sum(fd))*TIV_CO2_waste_biogenic_domestic),
TIV_CO2_waste_fossil_domestic_weighted_average = sum((fd/sum(fd))*TIV_CO2_waste_fossil_domestic),
TIV_CH4_combustion_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_combustion_domestic),
TIV_CH4_noncombustion_gas_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_gas_domestic),
TIV_CH4_noncombustion_oil_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_oil_domestic),
TIV_CH4_noncombustion_anthracite_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_anthracite_domestic),
TIV_CH4_noncombustion_bituminouscoal_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_bituminouscoal_domestic),
TIV_CH4_noncombustion_cokingcoal_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_cokingcoal_domestic),
TIV_CH4_noncombustion_lignite_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_lignite_domestic),
TIV_CH4_noncombustion_subbituminouscoal_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_subbituminouscoal_domestic),
TIV_CH4_noncombustion_oilrefinery_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_noncombustion_oilrefinery_domestic),
TIV_CH4_agriculture_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_agriculture_domestic),
TIV_CH4_waste_domestic_weighted_average = sum((fd/sum(fd))*TIV_CH4_waste_domestic),
TIV_N2O_combustion_domestic_weighted_average = sum((fd/sum(fd))*TIV_N2O_combustion_domestic),
TIV_N2O_agriculture_domestic_weighted_average = sum((fd/sum(fd))*TIV_N2O_agriculture_domestic),
TIV_SF6_domestic_weighted_average = sum((fd/sum(fd))*TIV_SF6_domestic),
TIV_HFC_domestic_weighted_average = sum((fd/sum(fd))*TIV_HFC_domestic),
TIV_PFC_domestic_weighted_average = sum((fd/sum(fd))*TIV_PFC_domestic),
TIV_energy_domestic_weighted_average = sum((fd/sum(fd))*TIV_energy_domestic)) %>%
select(year,geo,coicop,TIV_CO2_combustion_domestic_weighted_average,
TIV_CO2_noncombustion_cement_domestic_weighted_average,
TIV_CO2_noncombustion_lime_domestic_weighted_average,
TIV_CO2_agriculture_peatdecay_domestic_weighted_average,
TIV_CO2_waste_biogenic_domestic_weighted_average,
TIV_CO2_waste_fossil_domestic_weighted_average,
TIV_CH4_combustion_domestic_weighted_average,
TIV_CH4_noncombustion_gas_domestic_weighted_average,
TIV_CH4_noncombustion_oil_domestic_weighted_average,
TIV_CH4_noncombustion_anthracite_domestic_weighted_average,
TIV_CH4_noncombustion_bituminouscoal_domestic_weighted_average,
TIV_CH4_noncombustion_cokingcoal_domestic_weighted_average,
TIV_CH4_noncombustion_lignite_domestic_weighted_average,
TIV_CH4_noncombustion_subbituminouscoal_domestic_weighted_average,
TIV_CH4_noncombustion_oilrefinery_domestic_weighted_average,
TIV_CH4_agriculture_domestic_weighted_average,
TIV_CH4_waste_domestic_weighted_average,
TIV_N2O_combustion_domestic_weighted_average,
TIV_N2O_agriculture_domestic_weighted_average,
TIV_SF6_domestic_weighted_average,
TIV_HFC_domestic_weighted_average,
TIV_PFC_domestic_weighted_average,
TIV_energy_domestic_weighted_average) %>%
unique()
ok = join_ala %>%
mutate(year = as.character(year)) %>%
left_join(weighted_mean_TIV_with_labels, by = c("geo","year","coicop")) %>%
left_join(weighted_mean_europe_TIV_with_labels, by = c("geo","year","coicop")) %>%
left_join(weighted_mean_domestic_TIV_with_labels, by = c("geo", "year", "coicop")) %>%
mutate(co2_kg = fd_me*(TIV_CO2_combustion_weighted_average + TIV_CO2_noncombustion_cement_weighted_average +
TIV_CO2_noncombustion_lime_weighted_average + TIV_CO2_agriculture_peatdecay_weighted_average +
TIV_CO2_waste_biogenic_weighted_average + TIV_CO2_waste_fossil_weighted_average),
co2_domestic_kg = fd_me*(TIV_CO2_combustion_domestic_weighted_average + TIV_CO2_noncombustion_cement_domestic_weighted_average +
TIV_CO2_noncombustion_lime_domestic_weighted_average + TIV_CO2_agriculture_peatdecay_domestic_weighted_average +
TIV_CO2_waste_biogenic_domestic_weighted_average + TIV_CO2_waste_fossil_domestic_weighted_average),
co2_europe_kg = fd_me*((TIV_CO2_combustion_europe_weighted_average + TIV_CO2_noncombustion_cement_europe_weighted_average +
TIV_CO2_noncombustion_lime_europe_weighted_average + TIV_CO2_agriculture_peatdecay_europe_weighted_average +
TIV_CO2_waste_biogenic_europe_weighted_average + TIV_CO2_waste_fossil_europe_weighted_average) - (TIV_CO2_combustion_domestic_weighted_average + TIV_CO2_noncombustion_cement_domestic_weighted_average +
TIV_CO2_noncombustion_lime_domestic_weighted_average + TIV_CO2_agriculture_peatdecay_domestic_weighted_average +
TIV_CO2_waste_biogenic_domestic_weighted_average + TIV_CO2_waste_fossil_domestic_weighted_average)),
co2eq_kg = fd_me*(TIV_CO2_combustion_weighted_average +
TIV_CO2_noncombustion_cement_weighted_average +
TIV_CO2_noncombustion_lime_weighted_average + TIV_CO2_agriculture_peatdecay_weighted_average +
TIV_CO2_waste_biogenic_weighted_average + TIV_CO2_waste_fossil_weighted_average +
TIV_CH4_combustion_weighted_average +
TIV_CH4_noncombustion_gas_weighted_average +
TIV_CH4_noncombustion_oil_weighted_average +
TIV_CH4_noncombustion_anthracite_weighted_average +
TIV_CH4_noncombustion_bituminouscoal_weighted_average +
TIV_CH4_noncombustion_cokingcoal_weighted_average +
TIV_CH4_noncombustion_lignite_weighted_average +
TIV_CH4_noncombustion_subbituminouscoal_weighted_average +
TIV_CH4_noncombustion_oilrefinery_weighted_average +
TIV_CH4_agriculture_weighted_average +
TIV_CH4_waste_weighted_average +
TIV_N2O_combustion_weighted_average +
TIV_N2O_agriculture_weighted_average +
TIV_SF6_weighted_average +
TIV_HFC_weighted_average +
TIV_PFC_weighted_average),
co2eq_domestic_kg = fd_me*(TIV_CO2_combustion_domestic_weighted_average +
TIV_CO2_noncombustion_cement_domestic_weighted_average +
TIV_CO2_noncombustion_lime_domestic_weighted_average + TIV_CO2_agriculture_peatdecay_domestic_weighted_average +
TIV_CO2_waste_biogenic_domestic_weighted_average + TIV_CO2_waste_fossil_domestic_weighted_average +
TIV_CH4_combustion_domestic_weighted_average +
TIV_CH4_noncombustion_gas_domestic_weighted_average +
TIV_CH4_noncombustion_oil_domestic_weighted_average +
TIV_CH4_noncombustion_anthracite_domestic_weighted_average +
TIV_CH4_noncombustion_bituminouscoal_domestic_weighted_average +
TIV_CH4_noncombustion_cokingcoal_domestic_weighted_average +
TIV_CH4_noncombustion_lignite_domestic_weighted_average +
TIV_CH4_noncombustion_subbituminouscoal_domestic_weighted_average +
TIV_CH4_noncombustion_oilrefinery_domestic_weighted_average +
TIV_CH4_agriculture_domestic_weighted_average +
TIV_CH4_waste_domestic_weighted_average +
TIV_N2O_combustion_domestic_weighted_average +
TIV_N2O_agriculture_domestic_weighted_average +
TIV_SF6_domestic_weighted_average +
TIV_HFC_domestic_weighted_average +
TIV_PFC_domestic_weighted_average),
co2eq_europe_kg = fd_me*((TIV_CO2_combustion_europe_weighted_average +
TIV_CO2_noncombustion_cement_europe_weighted_average +
TIV_CO2_noncombustion_lime_europe_weighted_average + TIV_CO2_agriculture_peatdecay_europe_weighted_average +
TIV_CO2_waste_biogenic_europe_weighted_average + TIV_CO2_waste_fossil_europe_weighted_average +
TIV_CH4_combustion_europe_weighted_average +
TIV_CH4_noncombustion_gas_europe_weighted_average +
TIV_CH4_noncombustion_oil_europe_weighted_average +
TIV_CH4_noncombustion_anthracite_europe_weighted_average +
TIV_CH4_noncombustion_bituminouscoal_europe_weighted_average +
TIV_CH4_noncombustion_cokingcoal_europe_weighted_average +
TIV_CH4_noncombustion_lignite_europe_weighted_average +
TIV_CH4_noncombustion_subbituminouscoal_europe_weighted_average +
TIV_CH4_noncombustion_oilrefinery_europe_weighted_average +
TIV_CH4_agriculture_europe_weighted_average +
TIV_CH4_waste_europe_weighted_average +
TIV_N2O_combustion_europe_weighted_average +
TIV_N2O_agriculture_europe_weighted_average +
TIV_SF6_europe_weighted_average +
TIV_HFC_europe_weighted_average +
TIV_PFC_europe_weighted_average) -
(TIV_CO2_combustion_domestic_weighted_average +
TIV_CO2_noncombustion_cement_domestic_weighted_average +
TIV_CO2_noncombustion_lime_domestic_weighted_average + TIV_CO2_agriculture_peatdecay_domestic_weighted_average +
TIV_CO2_waste_biogenic_domestic_weighted_average + TIV_CO2_waste_fossil_domestic_weighted_average +
TIV_CH4_combustion_domestic_weighted_average +
TIV_CH4_noncombustion_gas_domestic_weighted_average +
TIV_CH4_noncombustion_oil_domestic_weighted_average +
TIV_CH4_noncombustion_anthracite_domestic_weighted_average +
TIV_CH4_noncombustion_bituminouscoal_domestic_weighted_average +
TIV_CH4_noncombustion_cokingcoal_domestic_weighted_average +
TIV_CH4_noncombustion_lignite_domestic_weighted_average +
TIV_CH4_noncombustion_subbituminouscoal_domestic_weighted_average +
TIV_CH4_noncombustion_oilrefinery_domestic_weighted_average +
TIV_CH4_agriculture_domestic_weighted_average +
TIV_CH4_waste_domestic_weighted_average +
TIV_N2O_combustion_domestic_weighted_average +
TIV_N2O_agriculture_domestic_weighted_average +
TIV_SF6_domestic_weighted_average +
TIV_HFC_domestic_weighted_average +
TIV_PFC_domestic_weighted_average)),
energy_use_TJ = fd_me*(TIV_energy_weighted_average),
energy_use_domestic_TJ = fd_me*(TIV_energy_domestic_weighted_average),
energy_use_europe_TJ = fd_me*(TIV_energy_europe_weighted_average -
TIV_energy_domestic_weighted_average))
# direct from FD - to go back to results without direct FD fp, do not run this next chunk and do not bind_rows with 'results'
env_ac_pefasu_no_TR = read_csv(paste0(data_dir_income_stratified_footprints, "/env_ac_pefasu_1_Data.csv")) %>%
filter(TIME == 2015) %>%
mutate(geo = dplyr::recode(GEO,"Austria" = "AT",
"Belgium" = "BE",
"Cyprus" = "CY",
"Czechia" = "CZ",
"Denmark" = "DK",
"Estonia" = "EE",
"Finland" = "FI",
"France" = "FR",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Greece" = "EL",
"Hungary" = "HU",
"Ireland" = "IE",
"Italy" = "IT",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Malta" = "MT",
"Netherlands" = "NL",
"Norway" = "NO",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovakia" = "SK",
"Slovenia" = "SI",
"Spain" = "ES",
"Sweden" = "SE",
"United Kingdom" = "UK",
"Bulgaria" = "BG",
"Croatia" = "HR")) %>%
select(NACE_R2,geo,Value) %>%
mutate(Value = parse_number(Value),
Value = as.numeric(Value)) %>%
spread(NACE_R2,Value) %>%
clean_names() %>%
mutate(HH_HEAT = heating_cooling_activities_by_households/total_activities_by_households,
HH_TRA = transport_activities_by_households/total_activities_by_households,
HH_OTH = other_activities_by_households/total_activities_by_households) %>%
select(geo,HH_HEAT,HH_TRA,HH_OTH)
env_ac_pefasu_TR = env_ac_pefasu_no_TR %>%
filter(geo == "BG") %>%
mutate(geo = dplyr::recode(geo,
"BG" = "TR"))
env_ac_pefasu = rbind(env_ac_pefasu_no_TR,env_ac_pefasu_TR) %>%
gather(sector,share_of_total_energy,-geo)
env_ac_ainah_r2 = read_csv(paste0(data_dir_income_stratified_footprints, "/env_ac_ainah_r2_1_Data.csv")) %>%
filter(TIME == 2015) %>%
mutate(geo = dplyr::recode(GEO,"Austria" = "AT",
"Belgium" = "BE",
"Cyprus" = "CY",
"Czechia" = "CZ",
"Denmark" = "DK",
"Estonia" = "EE",
"Finland" = "FI",
"France" = "FR",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Greece" = "EL",
"Hungary" = "HU",
"Ireland" = "IE",
"Italy" = "IT",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Malta" = "MT",
"Netherlands" = "NL",
"Norway" = "NO",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovakia" = "SK",
"Slovenia" = "SI",
"Spain" = "ES",
"Sweden" = "SE",
"Turkey" = "TR",
"United Kingdom" = "UK",
"Bulgaria" = "BG",
"Croatia" = "HR")) %>%
select(NACE_R2,AIRPOL,geo,Value) %>%
mutate(Value = parse_number(Value),
Value = as.numeric(Value)) %>%
spread(NACE_R2,Value) %>%
clean_names() %>%
mutate(HH_HEAT = heating_cooling_activities_by_households/total_activities_by_households,
HH_TRA = transport_activities_by_households/total_activities_by_households,
HH_OTH = other_activities_by_households/total_activities_by_households) %>%
select(geo,airpol,HH_HEAT,HH_TRA,HH_OTH)
env_ac_ainah_r2_co2 = env_ac_ainah_r2 %>%
filter(airpol == "Carbon dioxide") %>%
select(-airpol) %>%
gather(sector,share_of_total_co2,-geo)
env_ac_ainah_r2_ch4 = env_ac_ainah_r2 %>%
filter(airpol == "Methane") %>%
select(-airpol) %>%
gather(sector,share_of_total_ch4,-geo)
env_ac_ainah_r2_n2o = env_ac_ainah_r2 %>%
filter(airpol == "Nitrous oxide") %>%
select(-airpol) %>%
gather(sector,share_of_total_n2o,-geo)
direct_FD_fp_long = national_fp %>%
filter(fd_category == "Final consumption expenditure by households",
geo %in% c("AT",
"BE", "BG", "CY", "CZ",
"DE" , "DK" , "EE" ,
"ES" , "FI" , "FR" ,
"UK", "EL", "HR" ,
"HU" , "IE" , "IT" ,
"LT" , "LU" , "LV" ,
"MT" , "NL" , "PL" ,
"PT" , "TR" , "SK" ,
"SI" , "SE" , "RO" ,
"NO")) %>%
select(year,geo,fd_category,direct_FD_co2_combustion,
direct_FD_co2_noncombustion_cement,
direct_FD_co2_noncombustion_lime,
direct_FD_co2_agriculture_peatdecay,
direct_FD_co2_waste_biogenic,
direct_FD_co2_waste_fossil,
direct_FD_ch4_combustion,
direct_FD_ch4_noncombustion_gas,
direct_FD_ch4_noncombustion_oil,
direct_FD_ch4_noncombustion_anthracite,
direct_FD_ch4_noncombustion_bituminouscoal,
direct_FD_ch4_noncombustion_cokingcoal,
direct_FD_ch4_noncombustion_lignite,
direct_FD_ch4_noncombustion_subbituminouscoal,
direct_FD_ch4_noncombustion_oilrefinery,
direct_FD_ch4_agriculture,
direct_FD_ch4_waste,
direct_FD_n2o_combustion,
direct_FD_n2o_agriculture,
direct_FD_sf6,
direct_FD_hfc,
direct_FD_pfc,
direct_FD_energy) %>%
slice(rep(1:n(), each = 3))
sector = rep(c("HH_HEAT","HH_TRA","HH_OTH"), nrow(direct_FD_fp_long)/3)
direct_FD_fp_long_disagg = cbind(sector,direct_FD_fp_long) %>%
mutate(coicop = ifelse(sector == "HH_TRA","CP072",
ifelse(sector == "HH_HEAT","CP045","CP05")),
five_sectors = ifelse(sector == "HH_TRA", "transport",
ifelse(sector == "HH_HEAT", "shelter", "manufactured goods"))) %>%
left_join(env_ac_ainah_r2_co2, by = c("geo","sector")) %>%
left_join(env_ac_ainah_r2_ch4, by = c("geo","sector")) %>%
left_join(env_ac_ainah_r2_n2o, by = c("geo","sector")) %>%
left_join(env_ac_pefasu, by = c("geo","sector")) %>%
mutate(direct_FD_co2 = (direct_FD_co2_combustion +
direct_FD_co2_noncombustion_cement +
direct_FD_co2_noncombustion_lime +
direct_FD_co2_agriculture_peatdecay +
direct_FD_co2_waste_biogenic +
direct_FD_co2_waste_fossil)*share_of_total_co2,
direct_FD_ch4 = (direct_FD_ch4_combustion +
direct_FD_ch4_noncombustion_gas +
direct_FD_ch4_noncombustion_oil +
direct_FD_ch4_noncombustion_anthracite +
direct_FD_ch4_noncombustion_bituminouscoal +
direct_FD_ch4_noncombustion_cokingcoal +
direct_FD_ch4_noncombustion_lignite +
direct_FD_ch4_noncombustion_subbituminouscoal +
direct_FD_ch4_noncombustion_oilrefinery +
direct_FD_ch4_agriculture +
direct_FD_ch4_waste)*share_of_total_ch4,
direct_FD_n2o = (direct_FD_n2o_combustion +
direct_FD_n2o_agriculture)*share_of_total_n2o,
direct_FD_energy = direct_FD_energy*share_of_total_energy) %>%
left_join(shares, by = c("year","geo","coicop")) %>%
mutate(disaggregated_direct_FD_co2 = direct_FD_co2*share,
disaggregated_direct_FD_ch4 = direct_FD_ch4*share,
disaggregated_direct_FD_n2o = direct_FD_n2o*share,
disaggregated_direct_FD_energy = direct_FD_energy*share) %>%
select(year,geo,sector, quintile,
coicop, five_sectors,
disaggregated_direct_FD_co2,
disaggregated_direct_FD_ch4,
disaggregated_direct_FD_n2o,
disaggregated_direct_FD_energy)
direct_FD_co2 = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_co2) %>%
spread(quintile,disaggregated_direct_FD_co2) %>%
rename(q1_co2 = QUINTILE1,
q2_co2 = QUINTILE2,
q3_co2 = QUINTILE3,
q4_co2 = QUINTILE4,
q5_co2 = QUINTILE5) %>%
mutate(q1_co2_domestic = q1_co2,
q2_co2_domestic = q2_co2,
q3_co2_domestic = q3_co2,
q4_co2_domestic = q4_co2,
q5_co2_domestic = q5_co2,
co2_total = q1_co2+q2_co2+q3_co2+q4_co2+q5_co2,
co2_total_domestic = q1_co2_domestic+
q2_co2_domestic+q3_co2_domestic+
q4_co2_domestic+q5_co2_domestic)
direct_FD_ch4 = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_ch4) %>%
spread(quintile,disaggregated_direct_FD_ch4) %>%
rename(q1_ch4 = QUINTILE1,
q2_ch4 = QUINTILE2,
q3_ch4 = QUINTILE3,
q4_ch4 = QUINTILE4,
q5_ch4 = QUINTILE5) %>%
mutate(q1_ch4_domestic = q1_ch4,
q2_ch4_domestic = q2_ch4,
q3_ch4_domestic = q3_ch4,
q4_ch4_domestic = q4_ch4,
q5_ch4_domestic = q5_ch4,
ch4_total = q1_ch4+q2_ch4+q3_ch4+q4_ch4+q5_ch4,
ch4_total_domestic = q1_ch4_domestic+
q2_ch4_domestic+q3_ch4_domestic+
q4_ch4_domestic+q5_ch4_domestic)
direct_FD_n2o = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_n2o) %>%
spread(quintile,disaggregated_direct_FD_n2o) %>%
rename(q1_n2o = QUINTILE1,
q2_n2o = QUINTILE2,
q3_n2o = QUINTILE3,
q4_n2o = QUINTILE4,
q5_n2o = QUINTILE5) %>%
mutate(q1_n2o_domestic = q1_n2o,
q2_n2o_domestic = q2_n2o,
q3_n2o_domestic = q3_n2o,
q4_n2o_domestic = q4_n2o,
q5_n2o_domestic = q5_n2o,
n2o_total = q1_n2o+q2_n2o+q3_n2o+q4_n2o+q5_n2o,
n2o_total_domestic = q1_n2o_domestic+
q2_n2o_domestic+q3_n2o_domestic+
q4_n2o_domestic+q5_n2o_domestic)
direct_FD_energy = direct_FD_fp_long_disagg %>%
select(year,geo,sector,quintile,coicop,five_sectors,disaggregated_direct_FD_energy) %>%
spread(quintile,disaggregated_direct_FD_energy) %>%
rename(q1_energy = QUINTILE1,
q2_energy = QUINTILE2,
q3_energy = QUINTILE3,
q4_energy = QUINTILE4,
q5_energy = QUINTILE5) %>%
mutate(q1_energy_domestic = q1_energy,
q2_energy_domestic = q2_energy,
q3_energy_domestic = q3_energy,
q4_energy_domestic = q4_energy,
q5_energy_domestic = q5_energy,
energy_total = q1_energy+q2_energy+q3_energy+q4_energy+q5_energy,
energy_total_domestic = q1_energy_domestic+
q2_energy_domestic+q3_energy_domestic+
q4_energy_domestic+q5_energy_domestic)
direct_FD_fp_wide = direct_FD_co2 %>%
left_join(direct_FD_ch4, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
left_join(direct_FD_n2o, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
left_join(direct_FD_energy, by = c("year","geo",
"sector","coicop",
"five_sectors")) %>%
mutate(country_of_production = geo) %>%
mutate(q1_co2eq = q1_co2 + q1_ch4 + q1_n2o,
q2_co2eq = q2_co2 + q2_ch4 + q2_n2o,
q3_co2eq = q3_co2 + q3_ch4 + q3_n2o,
q4_co2eq = q4_co2 + q4_ch4 + q4_n2o,
q5_co2eq = q5_co2 + q5_ch4 + q5_n2o,
co2eq_total = q1_co2eq +
q2_co2eq + q3_co2eq +
q4_co2eq + q5_co2eq,
q1_co2eq_domestic = q1_co2_domestic + q1_ch4_domestic + q1_n2o_domestic,
q2_co2eq_domestic = q2_co2_domestic + q2_ch4_domestic + q2_n2o_domestic,
q3_co2eq_domestic = q3_co2_domestic + q3_ch4_domestic + q3_n2o_domestic,
q4_co2eq_domestic = q4_co2_domestic + q4_ch4_domestic + q4_n2o_domestic,
q5_co2eq_domestic = q5_co2_domestic + q5_ch4_domestic + q5_n2o_domestic,
co2eq_total_domestic = q1_co2eq_domestic +
q2_co2eq_domestic + q3_co2eq_domestic +
q4_co2eq_domestic + q5_co2eq_domestic) %>%
select(-q1_ch4,
-q2_ch4,
-q3_ch4,
-q4_ch4,
-q5_ch4,
-ch4_total,
-q1_ch4_domestic,
-q2_ch4_domestic,
-q3_ch4_domestic,
-q4_ch4_domestic,
-q5_ch4_domestic,
-ch4_total_domestic,
-q1_n2o,
-q2_n2o,
-q3_n2o,
-q4_n2o,
-q5_n2o,
-n2o_total,
-q1_n2o_domestic,
-q2_n2o_domestic,
-q3_n2o_domestic,
-q4_n2o_domestic,
-q5_n2o_domestic,
-n2o_total_domestic)
direct_FD_fp_wide_all = direct_FD_fp_wide %>%
clean_names() %>%
select(year,geo,coicop,q1_co2:q5_co2,
q1_co2_domestic:q5_co2_domestic,
q1_co2eq:q5_co2eq,
q1_co2eq_domestic:q5_co2eq_domestic,
q1_energy:q5_energy,
q1_energy_domestic:q5_energy_domestic)
## extract co2 and pivot long
cols_co2 = c("q1_co2", "q2_co2", "q3_co2", "q4_co2", "q5_co2")
tmp_co2 = direct_FD_fp_wide_all %>%
select(year, geo, coicop, cols_co2) %>%
pivot_longer(cols = cols_co2,
names_to = "quintile",
values_to = "co2_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
## extract co2 domestic and pivot long
cols_co2_domestic = c("q1_co2_domestic", "q2_co2_domestic", "q3_co2_domestic", "q4_co2_domestic", "q5_co2_domestic")
tmp_co2_domestic = direct_FD_fp_wide_all %>%
select(year, geo, coicop, cols_co2_domestic) %>%
pivot_longer(cols = cols_co2_domestic,
names_to = "quintile",
values_to = "co2_domestic_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
## extract co2eq and pivot long
cols_co2eq = c("q1_co2eq", "q2_co2eq", "q3_co2eq", "q4_co2eq", "q5_co2eq")
tmp_co2eq = direct_FD_fp_wide_all %>%
select(year, geo, coicop, cols_co2eq) %>%
pivot_longer(cols = cols_co2eq,
names_to = "quintile",
values_to = "co2eq_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
## extract co2eq domestic and pivot long
cols_co2eq_domestic = c("q1_co2eq_domestic", "q2_co2eq_domestic", "q3_co2eq_domestic", "q4_co2eq_domestic", "q5_co2eq_domestic")
tmp_co2eq_domestic = direct_FD_fp_wide_all %>%
select(year, geo, coicop, cols_co2eq_domestic) %>%
pivot_longer(cols = cols_co2eq_domestic,
names_to = "quintile",
values_to = "co2eq_domestic_kg") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
## extract energy use and pivot long
cols_energy = c("q1_energy","q2_energy","q3_energy","q4_energy","q5_energy")
tmp_energy = direct_FD_fp_wide_all %>%
select(year, geo, coicop, cols_energy) %>%
pivot_longer(cols = cols_energy,
names_to = "quintile",
values_to = "energy_use_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
## extract energy domestic and pivot long
cols_energy_domestic = c("q1_energy_domestic","q2_energy_domestic","q3_energy_domestic","q4_energy_domestic","q5_energy_domestic")
tmp_energy_domestic = direct_FD_fp_wide_all %>%
select(year, geo, coicop, cols_energy_domestic) %>%
pivot_longer(cols = cols_energy_domestic,
names_to = "quintile",
values_to = "energy_use_domestic_TJ") %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile)
direct_FD_fp_wide_recombined = tmp_co2 %>%
left_join(tmp_co2_domestic, by=c("year", "geo", "coicop", "quint")) %>%
left_join(tmp_co2eq, by=c("year", "geo", "coicop", "quint")) %>%
left_join(tmp_co2eq_domestic, by=c("year", "geo", "coicop", "quint")) %>%
left_join(tmp_energy, by=c("year", "geo", "coicop", "quint")) %>%
left_join(tmp_energy_domestic, by=c("year", "geo", "coicop", "quint")) %>%
clean_names() %>%
mutate(year = as.numeric(year))
results = ok %>%
filter(!(geo %in% c("EA","EA12","EA13","EA17",
"EA18","EA19","EEA28","EEA30_2007",
"EFTA","EU15","EU25",
"EU27_2007", "EU27_2020",
"EU28","XK", "RS",
"MK", "ME")),
!(quintile %in% c("TOTAL","UNK")),
!(year %in% c(1988,1994,1999))) %>%
group_by(geo,quintile,year,coicop) %>%
summarise(fd_me = sum(fd_me, na.rm = TRUE),
co2_kg = sum(co2_kg, na.rm = TRUE),
co2_domestic_kg = sum(co2_domestic_kg, na.rm = TRUE),
co2_europe_kg = sum(co2_europe_kg, na.rm = TRUE),
co2eq_kg = sum(co2eq_kg, na.rm = TRUE),
co2eq_domestic_kg = sum(co2eq_domestic_kg, na.rm = TRUE),
co2eq_europe_kg = sum(co2eq_europe_kg, na.rm = TRUE),
energy_use_TJ = sum(energy_use_TJ, na.rm = TRUE),
energy_use_domestic_TJ = sum(energy_use_domestic_TJ, na.rm = TRUE),
energy_use_europe_TJ = sum(energy_use_europe_TJ, na.rm = TRUE)) %>%
ungroup() %>%
mutate(year = as.numeric(year)) %>%
na.omit()
results_formatted = results %>%
clean_names() %>%
mutate(quint = parse_number(quintile)) %>%
select(-quintile) %>%
filter(coicop %in% c("CP011",
"CP012",
"CP02",
"CP03",
"rent",
"CP043",
"CP044",
"CP045",
"CP05",
"CP06",
"CP071",
"CP072",
"CP073",
"CP08",
"CP09",
"CP10",
"CP11",
"CP12"))
results_formatted_with_direct_FD_fp = bind_rows(results_formatted,direct_FD_fp_wide_recombined)
write.csv(results_formatted_with_direct_FD_fp, paste0(data_dir_income_stratified_footprints, "/results_formatted_method2_ixi.csv"))
write_rds(results_formatted_with_direct_FD_fp, paste0(data_dir_income_stratified_footprints, "/results_formatted_method2_ixi.rds"))
European expenditure deciles
- need to download EUROSTAT households and Norway households
-
The 'lfst_hhnhtych' table from EUROSTAT, selecting all available years and total households [accessed on 04.05.2020].
-
Norway is missing from the 'lfst_hhnhtych' EUROSTAT table. We download Norwegian data from the Norwegian statistical office: https://www.ssb.no/en/statbank/table/10986/. We select 'Private households', 'the whole country', no household type selection, all years (2005-2019), and continue with 'Table - Layout 1', then save the table as a 'Tab delimited without heading (csv)' file [accessed on 04.05.2020].
# set target number of quantiles
target_eu_ntiles = 10
##### main paper results (main paper method, EXIOBASE industry-by-industry version)
# 1) load income-stratified-footprints formatted results file from previous code chunk
dat_results_raw = read_rds(here("analysis", "preprocessing", "income-stratified-footprints",
"results_formatted_method1_ixi.rds")) %>%
ungroup() %>%
mutate(year= strtoi(year)) %>%
rename(iso2 = geo)
# get iso3 country codes to join with household data
country_codes = ISOcodes::ISO_3166_1 %>%
select(iso2 = Alpha_2, iso3 = Alpha_3) %>%
# resolve inconsistency between EUROSTAT and ISO for Greece and UK/Great Britain
mutate(iso2 = if_else(iso2=="GR", "EL", iso2)) %>%
mutate(iso2 = if_else(iso2=="GB", "UK", iso2))
# read in total private households data from EUROSTAT and Norway, merge, and write .csv
## set 4 digits per value
options(digits=4)
## EUROSTAT total private households
total_private_households_Eurostat = read.csv(here("/analysis/preprocessing/income-stratified-footprints/lfst_hhnhtych_1_Data.csv")) %>%
filter(!(GEO %in% c("European Union - 27 countries (from 2020)",
"Euro area - 19 countries (from 2015)",
"European Union - 28 countries (2013-2020)",
"European Union - 15 countries (1995-2004)"))) %>%
mutate(geo = dplyr::recode(GEO,
"Belgium" = "BE",
"Bulgaria" = "BG",
"Czechia" = "CZ",
"Denmark" = "DK",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Estonia" = "EE",
"Ireland" = "IE",
"Greece" = "EL",
"Spain" = "ES",
"France" = "FR",
"Croatia" = "HR",
"Italy" = "IT",
"Cyprus" = "CY",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Hungary" = "HU",
"Malta" = "MT",
"Netherlands" = "NL",
"Austria" = "AT",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovenia" = "SI",
"Slovakia" = "SK",
"Finland" = "FI",
"Sweden" = "SE",
"United Kingdom" = "UK",
"Montenegro" = "ME",
"North Macedonia" = "MK",
"Serbia" = "RS",
"Turkey" = "TR")) %>%
select(TIME,geo,Value) %>%
rename(year = TIME, total_private_households = Value) %>%
mutate(total_private_households = as.character(total_private_households),
total_private_households = parse_number(total_private_households),
total_private_households = as.numeric(total_private_households),
total_private_households = total_private_households*1000)
## Norway total private households
total_private_households_Norway = read.csv(here("/analysis/preprocessing/income-stratified-footprints/Privathusholdninger.csv")) %>%
gather(year, total_private_households, Private.households.2005:Private.households.2019) %>%
mutate(geo = dplyr::recode(region,
"0 The whole country" = "NO"),
year = dplyr::recode(year,
"Private.households.2005" = 2005,
"Private.households.2006" = 2006,
"Private.households.2007" = 2007,
"Private.households.2008" = 2008,
"Private.households.2009" = 2009,
"Private.households.2010" = 2010,
"Private.households.2011" = 2011,
"Private.households.2012" = 2012,
"Private.households.2013" = 2013,
"Private.households.2014" = 2014,
"Private.households.2015" = 2015,
"Private.households.2016" = 2016,
"Private.households.2017" = 2017,
"Private.households.2018" = 2018,
"Private.households.2019" = 2019)) %>%
select(year,geo,total_private_households)
## merge EUROSTAT and Norway total private households data
total_private_households = rbind(total_private_households_Eurostat,
total_private_households_Norway) %>%
mutate(geo = as.character(geo),
year = as.numeric(year),
total_private_households = as.numeric(total_private_households))
## write .csv file with all total private households data
write_csv(total_private_households, here("/analysis/preprocessing/income-stratified-footprints/total_private_households.csv"))
# the original 'total_private_households_original.csv' is in 'income-stratified-footprints-in-europe/data' - if something goes wrong
# with the main paper results (pulling from the mrio results file written later) then the problem is here, when I added
# the as.character mutation in the total_private_households_Eurostat
## return to 2 digits per value
options(digits=2)
# 2) load merged total private households data
hh_data = read_csv(here("analysis", "preprocessing", "income-stratified-footprints",
"total_private_households.csv")) %>%
mutate(imputed = if_else(is.na(total_private_households), TRUE, FALSE)) %>%
rename(iso2 = geo) %>%
group_by(iso2) %>%
# impute households with next available neighbour
mutate(hh = na_locf(total_private_households)) %>%
left_join(country_codes, by="iso2") %>%
select(-total_private_households)
#3) load EUROSTAT mean expenditures per household income quintile per household and per adult equivalent (written and saved in the previous, income-stratified-footprints code chunk)
df_expenditure_long = read_csv(here("analysis",
"preprocessing",
"income-stratified-footprints",
"mean_expenditure_by_quintile_long.csv"),
na = ":") %>%
#filter(year >=2010, geo != "IT") %>%
#filter(year >=2005, geo != "IT") %>%
#decide here
filter(year >=2005) %>%
mutate(imputed = if_else(is.na(mean_expenditure), TRUE, FALSE)) %>%
group_by(geo,unit,quintile) %>%
mutate(value = na_locf(mean_expenditure)) %>%
select(-mean_expenditure) %>%
ungroup()
## calculate adult equivalents per household
df_adult_e_p_hh = df_expenditure_long %>%
rename(iso2 = geo) %>%
pivot_wider(id_cols = c(iso2, year, quintile, imputed),
names_from = unit,
values_from = value) %>%
clean_names() %>%
mutate(adult_e_p_hh = pps_hh/pps_ae) %>%
left_join(country_codes, by="iso2") %>%
mutate(iso3 = if_else(iso2 == "XK", "XKX", iso3),
quint = parse_number(quintile))
## add quintile population data
mrio_results_with_adult_eq_all = dat_results_raw %>%
filter(year %in% c(2005, 2010, 2015)) %>%
left_join(hh_data, by=c("iso2", "year")) %>%
mutate(hh_quintile = hh/5) %>% # population per country quinitle
select(-hh) %>%
rename(hh_imputed = imputed) %>%
left_join(df_adult_e_p_hh %>%
select(iso2, year, quint, imputed_ae = imputed, adult_e_p_hh),
by=c("iso2", "year", "quint")) %>%
mutate(ae_quintile = hh_quintile * adult_e_p_hh) %>%
select(-c(hh_quintile, adult_e_p_hh))
## for the European expenditure deciles we use only countries with data in 2005, 2010 and 2015. This excludes Luxembourg and Italy.
complete_countries = mrio_results_with_adult_eq_all %>%
group_by(year, iso2) %>%
summarise(co2_kg = sum(co2_kg)) %>%
ungroup() %>%
filter(co2_kg>0) %>%
select(iso2, year, co2_kg) %>%
pivot_wider(id_cols = c(iso2), names_from = year, values_from = co2_kg) %>%
drop_na() %>%
select(iso2) %>%
pull()
#df_adult_e_p_hh %>% #what is this?
# filter(iso2 %in% complete_countries, year<=2015, year>=2005) %>%
# mutate(quint = parse_number(quintile))
# calculate European expenditure deciles based on loaded income-stratified-footprints result file and adult equivalents.
# returns country quintiles mapped to European ntile rank and European ntile boundaries
# helper function called by function below
calculate_eu_ntiles <- function(pyear, pquantile_count=10) {
country_data_annual_sorted = summary_country_fd %>%
ungroup() %>%
filter(year==pyear) %>%
arrange(fd_pae_e) %>%
mutate(idx = 1:n(),
eu_q_rank = 0) # later to be filled with euro quintile rank
# total European adult equivalents (of included countries) in year
total_ae_in_year = sum(country_data_annual_sorted$ae_quintile)
# quantile target ae population
eu_decile_adult_eq = total_ae_in_year/pquantile_count
# country quintles must be split to allocate ae population according to eu quantile target ae population
# filtering by condition that can't be fulfilled is a lazy way to create an empty dataframe
# of the same structure as country_data_annual_sorted
additional_rows = country_data_annual_sorted %>%
filter(year==1)
# store quantile split values
eu_quantile_boundaries = data.frame(euro_q_rank = 1:pquantile_count, p = 0)
# loops through the ordered dataset, assigns European quantile rank
# and splits quintiles where necessary
eu_ae_current = 0
euro_q_rank_current = 1
for (row_idx in 1:nrow(country_data_annual_sorted)) {
row = country_data_annual_sorted[row_idx,]
if (row["ae_quintile"] + eu_ae_current <= eu_decile_adult_eq) {
eu_ae_current = eu_ae_current + row["ae_quintile"]
country_data_annual_sorted[row_idx, "eu_q_rank"] = euro_q_rank_current
} else {
ae_diff = eu_decile_adult_eq - eu_ae_current
## write rest of this European decile (split country quintile)
new_row = country_data_annual_sorted[row_idx, ]
new_row[1, "eu_q_rank"] = euro_q_rank_current
new_row[1, "ae_quintile"] = ae_diff
## record European quantile boundary
eu_quantile_boundaries[eu_quantile_boundaries$euro_q_rank==euro_q_rank_current, "p"] =
country_data_annual_sorted[row_idx, "fd_pae_e"]
## put first part of population in overflow dataframe
additional_rows = additional_rows %>%
bind_rows(new_row)
## classify rest of country quintile population to next European quantile
country_data_annual_sorted[row_idx, "ae_quintile"] =
country_data_annual_sorted[row_idx, "ae_quintile"] - (ae_diff+0.0001)
euro_q_rank_current = euro_q_rank_current + 1
country_data_annual_sorted[row_idx, "eu_q_rank"] = euro_q_rank_current
eu_ae_current = country_data_annual_sorted[row_idx, "ae_quintile"]
}
}
country_data_eu_quantiles = country_data_annual_sorted %>%
bind_rows(additional_rows) %>%
arrange(fd_pae_e, eu_q_rank) %>%
mutate(idx = 1:n())
# add zeroth and nth quantile (min and max)
eu_quantile_boundaries[pquantile_count, "p"] = max(country_data_eu_quantiles$fd_pae_e)
list("df_q_data" = country_data_eu_quantiles, "df_q_boundaries" = eu_quantile_boundaries)
}
# maps income-stratified-footprint results to European ntile ranks, returns mapping and ntile European boundaries
map_mrio_results_to_eu_ntiles <- function(pyear, ptarget_ntiles) {
df_eu_ntiles = calculate_eu_ntiles(pyear, pquantile_count = ptarget_ntiles)
df_eu_ntiles_data = df_eu_ntiles$df_q_data
sector_mapping = mrio_results_with_adult_eq %>%
group_by(sector_id) %>%#
summarise(sector_agg_id = first(sector_agg_id)) %>%
ungroup()
df_mapped_data = mrio_results_with_adult_eq %>%
select(year,
iso2,
quint,
sector_id,
fd_me,
co2_kg,
co2_domestic_kg,
co2_europe_kg,
co2eq_kg,
co2eq_domestic_kg,
co2eq_europe_kg,
energy_use_TJ,
energy_use_domestic_TJ,
energy_use_europe_TJ,
ae_quintile) %>%
filter(year==pyear) %>%
# calculate per adult equivalent values in quintiles
mutate(fd_pae_e = fd_me*1000000/ae_quintile,
co2_pae_kg = co2_kg/ae_quintile,
co2_pae_dom_kg = co2_domestic_kg/ae_quintile,
co2_pae_eu_kg = co2_europe_kg/ae_quintile,
co2eq_pae_kg = co2eq_kg/ae_quintile,
co2eq_pae_dom_kg = co2eq_domestic_kg/ae_quintile,
co2eq_pae_eu_kg = co2eq_europe_kg/ae_quintile,
energy_use_pae_tj = energy_use_TJ/ae_quintile,
energy_use_dom_pae_tj = energy_use_domestic_TJ/ae_quintile,
energy_use_eu_pae_tj = energy_use_europe_TJ/ae_quintile) %>%
# remove totals
select(-c(fd_me,
co2_kg,
co2_domestic_kg,
co2_europe_kg,
co2eq_kg,
co2eq_domestic_kg,
co2eq_europe_kg,
energy_use_TJ,
energy_use_domestic_TJ,
energy_use_europe_TJ,
year, ae_quintile)) %>%
full_join(df_eu_ntiles_data %>%
rename(fd_pae_e_quint_tmp = fd_pae_e), by=c("iso2", "quint")) %>%
rename(adult_eq = ae_quintile) %>% # country quintile and their split fraction population
# recalculate totals
mutate(fd_me = fd_pae_e*adult_eq/1000000,
co2_kg = co2_pae_kg*adult_eq,
co2_dom_kg = co2_pae_dom_kg*adult_eq,
co2_eu_kg = co2_pae_eu_kg*adult_eq,
co2eq_kg = co2eq_pae_kg*adult_eq,
co2eq_dom_kg = co2eq_pae_dom_kg*adult_eq,
co2eq_eu_kg = co2eq_pae_eu_kg*adult_eq,
energy_use_tj = energy_use_pae_tj*adult_eq,
energy_use_dom_tj = energy_use_dom_pae_tj*adult_eq,
energy_use_eu_tj = energy_use_eu_pae_tj*adult_eq
) %>%
left_join(sector_mapping, by="sector_id")
list("df_mapped_data" = df_mapped_data, "df_ntile_boundaries" = df_eu_ntiles$df_q_boundaries)
}
# filter only countries with complete info for years 2005, 2010, 2015
mrio_results_with_adult_eq = mrio_results_with_adult_eq_all %>%
filter(iso2 %in% complete_countries)
# summarize final demand per adult equivalent per quintile across all sectors as basis for European deciles for complete countries
summary_country_fd = mrio_results_with_adult_eq %>%
group_by(iso2, year, quint) %>%
summarise(ae_quintile = first(ae_quintile),
fd_pae_e = sum(fd_me*1000000)/(ae_quintile))
# summarize final demand per adult equivalent per quintile across all sectors as basis for European deciles for all countries
summary_country_fd_all = mrio_results_with_adult_eq_all %>%
group_by(iso2, year, quint) %>%
summarise(ae_quintile = first(ae_quintile),
fd_pae_e = sum(fd_me*1000000)/(ae_quintile))
df_mapped_result_2005 = map_mrio_results_to_eu_ntiles(2005, target_eu_ntiles)
df_mapped_result_2005_data = df_mapped_result_2005$df_mapped_data
df_mapped_result_2005_ntiles = df_mapped_result_2005$df_ntile_boundaries
df_mapped_result_2010 = map_mrio_results_to_eu_ntiles(2010, target_eu_ntiles)
df_mapped_result_2010_data = df_mapped_result_2010$df_mapped_data
df_mapped_result_2010_ntiles = df_mapped_result_2010$df_ntile_boundaries
df_mapped_result_2015 = map_mrio_results_to_eu_ntiles(2015, target_eu_ntiles)
df_mapped_result_2015_data = df_mapped_result_2015$df_mapped_data
df_mapped_result_2015_ntiles = df_mapped_result_2015$df_ntile_boundaries
df_mapped_result_data = df_mapped_result_2005_data %>%
bind_rows(df_mapped_result_2010_data) %>%
bind_rows(df_mapped_result_2015_data)
write_csv(df_mapped_result_data,
here(paste0("analysis/data/derived/mrio_results_eu_ntile_mapped_n_", target_eu_ntiles, ".csv")))
###### SI results, main paper method, EXIOBASE product-by-product version
# 1) load income-stratified-footprints formatted results file
dat_results_raw = read_rds(here("analysis", "preprocessing", "income-stratified-footprints",
"results_formatted_method1_pxp.rds")) %>%
ungroup() %>%
mutate(year= strtoi(year)) %>%
rename(iso2 = geo)
# get iso3 country codes to join with household data
country_codes = ISOcodes::ISO_3166_1 %>%
select(iso2 = Alpha_2, iso3 = Alpha_3) %>%
# resolve inconsistency between EUROSTAT and ISO for Greece and UK/Great Britain
mutate(iso2 = if_else(iso2=="GR", "EL", iso2)) %>%
mutate(iso2 = if_else(iso2=="GB", "UK", iso2))
# read in total private households data from EUROSTAT and Norway, merge, and write .csv
## set 4 digits per value
options(digits=4)
## EUROSTAT total private households
total_private_households_Eurostat = read.csv(here("/analysis/preprocessing/income-stratified-footprints/lfst_hhnhtych_1_Data.csv")) %>%
filter(!(GEO %in% c("European Union - 27 countries (from 2020)",
"Euro area - 19 countries (from 2015)",
"European Union - 28 countries (2013-2020)",
"European Union - 15 countries (1995-2004)"))) %>%
mutate(geo = dplyr::recode(GEO,
"Belgium" = "BE",
"Bulgaria" = "BG",
"Czechia" = "CZ",
"Denmark" = "DK",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Estonia" = "EE",
"Ireland" = "IE",
"Greece" = "EL",
"Spain" = "ES",
"France" = "FR",
"Croatia" = "HR",
"Italy" = "IT",
"Cyprus" = "CY",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Hungary" = "HU",
"Malta" = "MT",
"Netherlands" = "NL",
"Austria" = "AT",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovenia" = "SI",
"Slovakia" = "SK",
"Finland" = "FI",
"Sweden" = "SE",
"United Kingdom" = "UK",
"Montenegro" = "ME",
"North Macedonia" = "MK",
"Serbia" = "RS",
"Turkey" = "TR")) %>%
select(TIME,geo,Value) %>%
rename(year = TIME, total_private_households = Value) %>%
mutate(total_private_households = as.character(total_private_households),
total_private_households = parse_number(total_private_households),
total_private_households = as.numeric(total_private_households),
total_private_households = total_private_households*1000)
## Norway total private households
total_private_households_Norway = read.csv(here("/analysis/preprocessing/income-stratified-footprints/Privathusholdninger.csv")) %>%
gather(year, total_private_households, Private.households.2005:Private.households.2019) %>%
mutate(geo = dplyr::recode(region,
"0 The whole country" = "NO"),
year = dplyr::recode(year,
"Private.households.2005" = 2005,
"Private.households.2006" = 2006,
"Private.households.2007" = 2007,
"Private.households.2008" = 2008,
"Private.households.2009" = 2009,
"Private.households.2010" = 2010,
"Private.households.2011" = 2011,
"Private.households.2012" = 2012,
"Private.households.2013" = 2013,
"Private.households.2014" = 2014,
"Private.households.2015" = 2015,
"Private.households.2016" = 2016,
"Private.households.2017" = 2017,
"Private.households.2018" = 2018,
"Private.households.2019" = 2019)) %>%
select(year,geo,total_private_households)
## merge EUROSTAT and Norway total private households data
total_private_households = rbind(total_private_households_Eurostat,
total_private_households_Norway) %>%
mutate(geo = as.character(geo),
year = as.numeric(year),
total_private_households = as.numeric(total_private_households))
## write .csv file with all total private households data
write_csv(total_private_households, here("/analysis/preprocessing/income-stratified-footprints/total_private_households.csv"))
# the original 'total_private_households_original.csv' is in 'income-stratified-footprints-in-europe/data' - if something goes wrong
# with the main paper results (pulling from the mrio results file written later) then the problem is here, when I added
# the as.character mutation in the total_private_households_Eurostat
## return to 2 digits per value
options(digits=2)
# 2) load merged total private households data
hh_data = read_csv(here("analysis", "preprocessing", "income-stratified-footprints",
"total_private_households.csv")) %>%
mutate(imputed = if_else(is.na(total_private_households), TRUE, FALSE)) %>%
rename(iso2 = geo) %>%
group_by(iso2) %>%
# impute households with next available neighbour
mutate(hh = na_locf(total_private_households)) %>%
left_join(country_codes, by="iso2") %>%
select(-total_private_households)
#3) load EUROSTAT mean expenditures per household income quintile per household and per adult equivalent (written and saved in the previous, income-stratified-footprints code chunk)
df_expenditure_long = read_csv(here("analysis", "preprocessing", "income-stratified-footprints",
"mean_expenditure_by_quintile_long.csv"),
na = ":") %>%
#filter(year >=2010, geo != "IT") %>%
#filter(year >=2005, geo != "IT") %>%
#decide here
filter(year >=2005) %>%
mutate(imputed = if_else(is.na(mean_expenditure), TRUE, FALSE)) %>%
group_by(geo,unit,quintile) %>%
mutate(value = na_locf(mean_expenditure)) %>%
select(-mean_expenditure) %>%
ungroup()
## calculate adult equivalents per household
df_adult_e_p_hh = df_expenditure_long %>%
rename(iso2 = geo) %>%
pivot_wider(id_cols = c(iso2, year, quintile, imputed),
names_from = unit,
values_from = value) %>%
clean_names() %>%
mutate(adult_e_p_hh = pps_hh/pps_ae) %>%
left_join(country_codes, by="iso2") %>%
mutate(iso3 = if_else(iso2 == "XK", "XKX", iso3),
quint = parse_number(quintile))
## add quintile population data
mrio_results_with_adult_eq_all = dat_results_raw %>%
filter(year %in% c(2005, 2010, 2015)) %>%
left_join(hh_data, by=c("iso2", "year")) %>%
mutate(hh_quintile = hh/5) %>% # population per country quinitle
select(-hh) %>%
rename(hh_imputed = imputed) %>%
left_join(df_adult_e_p_hh %>%
select(iso2, year, quint, imputed_ae = imputed, adult_e_p_hh),
by=c("iso2", "year", "quint")) %>%
mutate(ae_quintile = hh_quintile * adult_e_p_hh) %>%
select(-c(hh_quintile, adult_e_p_hh))
## for the European expenditure deciles we use only countries with data in 2005, 2010 and 2015. This excludes Luxembourg and Italy.
complete_countries = mrio_results_with_adult_eq_all %>%
group_by(year, iso2) %>%
summarise(co2_kg = sum(co2_kg)) %>%
ungroup() %>%
filter(co2_kg>0) %>%
select(iso2, year, co2_kg) %>%
pivot_wider(id_cols = c(iso2), names_from = year, values_from = co2_kg) %>%
drop_na() %>%
select(iso2) %>%
pull()
df_adult_e_p_hh %>%
filter(iso2 %in% complete_countries, year<=2015, year>=2005) %>%
mutate(quint = parse_number(quintile))
# calculate European expenditure deciles based on loaded income-stratified-footprints result file and adult equivalents.
# returns country quintiles mapped to European ntile rank and European ntile boundaries
# helper function called by function below
calculate_eu_ntiles <- function(pyear, pquantile_count=10) {
country_data_annual_sorted = summary_country_fd %>%
ungroup() %>%
filter(year==pyear) %>%
arrange(fd_pae_e) %>%
mutate(idx = 1:n(),
eu_q_rank = 0) # later to be filled with euro quintile rank
# total European adult equivalents (of included countries) in year
total_ae_in_year = sum(country_data_annual_sorted$ae_quintile)
# quantile target ae population
eu_decile_adult_eq = total_ae_in_year/pquantile_count
# country quintiles must be split to allocate ae population according to European quantile target ae population
# filtering by condition that cant be fulfilled is a lazy way to create an empty dataframe
# of the same structure as country_data_annual_sorted
additional_rows = country_data_annual_sorted %>%
filter(year==1)
# store quantile split values
eu_quantile_boundaries = data.frame(euro_q_rank = 1:pquantile_count, p = 0)
# loops through the ordered dataset, assignes euro quantile rank
# and splits quintiles where necessary
eu_ae_current = 0
euro_q_rank_current = 1
for (row_idx in 1:nrow(country_data_annual_sorted)) {
row = country_data_annual_sorted[row_idx,]
if (row["ae_quintile"] + eu_ae_current <= eu_decile_adult_eq) {
eu_ae_current = eu_ae_current + row["ae_quintile"]
country_data_annual_sorted[row_idx, "eu_q_rank"] = euro_q_rank_current
} else {
ae_diff = eu_decile_adult_eq - eu_ae_current
## write rest of this European decile (split country quintile)
new_row = country_data_annual_sorted[row_idx, ]
new_row[1, "eu_q_rank"] = euro_q_rank_current
new_row[1, "ae_quintile"] = ae_diff
## record European quantile boundary
eu_quantile_boundaries[eu_quantile_boundaries$euro_q_rank==euro_q_rank_current, "p"] =
country_data_annual_sorted[row_idx, "fd_pae_e"]
## put first part of population in overflow dataframe
additional_rows = additional_rows %>%
bind_rows(new_row)
## classify rest of country quintile population to next European quantile
country_data_annual_sorted[row_idx, "ae_quintile"] =
country_data_annual_sorted[row_idx, "ae_quintile"] - (ae_diff+0.0001)
euro_q_rank_current = euro_q_rank_current + 1
country_data_annual_sorted[row_idx, "eu_q_rank"] = euro_q_rank_current
eu_ae_current = country_data_annual_sorted[row_idx, "ae_quintile"]
}
}
country_data_eu_quantiles = country_data_annual_sorted %>%
bind_rows(additional_rows) %>%
arrange(fd_pae_e, eu_q_rank) %>%
mutate(idx = 1:n())
# add zeroth and nth quantile (min and max)
eu_quantile_boundaries[pquantile_count, "p"] = max(country_data_eu_quantiles$fd_pae_e)
list("df_q_data" = country_data_eu_quantiles, "df_q_boundaries" = eu_quantile_boundaries)
}
# maps income-stratified-footprint results to European ntile ranks, returns mapping and ntile European boundaries
map_mrio_results_to_eu_ntiles <- function(pyear, ptarget_ntiles) {
df_eu_ntiles = calculate_eu_ntiles(pyear, pquantile_count = ptarget_ntiles)
df_eu_ntiles_data = df_eu_ntiles$df_q_data
sector_mapping = mrio_results_with_adult_eq %>%
group_by(sector_id) %>%#
summarise(sector_agg_id = first(sector_agg_id)) %>%
ungroup()
df_mapped_data = mrio_results_with_adult_eq %>%
select(year,
iso2,
quint,
sector_id,
fd_me,
co2_kg,
co2_domestic_kg,
co2_europe_kg,
co2eq_kg,
co2eq_domestic_kg,
co2eq_europe_kg,
energy_use_TJ,
energy_use_domestic_TJ,
energy_use_europe_TJ,
ae_quintile) %>%
filter(year==pyear) %>%
# calculate per adult equivalent values in quintiles
mutate(fd_pae_e = fd_me*1000000/ae_quintile,
co2_pae_kg = co2_kg/ae_quintile,
co2_pae_dom_kg = co2_domestic_kg/ae_quintile,
co2_pae_eu_kg = co2_europe_kg/ae_quintile,
co2eq_pae_kg = co2eq_kg/ae_quintile,
co2eq_pae_dom_kg = co2eq_domestic_kg/ae_quintile,
co2eq_pae_eu_kg = co2eq_europe_kg/ae_quintile,
energy_use_pae_tj = energy_use_TJ/ae_quintile,
energy_use_dom_pae_tj = energy_use_domestic_TJ/ae_quintile,
energy_use_eu_pae_tj = energy_use_europe_TJ/ae_quintile) %>%
# remove totals
select(-c(fd_me,
co2_kg,
co2_domestic_kg,
co2_europe_kg,
co2eq_kg,
co2eq_domestic_kg,
co2eq_europe_kg,
energy_use_TJ,
energy_use_domestic_TJ,
energy_use_europe_TJ,
year, ae_quintile)) %>%
full_join(df_eu_ntiles_data %>%
rename(fd_pae_e_quint_tmp = fd_pae_e), by=c("iso2", "quint")) %>%
rename(adult_eq = ae_quintile) %>% # country quintile and their split fraction population
# recalculate totals
mutate(fd_me = fd_pae_e*adult_eq/1000000,
co2_kg = co2_pae_kg*adult_eq,
co2_dom_kg = co2_pae_dom_kg*adult_eq,
co2_eu_kg = co2_pae_eu_kg*adult_eq,
co2eq_kg = co2eq_pae_kg*adult_eq,
co2eq_dom_kg = co2eq_pae_dom_kg*adult_eq,
co2eq_eu_kg = co2eq_pae_eu_kg*adult_eq,
energy_use_tj = energy_use_pae_tj*adult_eq,
energy_use_dom_tj = energy_use_dom_pae_tj*adult_eq,
energy_use_eu_tj = energy_use_eu_pae_tj*adult_eq
) %>%
left_join(sector_mapping, by="sector_id")
list("df_mapped_data" = df_mapped_data, "df_ntile_boundaries" = df_eu_ntiles$df_q_boundaries)
}
# filter only countries with complete info for years 2005, 2010, 2015
mrio_results_with_adult_eq = mrio_results_with_adult_eq_all %>%
filter(iso2 %in% complete_countries)
# summarize final demand per adult equivalent per quintile across all sectors as basis for European deciles for complete countries
summary_country_fd = mrio_results_with_adult_eq %>%
group_by(iso2, year, quint) %>%
summarise(ae_quintile = first(ae_quintile),
fd_pae_e = sum(fd_me*1000000)/(ae_quintile))
# summarize final demand per adult equivalent per quintile across all sectors as basis for European deciles for all countries
summary_country_fd_all = mrio_results_with_adult_eq_all %>%
group_by(iso2, year, quint) %>%
summarise(ae_quintile = first(ae_quintile),
fd_pae_e = sum(fd_me*1000000)/(ae_quintile))
df_mapped_result_2005 = map_mrio_results_to_eu_ntiles(2005, target_eu_ntiles)
df_mapped_result_2005_data = df_mapped_result_2005$df_mapped_data
df_mapped_result_2005_ntiles = df_mapped_result_2005$df_ntile_boundaries
df_mapped_result_2010 = map_mrio_results_to_eu_ntiles(2010, target_eu_ntiles)
df_mapped_result_2010_data = df_mapped_result_2010$df_mapped_data
df_mapped_result_2010_ntiles = df_mapped_result_2010$df_ntile_boundaries
df_mapped_result_data = df_mapped_result_2005_data %>%
bind_rows(df_mapped_result_2010_data)
write_csv(df_mapped_result_data,
here(paste0("analysis/data/derived/si/mrio_results_eu_ntile_mapped_n_", target_eu_ntiles, "_pxp.csv")))
##### SI results, alternative method, EXOIBASE industry-by-industry version
# 1) load income-stratified-footprints formatted results file
dat_results_raw = read_rds(here("analysis", "preprocessing", "income-stratified-footprints",
"results_formatted_method2_ixi.rds")) %>%
ungroup() %>%
mutate(year= strtoi(year)) %>%
rename(iso2 = geo)
# get iso3 country codes to join with hh data
country_codes = ISOcodes::ISO_3166_1 %>%
select(iso2 = Alpha_2, iso3 = Alpha_3) %>%
# resolve inconsistency between EUROSTAT and ISO for Greece and UK/Great Britain
mutate(iso2 = if_else(iso2=="GR", "EL", iso2)) %>%
mutate(iso2 = if_else(iso2=="GB", "UK", iso2))
# read in total private households data from EUROSTAT and Norway, merge, and write .csv
## set 4 digits per value
options(digits=4)
## EUROSTAT total private households
total_private_households_Eurostat = read.csv(here("/analysis/preprocessing/income-stratified-footprints/lfst_hhnhtych_1_Data.csv")) %>%
filter(!(GEO %in% c("European Union - 27 countries (from 2020)",
"Euro area - 19 countries (from 2015)",
"European Union - 28 countries (2013-2020)",
"European Union - 15 countries (1995-2004)"))) %>%
mutate(geo = dplyr::recode(GEO,
"Belgium" = "BE",
"Bulgaria" = "BG",
"Czechia" = "CZ",
"Denmark" = "DK",
"Germany (until 1990 former territory of the FRG)" = "DE",
"Estonia" = "EE",
"Ireland" = "IE",
"Greece" = "EL",
"Spain" = "ES",
"France" = "FR",
"Croatia" = "HR",
"Italy" = "IT",
"Cyprus" = "CY",
"Latvia" = "LV",
"Lithuania" = "LT",
"Luxembourg" = "LU",
"Hungary" = "HU",
"Malta" = "MT",
"Netherlands" = "NL",
"Austria" = "AT",
"Poland" = "PL",
"Portugal" = "PT",
"Romania" = "RO",
"Slovenia" = "SI",
"Slovakia" = "SK",
"Finland" = "FI",
"Sweden" = "SE",
"United Kingdom" = "UK",
"Montenegro" = "ME",
"North Macedonia" = "MK",
"Serbia" = "RS",
"Turkey" = "TR")) %>%
select(TIME,geo,Value) %>%
rename(year = TIME, total_private_households = Value) %>%
mutate(total_private_households = as.character(total_private_households),
total_private_households = parse_number(total_private_households),
total_private_households = as.numeric(total_private_households),
total_private_households = total_private_households*1000)
## Norway total private households
total_private_households_Norway = read.csv(here("/analysis/preprocessing/income-stratified-footprints/Privathusholdninger.csv")) %>%
gather(year, total_private_households, Private.households.2005:Private.households.2019) %>%
mutate(geo = dplyr::recode(region,
"0 The whole country" = "NO"),
year = dplyr::recode(year,
"Private.households.2005" = 2005,
"Private.households.2006" = 2006,
"Private.households.2007" = 2007,
"Private.households.2008" = 2008,
"Private.households.2009" = 2009,
"Private.households.2010" = 2010,
"Private.households.2011" = 2011,
"Private.households.2012" = 2012,
"Private.households.2013" = 2013,
"Private.households.2014" = 2014,
"Private.households.2015" = 2015,
"Private.households.2016" = 2016,
"Private.households.2017" = 2017,
"Private.households.2018" = 2018,
"Private.households.2019" = 2019)) %>%
select(year,geo,total_private_households)
## merge EUROSTAT and Norway total private households data
total_private_households = rbind(total_private_households_Eurostat,
total_private_households_Norway) %>%
mutate(geo = as.character(geo),
year = as.numeric(year),
total_private_households = as.numeric(total_private_households))
## write .csv file with all total private households data
write_csv(total_private_households, here("/analysis/preprocessing/income-stratified-footprints/total_private_households.csv"))
# the original 'total_private_households_original.csv' is in 'income-stratified-footprints-in-europe/data' - if something goes wrong
# with the main paper results (pulling from the mrio results file written later) then the problem is here, when I added
# the as.character mutation in the total_private_households_Eurostat
## return to 2 digits per value
options(digits=2)
# 2) load EUROSTAT household data
hh_data = read_csv(here("analysis", "preprocessing", "income-stratified-footprints",
"total_private_households.csv")) %>%
mutate(imputed = if_else(is.na(total_private_households), TRUE, FALSE)) %>%
rename(iso2 = geo) %>%
group_by(iso2) %>%
# impute households with next available neighbour
mutate(hh = na_locf(total_private_households)) %>%
left_join(country_codes, by="iso2") %>%
select(-total_private_households)
#3) EUROSTAT mean expenditures per household income quintile per household and per adult equivalent
df_expenditure_long = read_csv(here("analysis", "preprocessing", "income-stratified-footprints",
"mean_expenditure_by_quintile_long.csv"),
na = ":") %>%
#filter(year >=2010, geo != "IT") %>%
#filter(year >=2005, geo != "IT") %>%
#decide here
filter(year >=2005) %>%
mutate(imputed = if_else(is.na(mean_expenditure), TRUE, FALSE)) %>%
group_by(geo,unit,quintile) %>%
mutate(value = na_locf(mean_expenditure)) %>%
select(-mean_expenditure) %>%
ungroup()
## calculate adult equivalents per household
df_adult_e_p_hh = df_expenditure_long %>%
rename(iso2 = geo) %>%
pivot_wider(id_cols = c(iso2, year, quintile, imputed),
names_from = unit,
values_from = value) %>%
clean_names() %>%
mutate(adult_e_p_hh = pps_hh/pps_ae) %>%
left_join(country_codes, by="iso2") %>%
mutate(iso3 = if_else(iso2 == "XK", "XKX", iso3),
quint = parse_number(quintile))
## add quintile population data
mrio_results_with_adult_eq_all = dat_results_raw %>%
filter(year %in% c(2005, 2010, 2015)) %>%
left_join(hh_data, by=c("iso2", "year")) %>%
mutate(hh_quintile = hh/5) %>% # population per country quinitle
select(-hh) %>%
rename(hh_imputed = imputed) %>%
left_join(df_adult_e_p_hh %>%
select(iso2, year, quint, imputed_ae = imputed, adult_e_p_hh),
by=c("iso2", "year", "quint")) %>%
mutate(ae_quintile = hh_quintile * adult_e_p_hh) %>%
select(-c(hh_quintile, adult_e_p_hh))
## for the European expenditure deciles we use only countries with data in 2005, 2010 and 2015. This excludes Luxembourg and Italy.
complete_countries = mrio_results_with_adult_eq_all %>%
group_by(year, iso2) %>%
summarise(co2_kg = sum(co2_kg)) %>%
ungroup() %>%
filter(co2_kg>0) %>%
select(iso2, year, co2_kg) %>%
pivot_wider(id_cols = c(iso2), names_from = year, values_from = co2_kg) %>%
drop_na() %>%
select(iso2) %>%
pull()
df_adult_e_p_hh %>%
filter(iso2 %in% complete_countries, year<=2015, year>=2005) %>%
mutate(quint = parse_number(quintile))
# calculate European expenditure deciles based on loaded income-stratified-footprints result file and adult equivalents.
# returns country quintiles mapped to European ntile rank and European ntile boundaries
# helper function called by function below
calculate_eu_ntiles <- function(pyear, pquantile_count=10) {
country_data_annual_sorted = summary_country_fd %>%
ungroup() %>%
filter(year==pyear) %>%
arrange(fd_pae_e) %>%
mutate(idx = 1:n(),
eu_q_rank = 0) # later to be filled with euro quintile rank
# total European adult equivalents (of included countries) in year
total_ae_in_year = sum(country_data_annual_sorted$ae_quintile)
# quantile target ae population
eu_decile_adult_eq = total_ae_in_year/pquantile_count
# country quintiles must be split to allocate ae population according to European quantile target ae population
# filtering by condition that can't be fulfilled is a lazy way to create an empty dataframe
# of the same structure as country_data_annual_sorted
additional_rows = country_data_annual_sorted %>%
filter(year==1)
# store quantile split values
eu_quantile_boundaries = data.frame(euro_q_rank = 1:pquantile_count, p = 0)
## loops through the ordered dataset, assigns European quantile rank
## and splits quintiles where necessary
eu_ae_current = 0
euro_q_rank_current = 1
for (row_idx in 1:nrow(country_data_annual_sorted)) {
row = country_data_annual_sorted[row_idx,]
if (row["ae_quintile"] + eu_ae_current <= eu_decile_adult_eq) {
eu_ae_current = eu_ae_current + row["ae_quintile"]
country_data_annual_sorted[row_idx, "eu_q_rank"] = euro_q_rank_current
} else {
ae_diff = eu_decile_adult_eq - eu_ae_current
## write rest of this European decile (split country quintile)
new_row = country_data_annual_sorted[row_idx, ]
new_row[1, "eu_q_rank"] = euro_q_rank_current
new_row[1, "ae_quintile"] = ae_diff
## record European quantile boundary
eu_quantile_boundaries[eu_quantile_boundaries$euro_q_rank==euro_q_rank_current, "p"] =
country_data_annual_sorted[row_idx, "fd_pae_e"]
## put first part of population in overflow dataframe
additional_rows = additional_rows %>%
bind_rows(new_row)
## classify rest of country quintile population to next European quantile
country_data_annual_sorted[row_idx, "ae_quintile"] =
country_data_annual_sorted[row_idx, "ae_quintile"] - (ae_diff+0.0001)
euro_q_rank_current = euro_q_rank_current + 1
country_data_annual_sorted[row_idx, "eu_q_rank"] = euro_q_rank_current
eu_ae_current = country_data_annual_sorted[row_idx, "ae_quintile"]
}
}
country_data_eu_quantiles = country_data_annual_sorted %>%
bind_rows(additional_rows) %>%
arrange(fd_pae_e, eu_q_rank) %>%
mutate(idx = 1:n())
# add zeroth and nth quantile (min and max)
eu_quantile_boundaries[pquantile_count, "p"] = max(country_data_eu_quantiles$fd_pae_e)
list("df_q_data" = country_data_eu_quantiles, "df_q_boundaries" = eu_quantile_boundaries)
}
# maps income-stratified-footprint results to European ntile ranks, returns mapping and ntile European boundaries
map_mrio_results_to_eu_ntiles <- function(pyear, ptarget_ntiles) {
df_eu_ntiles = calculate_eu_ntiles(pyear, pquantile_count = ptarget_ntiles)
df_eu_ntiles_data = df_eu_ntiles$df_q_data
sector_mapping = mrio_results_with_adult_eq %>%
group_by(coicop) %>%#
summarise(coicop = first(coicop)) %>%
ungroup()
df_mapped_data = mrio_results_with_adult_eq %>%
select(year,
iso2,
quint,
coicop,
fd_me,
co2_kg,
co2_domestic_kg,
co2_europe_kg,
co2eq_kg,
co2eq_domestic_kg,
co2eq_europe_kg,
energy_use_tj,
energy_use_domestic_tj,
energy_use_europe_tj,
ae_quintile) %>%
filter(year==pyear) %>%
# calculate per adult equivalent values in quintiles
mutate(fd_pae_e = fd_me*1000000/ae_quintile,
co2_pae_kg = co2_kg/ae_quintile,
co2_pae_dom_kg = co2_domestic_kg/ae_quintile,
co2_pae_eu_kg = co2_europe_kg/ae_quintile,
co2eq_pae_kg = co2eq_kg/ae_quintile,
co2eq_pae_dom_kg = co2eq_domestic_kg/ae_quintile,
co2eq_pae_eu_kg = co2eq_europe_kg/ae_quintile,
energy_use_pae_tj = energy_use_tj/ae_quintile,
energy_use_dom_pae_tj = energy_use_domestic_tj/ae_quintile,
energy_use_eu_pae_tj = energy_use_europe_tj/ae_quintile) %>%
# remove totals
select(-c(fd_me,
co2_kg,
co2_domestic_kg,
co2_europe_kg,
co2eq_kg,
co2eq_domestic_kg,
co2eq_europe_kg,
energy_use_tj,
energy_use_domestic_tj,
energy_use_europe_tj,
year, ae_quintile)) %>%
full_join(df_eu_ntiles_data %>%
rename(fd_pae_e_quint_tmp = fd_pae_e), by=c("iso2", "quint")) %>%
rename(adult_eq = ae_quintile) %>% # country quintile and their split fraction population
# recalculate totals
mutate(fd_me = fd_pae_e*adult_eq/1000000,
co2_kg = co2_pae_kg*adult_eq,
co2_dom_kg = co2_pae_dom_kg*adult_eq,
co2_eu_kg = co2_pae_eu_kg*adult_eq,
co2eq_kg = co2eq_pae_kg*adult_eq,
co2eq_dom_kg = co2eq_pae_dom_kg*adult_eq,
co2eq_eu_kg = co2eq_pae_eu_kg*adult_eq,
energy_use_tj = energy_use_pae_tj*adult_eq,
energy_use_dom_tj = energy_use_dom_pae_tj*adult_eq,
energy_use_eu_tj = energy_use_eu_pae_tj*adult_eq
) #%>%
#left_join(sector_mapping, by="sector_id") # comment out joining sectors (only working with coicop categories in method2)
list("df_mapped_data" = df_mapped_data, "df_ntile_boundaries" = df_eu_ntiles$df_q_boundaries)
}
# filter only countries with complete info for years 2005, 2010, 2015
mrio_results_with_adult_eq = mrio_results_with_adult_eq_all %>%
filter(iso2 %in% complete_countries)
# summarize final demand per adult equivalent per quintile across all sectors as basis for European deciles for complete countries
summary_country_fd = mrio_results_with_adult_eq %>%
group_by(iso2, year, quint) %>%
summarise(ae_quintile = first(ae_quintile),
fd_pae_e = sum(fd_me*1000000, na.rm = T)/(ae_quintile))
# summarize final demand per adult equivalent per quintile across all sectors as basis for European deciles for all countries
summary_country_fd_all = mrio_results_with_adult_eq_all %>%
group_by(iso2, year, quint) %>%
summarise(ae_quintile = first(ae_quintile),
fd_pae_e = sum(fd_me*1000000, na.rm = T)/(ae_quintile))
df_mapped_result_2005 = map_mrio_results_to_eu_ntiles(2005, target_eu_ntiles)
df_mapped_result_2005_data = df_mapped_result_2005$df_mapped_data
df_mapped_result_2005_ntiles = df_mapped_result_2005$df_ntile_boundaries
df_mapped_result_2010 = map_mrio_results_to_eu_ntiles(2010, target_eu_ntiles)
df_mapped_result_2010_data = df_mapped_result_2010$df_mapped_data
df_mapped_result_2010_ntiles = df_mapped_result_2010$df_ntile_boundaries
df_mapped_result_2015 = map_mrio_results_to_eu_ntiles(2015, target_eu_ntiles)
df_mapped_result_2015_data = df_mapped_result_2015$df_mapped_data
df_mapped_result_2015_ntiles = df_mapped_result_2015$df_ntile_boundaries
df_mapped_result_data = df_mapped_result_2005_data %>%
bind_rows(df_mapped_result_2010_data) %>%
bind_rows(df_mapped_result_2015_data)
write_csv(df_mapped_result_data,
here(paste0("analysis/data/derived/si/mrio_results_eu_ntile_mapped_n_", target_eu_ntiles, "_method2_ixi.csv")))