--- 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. ```{r setup, echo = FALSE, include = FALSE, message = FALSE} # 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. ```{r exiobase, eval = FALSE} # 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] 1) 'Mean consumption expenditure by income quintile (hbs_exp_t133)' 2) 'Structure of consumption expenditure by income quintile and COICOP consumption purpose (hbs_str_t223)' Would be in an 'income-stratified-footprints' preprocessing folder 1) The 'lfst_hhnhtych' table from EUROSTAT, selecting all available years and total households [accessed on 04.05.2020]. 2) 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]. ```{r income-stratified-footprints, eval = FALSE} # income-stratified-footprints directory #data_dir_income_stratified_footprints = paste("/",file.path("data","metab","income-stratified-footprints", fsep=.Platform$file.sep),sep="") data_dir_income_stratified_footprints = here("analysis", "preprocessing", "income-stratified-footprints") data_dir_exiobase = here("analysis", "preprocessing", "EXIOBASE") ################################################### !!!! method 1 - PPS HH - RENT NOT MAPPED TO EXIOBASE !!!! ########################################### ########################################################################################################################################################## ########################################################################################################################################################## #### IF YOU WANT THE RESULTS USING PPS PER ADULT EQUIVALENT - FILTER 'MEAN EXPENDITURE BY QUINTILE' BELOW FOR (unit == "PPS_AE") AND MAKE SURE TO UNCOMMENT #### THE LINE SAVING IT AT THE END (AND COMMENT OUT THE LINE SAVING THE 'PPS HH' VERSION) - for both ixi and pxp Exiobase versions ## Eurostat Household Budget Survey # 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 set 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_csv(mean_expenditure_by_quintile_long, paste0(data_dir_income_stratified_footprints, "/mean_expenditure_by_quintile_long.csv")) # create long data sets for both 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) 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)) ## In the code above, I collapse (sum) the two 'rent' HBS sectors 'CP041' and 'CP042' to create a ## single 'rent' sector so as to allocate all rent to 'Real-estate services' in Exiobase. # join the HBS expenditure 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)) ################################################### !!!! method 1 - IXI version - PPS HH NO RENT !!!! #################################################### ########################################################################################################################################################## ########################################################################################################################################################## ## Exiobase - ixi version years_exb_ixi = c(2005,2010,2015) disaggregated_final_demand = NULL TIVs = NULL domestic_TIVs = NULL europe_TIVs = NULL national_fp = NULL national_territorial = 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 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) # 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")) # hh fd with production sector labels hh_fd_with_production_sector_labels = cbind(Exiobase_T_labels,Eurostat_countries) %>% rename(geo = V1, sector = V2) # assumption of same purchase structure between quintiles of domestic and foreign final demand # replicate each cell of each country's hh final demand as many times as there are income groups in the HBS data - in this preliminary case:5 cells_repeat = data.frame(hh_fd_with_production_sector_labels %>% slice(rep(1:n(), each = 5))) quintiles = data.frame(rep(c("QUINTILE1","QUINTILE2","QUINTILE3","QUINTILE4","QUINTILE5"),163)) %>% rename_at(1,~"quintile") replicated = cbind(cells_repeat,quintiles) %>% rename(country_of_production = geo) # make fd data long replicated_long = replicated %>% gather(geo, value,-sector,-coicop,-quintile,-five_sectors,-country_of_production) year = as.character(rep(year_current,nrow(replicated_long))) replicated_long = cbind(year,replicated_long) disaggregated_final_demand = rbind(disaggregated_final_demand, replicated_long) # 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) # join domestic_TIVs with labels 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) # european 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) # national territorial 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,] 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) year_territorial = as.character(rep(year_current,nrow(territorial))) look_territorial = as.data.frame(cbind(year_territorial, Exiobase_T_labels, territorial)) %>% rename(year = year_territorial, geo = V1, sector = V2) %>% select(-coicop,-five_sectors) national_territorial = rbind(national_territorial, look_territorial) } 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.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 sector shares = join_expenditures %>% group_by(coicop,geo,year) %>% mutate(share = pps_coicop/sum(pps_coicop)) # pre-processing 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 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) 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) results_with_direct_FD_fp = bind_rows(results,direct_FD_fp_wide) ### create compressed results_ixi rds 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_csv(sectors, here("data/sector_labels.csv")) 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_csv(sectors_agg, here("data/sector_agg_labels.csv")) 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_csv(sectors_agg, here("data/sector_agg_labels.csv")) 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 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) ### TODO: also convert to other indicators to this format (as blocks above) ### TODO: left join all indicators back to "results_formated" like her with co2 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.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")) ################################################### !!!! method 1 - PXP version - PPS HH NO RENT !!!! #################################################### ########################################################################################################################################################## ########################################################################################################################################################## # Exiobase - pxp version years_exb_pxp = c(2005,2010) disaggregated_final_demand = NULL TIVs = NULL domestic_TIVs = NULL europe_TIVs = NULL national_fp = NULL national_territorial = NULL for (i in years_exb_pxp){ year_current = i Exiobase_FD = read.csv(paste0(data_dir_exiobase, "/IOT_",year_current,"_pxp/FD_",year_current,"_pxp.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) # labels Exiobase_T_labels = read.csv(paste0(data_dir_income_stratified_footprints, "/data/Exiobase_T_labels_pxp_w_coicop_mapping_no_rent.csv")) %>% mutate(V1 = dplyr::recode(V1,"GR" = "EL","GB" = "UK")) # hh fd with production sector labels hh_fd_with_production_sector_labels = cbind(Exiobase_T_labels,Eurostat_countries) %>% rename(geo = V1, sector = V2) # assumption of same purchase structure between quintiles of domestic and foreign final demand # replicate each cell of each country's hh final demand as many times as there are income groups in the HBS data - in this preliminary case:5 cells_repeat = data.frame(hh_fd_with_production_sector_labels %>% slice(rep(1:n(), each = 5))) quintiles = data.frame(rep(c("QUINTILE1","QUINTILE2","QUINTILE3","QUINTILE4","QUINTILE5"),200)) %>% rename_at(1,~"quintile") replicated = cbind(cells_repeat,quintiles) %>% rename(country_of_production = geo) # make fd data long replicated_long = replicated %>% gather(geo, value,-sector,-coicop,-quintile,-five_sectors,-country_of_production) year = as.character(rep(year_current,nrow(replicated_long))) replicated_long = cbind(year,replicated_long) disaggregated_final_demand = rbind(disaggregated_final_demand, replicated_long) # TIVs # 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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] 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) 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) # 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) # join domestic_TIVs with labels 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_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) # 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, "_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) 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) # national territorial 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,] 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) year_territorial = as.character(rep(year_current,nrow(territorial))) look_territorial = as.data.frame(cbind(year_territorial, Exiobase_T_labels, territorial)) %>% rename(year = year_territorial, geo = V1, sector = V2) %>% select(-coicop,-five_sectors) national_territorial = rbind(national_territorial, look_territorial) } 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.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 sector shares = join_expenditures %>% group_by(coicop,geo,year) %>% mutate(share = pps_coicop/sum(pps_coicop)) # pre-processing 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 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) 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) results_with_direct_FD_fp = bind_rows(results,direct_FD_fp_wide) ### create compressed results_pxp rds 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()) # if interested in looking at a sectoral breakdown of the product-by-product version results, un-comment line below #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_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_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) ### TODO: also convert to other indicators to this format (as blocks above) ### TODO: left join all indicators back to "results_formated" like her with co2 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.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 ```{r european-expenditure-deciles, eval = FALSE} # 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 %>% 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"))) ```