── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ readr::col_factor() masks scales::col_factor()
✖ purrr::discard() masks scales::discard()
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Emissions_Data_long <-gather(Emissions_Data, key ="Region", value ="Emissions", -Year)emissions_data <- Emissions_Data_long %>%filter(Region %in%c("China", "Asia"))share_of_china_data <- Emissions_Data_long %>%filter(Region =="ShareOfChina") %>%mutate(Emissions = Emissions *100) p <-ggplot() +geom_bar(data = emissions_data, aes(x = Year, y = Emissions, fill = Region), stat ="identity", position ="dodge") +geom_line(data = share_of_china_data, aes(x = Year, y = Emissions, group =1), color ="green", size =1) +scale_fill_manual(values =c("China"="blue", "Asia"="red")) +labs(x ="Year",y ="Emissions (Millions of metric tons of CO2 equivalent)",title ="Global Trends in Carbon Emissions",fill ="Region" ) +theme_minimal()
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
p <- p +scale_y_continuous(name ="Emissions",sec.axis =sec_axis(~./100, name="Share of China (percentage)"), limits =c(0, max(Emissions_Data_long$Emissions)) )print(p)
Carbon_Emissions_Instrument <-read_excel("~/Downloads/Carbon_Emissions_Instrument.xlsx", sheet ="Compliance_Emissions_Edited")Beijing_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Beijing pilot ETS") %>%select(`2000`:`2023`)Beijing_ets_data <- Beijing_ets_data %>%mutate(Instrument ="Beijing pilot ETS") %>%select(Instrument, everything())Tianjin_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Tianjin pilot ETS") %>%select(`2000`:`2023`)Tianjin_ets_data <- Tianjin_ets_data %>%mutate(Instrument ="Tianjin pilot ETS") %>%select(Instrument, everything())Shanghai_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Shanghai pilot ETS") %>%select(`2000`:`2023`)Shanghai_ets_data <- Shanghai_ets_data %>%mutate(Instrument ="Shanghai pilot ETS") %>%select(Instrument, everything())Hubei_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Hubei pilot ETS") %>%select(`2000`:`2023`)Hubei_ets_data <- Hubei_ets_data %>%mutate(Instrument ="Hubei pilot ETS") %>%select(Instrument, everything())Chongqing_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Chongqing pilot ETS") %>%select(`2000`:`2023`)Chongqing_ets_data <- Chongqing_ets_data %>%mutate(Instrument ="Chongqing pilot ETS") %>%select(Instrument, everything())Fujian_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Fujian pilot ETS") %>%select(`2000`:`2023`)Fujian_ets_data <- Fujian_ets_data %>%mutate(Instrument ="Fujian pilot ETS") %>%select(Instrument, everything())Shenzhen_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Shenzhen pilot ETS") %>%select(`2000`:`2023`)Shenzhen_ets_data <- Shenzhen_ets_data %>%mutate(Instrument ="Shenzhen pilot ETS") %>%select(Instrument, everything())Guangdong_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Guangdong pilot ETS") %>%select(`2000`:`2023`)Guangdong_ets_data <- Guangdong_ets_data %>%mutate(Instrument ="Guangdong pilot ETS") %>%select(Instrument, everything())china_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="China national ETS") %>%select(`2000`:`2023`)china_ets_data <- china_ets_data %>%mutate(Instrument ="China National ETS") %>%select(Instrument, everything())world_ets_data <- Carbon_Emissions_Instrument %>%filter(`Name of the initiative`=="Total") %>%select(`2000`:`2023`)world_ets_data <- world_ets_data %>%mutate(Instrument ="World Total") %>%select(Instrument, everything())instrument_data <-bind_rows(china_ets_data,Beijing_ets_data,Tianjin_ets_data,Shanghai_ets_data,Hubei_ets_data,Chongqing_ets_data,Fujian_ets_data,Shenzhen_ets_data,Guangdong_ets_data, world_ets_data)regional_ets_data <- instrument_data %>%filter(Instrument %in%c("Beijing pilot ETS", "Tianjin pilot ETS", "Shanghai pilot ETS","Hubei pilot ETS", "Chongqing pilot ETS", "Fujian pilot ETS","Shenzhen pilot ETS", "Guangdong pilot ETS"))regional_ets_total <- regional_ets_data %>%select(-Instrument) %>%summarise(across(everything(), ~sum(.x, na.rm =TRUE)))regional_ets_total <- regional_ets_total %>%mutate(Instrument ="Regional ETS") %>%select(Instrument, everything())China_world_data <-bind_rows(Beijing_ets_data,Tianjin_ets_data,Shanghai_ets_data,Hubei_ets_data,Chongqing_ets_data,Fujian_ets_data,Shenzhen_ets_data,Guangdong_ets_data,regional_ets_total,china_ets_data, world_ets_data)China_world_data <- China_world_data %>%mutate(across(everything(), ~ifelse(is.na(.x), 0, .x)))years_to_remove <-as.character(2000:2012) China_world_data <- China_world_data %>%select(-all_of(years_to_remove))
China_ETS <-filter(China_world_data, Instrument =="China National ETS")Regional_ETS <-filter(China_world_data, Instrument =="Regional ETS")World_Total <-filter(China_world_data, Instrument =="World Total")China_ETS_long <-pivot_longer(China_ETS, cols =`2013`:`2023`, names_to ="Year", values_to ="Emissions")Regional_ETS_long <-pivot_longer(Regional_ETS, cols =`2013`:`2023`, names_to ="Year", values_to ="Emissions")World_Total_long <-pivot_longer(World_Total, cols =`2013`:`2023`, names_to ="Year", values_to ="Emissions")proportion_data <-left_join(China_ETS_long, Regional_ETS_long, by ="Year", suffix =c("_China", "_Regional")) %>%left_join(World_Total_long, by ="Year") %>%mutate(Proportion_China = Emissions_China / Emissions,Proportion_Regional = Emissions_Regional / Emissions ) %>%select(Year, Proportion_China, Proportion_Regional)proportion_data_long <-pivot_longer( proportion_data,cols =c("Proportion_China", "Proportion_Regional"),names_to ="ETS_Type",values_to ="Proportion")proportion_data_long <- proportion_data_long %>%mutate(Year =as.numeric(Year))ggplot(proportion_data_long, aes(x = Year, y = Proportion, color = ETS_Type, group = ETS_Type)) +geom_line() +scale_x_continuous(breaks = scales::pretty_breaks(n =10)) +# Ensure x-axis is continuous and has nice breaksscale_y_continuous(labels = scales::percent_format()) +# Convert to percentage for the y-axistheme_minimal() +labs(title ="Proportion of China National and Regional ETS Emission to World Total",x ="Year",y ="Proportion (%)",color ="ETS Type")