library(tidyverse) library(scales) library(janitor) library(paletteer) source("Scripts/Return_Data_Center_Model_Inputs.r") DATA_CENTER <- DATA_CENTER_INPUTS() DATA_CENTER %>% filter(Year==2028,Event=='COMPUTERS') DATA_CENTER <- rbind(DATA_CENTER,do.call(rbind, lapply(2031:2050,function(x){DATA_CENTER %>% filter(Year==2030) %>% mutate(Year=x)}))) GET_DATA_CENTER_RES <- function(DIR,EVENT,REGION='Wyoming'){ # DIR<-"Data_Center_Employment_100_People" # EVENT<-'DATA_CENTER_EMP' PATH <- paste0("Model_Outputs/IMPLAN/Data_Center/",REGION,"/",DIR,"/economic_indicators_by_impact.csv") INPUT_DATA <- read_csv(PATH) %>% rename(Income=`Labor Income`) %>% mutate(Income=parse_number(Income),`Value Added`=parse_number(`Value Added`),Output=parse_number(Output)) %>% mutate(Region=REGION,Event=EVENT) INPUT_DATA$Impact <- gsub("3 - ","",gsub("2 - ","",gsub("1 - ","",INPUT_DATA$Impact))) INPUT_DATA <- INPUT_DATA %>% pivot_longer(-c(Impact,Region,Event)) %>% rename(Type=Impact,Impact=name) INPUT_DATA$Impact <- gsub("3 - ","",gsub("2 - ","",gsub("1 - ","",INPUT_DATA$Impact))) INPUT_DATA <- INPUT_DATA %>% mutate(Source='IMPLAN') %>% select(Type,Region,Impact,Event,Source,value) INPUT_DATA <- INPUT_DATA %>% filter(!is.na(Type)) INPUT_DATA$value <- if(EVENT=='DATA_CENTER_EMP'){INPUT_DATA$value <- INPUT_DATA$value/100}else{INPUT_DATA$value/10^6} #shift to impact per dollar from impact per million dollar INPUT_DATA <- INPUT_DATA %>% rename('marginal'=value) INPUT_DATA <- INPUT_DATA %>% left_join(DATA_CENTER) %>% mutate(value=marginal*total) INPUT_DATA <- INPUT_DATA %>% group_by(Type,Year,Region,Impact,Source,Event) %>% summarize(value=sum(value)) %>% ungroup return(INPUT_DATA ) } WY_DATA <- rbind(GET_DATA_CENTER_RES("Computer_Purchase_Mill_Dollars",'COMPUTERS'),GET_DATA_CENTER_RES("Construction_Mill_Dollars",'BUILDING'),GET_DATA_CENTER_RES("Data_Center_Employment_100_People",'DATA_CENTER_EMP'),GET_DATA_CENTER_RES("Other_Purchases_Mill_Dollars","OTHER"),GET_DATA_CENTER_RES("Pre-Development_Million_Dollars","PRE_DEV"),GET_DATA_CENTER_RES("Utlities_Electricity_Million_USD","UTILITIES")) US_DATA <- rbind(GET_DATA_CENTER_RES("Computer_Purchase_Mill_Dollars",'COMPUTERS','US'),GET_DATA_CENTER_RES("Construction_Mill_Dollars",'BUILDING','US'),GET_DATA_CENTER_RES("Data_Center_Employment_100_People",'DATA_CENTER_EMP','US'),GET_DATA_CENTER_RES("Other_Purchases_Mill_Dollars","OTHER",'US'),GET_DATA_CENTER_RES("Pre-Development_Million_Dollars","PRE_DEV",'US'),GET_DATA_CENTER_RES("Utlities_Electricity_Million_USD","UTILITIES",'US')) GET_DATA_CENTER_RES("Computer_Purchase_Mill_Dollars",'COMPUTERS','US') GET_DATA_CENTER_RES("Data_Center_Employment_100_People",'DATA_CENTER_EMP') ALL_DATA <- rbind(WY_DATA,US_DATA) GET_DATA_CENTER_RES("Data_Center_Employment_100_People",'DATA_CENTER_EMP') ALL_DATA <- ALL_DATA %>% group_by(Year,Region,Impact,Event) %>% summarize(value=sum(value)) %>% ungroup US_DATA <- ALL_DATA %>% group_by(Year,Impact,Event) %>% summarize(value=max(value)-min(value)) %>% ungroup %>% mutate(Region='US') ALL_DATA <- ALL_DATA %>% filter(Region=='Wyoming') %>% full_join(US_DATA) ALL_DATA %>% filter(Year==2030,value>0) GRAPH_DATA <- ALL_DATA %>% mutate(value=ifelse(Impact!='Employment',value,value)) %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup GRAPH_DATA %>% filter(Year==2040) ggplot(GRAPH_DATA %>% filter(Impact=='Employment'),aes(x=Year,y=value,fill=Region))+geom_area()+facet_grid(~Impact) ggplot(GRAPH_DATA ,aes(x=Year,y=value,fill=Region))+geom_area()+facet_grid(~Impact)