Finalizing numbers
This commit is contained in:
parent
510d440752
commit
da04dabd8a
@ -25,20 +25,91 @@ 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"))
|
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'))
|
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')
|
DATA <-rbind(US_DATA,WY_DATA) %>% group_by(Year,Type,Region,Impact,Source) %>% summarize(value=sum(value)) %>% ungroup
|
||||||
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')
|
GET_DATA_CENTER_TAX <- function(DIR,EVENT,REGION='Wyoming'){
|
||||||
ALL_DATA <- ALL_DATA %>% group_by(Year,Region,Impact,Event) %>% summarize(value=sum(value)) %>% ungroup
|
# DIR<-"Data_Center_Employment_100_People"
|
||||||
US_DATA <- ALL_DATA %>% group_by(Year,Impact,Event) %>% summarize(value=max(value)-min(value)) %>% ungroup %>% mutate(Region='US')
|
# EVENT<-'DATA_CENTER_EMP'
|
||||||
ALL_DATA <- ALL_DATA %>% filter(Region=='Wyoming') %>% full_join(US_DATA)
|
PATH <- paste0("Model_Outputs/IMPLAN/Data_Center/",REGION,"/",DIR,"/tax_results.csv")
|
||||||
ALL_DATA %>% filter(Year==2030,value>0)
|
INPUT_DATA <- read_csv(PATH) %>% mutate(`Sub County General`=parse_number(`Sub County General`),`Sub County Special Districts`=parse_number(`Sub County Special Districts`),County=parse_number(County),County=County+`Sub County General`+`Sub County Special Districts`,State=parse_number(State),Federal=parse_number(Federal)) %>% select(-Total,`Sub County General`,`Sub County Special Districts`) %>% 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_TAX <- rbind(GET_DATA_CENTER_TAX("Computer_Purchase_Mill_Dollars",'COMPUTERS'),GET_DATA_CENTER_TAX("Construction_Mill_Dollars",'BUILDING'),GET_DATA_CENTER_TAX("Data_Center_Employment_100_People",'DATA_CENTER_EMP'),GET_DATA_CENTER_TAX("Other_Purchases_Mill_Dollars","OTHER"),GET_DATA_CENTER_TAX("Pre-Development_Million_Dollars","PRE_DEV"),GET_DATA_CENTER_TAX("Utlities_Electricity_Million_USD","UTILITIES"))
|
||||||
|
US_DATA_TAX <- rbind(GET_DATA_CENTER_TAX("Computer_Purchase_Mill_Dollars",'COMPUTERS','US'),GET_DATA_CENTER_TAX("Construction_Mill_Dollars",'BUILDING','US'),GET_DATA_CENTER_TAX("Data_Center_Employment_100_People",'DATA_CENTER_EMP','US'),GET_DATA_CENTER_TAX("Other_Purchases_Mill_Dollars","OTHER",'US'),GET_DATA_CENTER_TAX("Pre-Development_Million_Dollars","PRE_DEV",'US'),GET_DATA_CENTER_TAX("Utlities_Electricity_Million_USD","UTILITIES",'US'))
|
||||||
|
TAX <-rbind(US_DATA_TAX,WY_DATA_TAX) %>% group_by(Year,Type,Region,Impact,Source) %>% summarize(value=sum(value)) %>% ungroup
|
||||||
|
IMPLAN <- rbind(TAX,DATA ) %>% select(Type,Year,Region,Impact,Source,value)
|
||||||
|
IMPLAN$Region <- ifelse(IMPLAN$Region=='Wyoming','WY',IMPLAN$Region)
|
||||||
|
########################
|
||||||
|
IMPLAN_DOLLAR <- IMPLAN %>% filter(Impact!='Employment')
|
||||||
|
IMPLAN_DOLLAR <- IMPLAN_DOLLAR %>% group_by(Type,Year,Impact,Source) %>% mutate(value=ifelse(Region=='US',value-min(value),value) ) %>% ungroup
|
||||||
|
IMPLAN_DOLLAR
|
||||||
|
#State tax write off
|
||||||
|
IMPLAN_DOLLAR[IMPLAN_DOLLAR$Impact %in% c("County","State") & IMPLAN_DOLLAR$Type=='Direct'& IMPLAN_DOLLAR$Region=='WY',"value"] <- 0
|
||||||
|
|
||||||
|
|
||||||
GRAPH_DATA <- ALL_DATA %>% mutate(value=ifelse(Impact!='Employment',value,value)) %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup
|
TEMP <- IMPLAN_DOLLAR %>% filter(Year==2028) %>% mutate(value=0)
|
||||||
GRAPH_DATA %>% filter(Year==2040)
|
IMPLAN_DOLLAR <- rbind(IMPLAN_DOLLAR,rbind(TEMP %>% mutate(Year=2025),TEMP %>% mutate(Year=2026),TEMP %>% mutate(Year=2027)))
|
||||||
|
|
||||||
ggplot(GRAPH_DATA %>% filter(Impact=='Employment'),aes(x=Year,y=value,fill=Region))+geom_area()+facet_grid(~Impact)
|
TAX_STATE_BASE <- 500*(10^6*0.115*((62.835-12)/1000)) #State
|
||||||
ggplot(GRAPH_DATA ,aes(x=Year,y=value,fill=Region))+geom_area()+facet_grid(~Impact)
|
TAX_COUNTY_BASE <-500*(10^6*0.115*((12)/1000)) #County
|
||||||
|
IMPLAN_DOLLAR[IMPLAN_DOLLAR$Impact %in% c("County") & IMPLAN_DOLLAR$Type=='Direct'& IMPLAN_DOLLAR$Region=='WY',]
|
||||||
|
DIRECT_TAX_FLOW <- (c(seq(0,1,by=1/3),rev(seq(0,1,by=1/40))))[1:28]
|
||||||
|
IMPLAN_DOLLAR[IMPLAN_DOLLAR$Impact %in% c("County") & IMPLAN_DOLLAR$Type=='Direct'& IMPLAN_DOLLAR$Region=='WY','value'] <- DIRECT_TAX_FLOW *TAX_COUNTY_BASE
|
||||||
|
IMPLAN_DOLLAR[IMPLAN_DOLLAR$Impact %in% c("State") & IMPLAN_DOLLAR$Type=='Direct'& IMPLAN_DOLLAR$Region=='WY','value'] <- DIRECT_TAX_FLOW *TAX_STATE_BASE
|
||||||
|
|
||||||
|
|
||||||
|
IMPLAN_DOLLAR[IMPLAN_DOLLAR$Impact %in% "State" & IMPLAN_DOLLAR$Type=='Direct'& IMPLAN_DOLLAR$Region=='WY',]
|
||||||
|
IMPLAN_DOLLAR %>% pull(Year) %>% unique %>% length
|
||||||
|
|
||||||
|
IMPLAN_DOLLAR$Impact <- factor(IMPLAN_DOLLAR$Impact,levels=c('Output','Value Added','Income','Federal','State','County'))
|
||||||
|
IMPLAN_DOLLAR$Region <- factor(ifelse(IMPLAN_DOLLAR$Region=="WY",'Wyoming',"Rest of United States"),levels=rev(c("Wyoming","Rest of United States")))
|
||||||
|
IMPLAN_DOLLAR_REGION <- IMPLAN_DOLLAR %>% filter(Impact %in% c('Income','Output','Value Added')) %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup
|
||||||
|
|
||||||
|
########################Plot of total impact in US and in Wyoming
|
||||||
|
IMPLAN_REGION_DOLLAR_PLOT <- ggplot(IMPLAN_DOLLAR_REGION ,aes(x=Year,y=value/10^9,fill=Region,group=Region))+geom_area()+facet_wrap(~Impact,ncol=1)+ylab("Billion Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=1))
|
||||||
|
ggsave( filename = "./Results/Data Center: Dollar Values of Model.png", plot = IMPLAN_REGION_DOLLAR_PLOT, width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
||||||
|
########################Taxes
|
||||||
|
IMPLAN_TAX <- IMPLAN_DOLLAR %>% filter(Impact %in% c("County","State","Federal"))
|
||||||
|
OLD <- IMPLAN_TAX
|
||||||
|
IMPLAN_TAX <- IMPLAN_TAX %>% group_by(Type,Year,Impact,Source) %>% mutate(value=ifelse(Region=='Rest of United States',value-min(value),value) ) %>% ungroup
|
||||||
|
IMPLAN_TAX %>% left_join(OLD %>% rename(OLD=value))
|
||||||
|
|
||||||
|
#IMPLAN_TAX <- IMPLAN_TAX[!(IMPLAN_TAX$Type=='Direct' & IMPLAN_TAX$Region=='Rest of United States'& IMPLAN_TAX$Impact!='Federal'),]
|
||||||
|
#IMPLAN_TAX <-IMPLAN_TAX[!(IMPLAN_TAX$Type=='Direct' & IMPLAN_TAX$Region=='Wyoming'& IMPLAN_TAX$Impact=='Federal'),]
|
||||||
|
IMPLAN_DOLLAR <- IMPLAN_DOLLAR %>% filter(!(Impact %in% c("County","State","Federal"))) %>% rbind(IMPLAN_TAX)
|
||||||
|
|
||||||
|
IMPLAN_TAX_FIG_DATA <- IMPLAN_TAX %>% group_by(Year,Impact) %>% summarize(value=sum(value))
|
||||||
|
TAX_PLOT <- ggplot(IMPLAN_TAX_FIG_DATA, aes(x=Year,y=value/10^6,fill=Impact,group=Impact))+geom_area()+ylab("Million Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425","#492F24"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=50))
|
||||||
|
TAX_PLOT
|
||||||
|
ggsave( filename = "./Results/Data Center: Tax Model.png", plot = TAX_PLOT, width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
||||||
|
#############Dollar values table
|
||||||
|
NPV <- IMPLAN_DOLLAR %>% mutate(value=value/10^9,Discount_0=value,Discount_2=value/(1+0.02)^(Year-2028),Discount_5=value/(1+0.05)^(Year-2028),Discount_10=value/(1+0.1)^(Year-2028)) %>% group_by(Impact,Region) %>% summarize(Discount_0=sum(Discount_0),Discount_2=sum(Discount_2),Discount_5=sum(Discount_5),Discount_10=sum(Discount_10)) %>% ungroup
|
||||||
|
NPV[,3:6] <-round(NPV[,3:6],2)
|
||||||
|
write.csv(NPV,"./Results/Data_Center_NPV_Values.csv",row.names=FALSE)
|
||||||
|
|
||||||
|
|
||||||
|
############Employment
|
||||||
|
IMPLAN_EMPLOY <- IMPLAN %>% filter(Impact=='Employment',Source=='IMPLAN') %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup
|
||||||
|
|
||||||
|
|
||||||
|
IMPLAN_EMPLOY <- IMPLAN_EMPLOY %>% group_by(Year,Impact) %>% mutate(value=ifelse(Region=='US',value-min(value),value) ) %>% ungroup
|
||||||
|
#TEMP <- IMPLAN_EMPLOY %>% filter(Year==2028) %>% mutate(value=0)
|
||||||
|
#IMPLAN_EMPLOY <- rbind(IMPLAN_EMPLOY,rbind(TEMP %>% mutate(Year=2025),TEMP %>% mutate(Year=2026),TEMP %>% mutate(Year=2027)))
|
||||||
|
|
||||||
|
|
||||||
|
IMPLAN_EMPLOY$Region <- factor(ifelse(IMPLAN_EMPLOY$Region=="WY",'Wyoming',"Rest of United States"),levels=rev(c("Wyoming","Rest of United States")))
|
||||||
|
IMPLAN_EMPLOYMENT_PLOT <- ggplot(IMPLAN_EMPLOY ,aes(x=Year,y=value,fill=Region,group=Region))+geom_area()+ylab("Employment (Full-Time Equivalent)")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=c(seq(0,50000,by=1000)),labels = label_comma())
|
||||||
|
IMPLAN_EMPLOYMENT_PLOT
|
||||||
|
ggsave( filename = "./Results/Data Center: Employment.png", plot = IMPLAN_EMPLOYMENT_PLOT , width = 8.5, height = 11*(2/4), units = "in", dpi = 600)
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
"Personal Income"
|
||||||
|
,,,
|
||||||
|
"Region","Comparison Type","Forecast","Comparison Forecast"
|
||||||
|
"All Regions","Differences","Peabody Data Center","Standard Regional Control"
|
||||||
|
,"Year",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"Category","Units",2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060
|
||||||
|
"Total Personal Income","Billions of Fixed Local (2025) Dollars",0.000,0.003,0.040,0.396,0.178,0.033,0.023,0.011,0.004,0.001,0.001,0.001,0.002,0.003,0.005,0.006,0.006,0.007,0.007,0.007,0.007,0.007,0.006,0.006,0.006,0.007,0.007,0.007,0.008,0.009,0.009,0.010,0.011,0.012,0.013,0.015
|
||||||
|
"Direct Personal Income","Billions of Fixed Local (2025) Dollars",0.000,0.002,0.018,0.273,0.115,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.005,0.005,0.005,0.005,0.005
|
||||||
|
"Indirect Personal Income","Billions of Fixed Local (2025) Dollars",0.000,0.000,0.004,0.026,0.010,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000
|
||||||
|
"Induced Personal Income","Billions of Fixed Local (2025) Dollars",0.000,0.001,0.018,0.097,0.053,0.029,0.020,0.008,0.001,-0.002,-0.003,-0.002,-0.002,-0.000,0.001,0.002,0.002,0.003,0.003,0.003,0.003,0.002,0.002,0.002,0.002,0.002,0.002,0.003,0.003,0.004,0.005,0.005,0.006,0.007,0.008,0.009
|
||||||
|
Can't render this file because it contains an unexpected character in line 3 and column 8.
|
@ -0,0 +1,10 @@
|
|||||||
|
"Value-Added"
|
||||||
|
,,,,
|
||||||
|
"Region","Industry","Comparison Type","Forecast","Comparison Forecast"
|
||||||
|
"All Regions","All Industries","Differences","Peabody Data Center","Standard Regional Control"
|
||||||
|
,"Year",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"Category","Units",2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060
|
||||||
|
"Total Value-Added","Billions of Fixed (2025) Dollars",0.000,0.005,0.100,0.745,0.312,0.010,-0.011,-0.022,-0.026,-0.025,-0.021,-0.017,-0.012,-0.008,-0.004,-0.001,0.001,0.002,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.004,0.004,0.004,0.005,0.005,0.005,0.006,0.006
|
||||||
|
"Direct Value-Added","Billions of Fixed (2025) Dollars",0.000,0.003,0.057,0.464,0.185,0.002,0.002,0.002,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.004,0.004,0.004,0.004,0.004,0.004
|
||||||
|
"Indirect Value-Added","Billions of Fixed (2025) Dollars",0.000,0.000,0.010,0.069,0.028,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001
|
||||||
|
"Induced Value-Added","Billions of Fixed (2025) Dollars",0.000,0.002,0.034,0.211,0.099,0.007,-0.013,-0.025,-0.029,-0.028,-0.024,-0.020,-0.015,-0.011,-0.007,-0.005,-0.003,-0.001,-0.001,-0.000,-0.000,-0.001,-0.001,-0.001,-0.001,-0.001,-0.001,-0.001,-0.000,-0.000,0.000,0.000,0.001,0.001,0.001,0.002
|
||||||
|
Can't render this file because it contains an unexpected character in line 3 and column 8.
|
@ -0,0 +1,12 @@
|
|||||||
|
"Employment"
|
||||||
|
,,,
|
||||||
|
"Region","Comparison Type","Forecast","Comparison Forecast"
|
||||||
|
"All Regions","Differences","Peabody Data Center","Standard Regional Control"
|
||||||
|
,"Year",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"Category","Units",2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060
|
||||||
|
"Total Employment","Thousands (Jobs)",0.000,0.053,0.530,5.735,2.657,0.303,0.089,-0.040,-0.094,-0.104,-0.088,-0.060,-0.030,-0.002,0.022,0.040,0.054,0.062,0.066,0.067,0.067,0.065,0.063,0.059,0.058,0.058,0.058,0.059,0.062,0.065,0.066,0.068,0.070,0.072,0.075,0.077
|
||||||
|
"Direct Employment","Thousands (Jobs)",0.000,0.033,0.161,3.274,1.400,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053,0.053
|
||||||
|
"Indirect Employment","Thousands (Jobs)",0.000,0.004,0.055,0.465,0.187,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.005,0.005
|
||||||
|
"Induced Employment","Thousands (Jobs)",0.000,0.016,0.314,1.996,1.070,0.246,0.032,-0.097,-0.151,-0.160,-0.144,-0.117,-0.087,-0.058,-0.034,-0.016,-0.003,0.005,0.010,0.011,0.010,0.008,0.006,0.002,0.001,0.001,0.001,0.002,0.006,0.008,0.009,0.011,0.013,0.015,0.018,0.020
|
||||||
|
"Type I Employment Multiplier","Proportion",0.000,1.119,1.343,1.142,1.134,1.076,1.076,1.076,1.076,1.076,1.076,1.077,1.077,1.077,1.078,1.078,1.078,1.078,1.078,1.079,1.079,1.079,1.080,1.080,1.081,1.081,1.082,1.082,1.083,1.083,1.084,1.084,1.085,1.085,1.086,1.087
|
||||||
|
"Type II Employment Multiplier","Proportion",0.000,1.596,3.299,1.752,1.898,5.768,1.687,-0.769,-1.800,-1.972,-1.672,-1.146,-0.576,-0.036,0.423,0.767,1.020,1.177,1.262,1.282,1.270,1.231,1.191,1.123,1.096,1.098,1.107,1.128,1.189,1.229,1.260,1.294,1.332,1.375,1.423,1.472
|
||||||
|
Can't render this file because it contains an unexpected character in line 3 and column 8.
|
@ -0,0 +1,12 @@
|
|||||||
|
"Output"
|
||||||
|
,,,
|
||||||
|
"Region","Comparison Type","Forecast","Comparison Forecast"
|
||||||
|
"All Regions","Differences","Peabody Data Center","Standard Regional Control"
|
||||||
|
,"Year",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"Category","Units",2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060
|
||||||
|
"Total Output","Billions of Fixed (2025) Dollars",0.000,0.009,0.167,1.281,0.535,0.014,-0.021,-0.041,-0.047,-0.044,-0.038,-0.030,-0.021,-0.014,-0.008,-0.003,0.001,0.003,0.005,0.006,0.006,0.006,0.005,0.005,0.005,0.005,0.005,0.006,0.007,0.007,0.008,0.009,0.009,0.010,0.011,0.012
|
||||||
|
"Direct Output","Billions of Fixed (2025) Dollars",0.000,0.005,0.093,0.817,0.328,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.007,0.007,0.007,0.007,0.007,0.007,0.007,0.008,0.008
|
||||||
|
"Indirect Output","Billions of Fixed (2025) Dollars",0.000,0.001,0.016,0.115,0.046,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001
|
||||||
|
"Induced Output","Billions of Fixed (2025) Dollars",0.000,0.003,0.058,0.349,0.161,0.008,-0.027,-0.046,-0.052,-0.050,-0.044,-0.035,-0.027,-0.020,-0.014,-0.009,-0.005,-0.003,-0.002,-0.001,-0.001,-0.001,-0.002,-0.002,-0.002,-0.002,-0.002,-0.002,-0.001,-0.000,0.000,0.000,0.001,0.002,0.002,0.003
|
||||||
|
"Type I Output Multiplier","Proportion",0.000,1.123,1.169,1.145,1.143,1.120,1.121,1.120,1.120,1.120,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.121,1.122,1.122,1.122,1.122,1.123,1.123,1.124,1.124,1.124,1.125,1.125,1.126
|
||||||
|
"Type II Output Multiplier","Proportion",0.000,1.579,1.753,1.578,1.641,2.476,-3.048,-6.036,-6.822,-6.369,-5.302,-4.009,-2.760,-1.650,-0.741,-0.064,0.431,0.747,0.932,1.005,1.019,0.989,0.951,0.869,0.847,0.864,0.890,0.930,1.027,1.088,1.134,1.184,1.237,1.296,1.360,1.426
|
||||||
|
Can't render this file because it contains an unexpected character in line 3 and column 8.
|
@ -4,10 +4,12 @@ library(janitor)
|
|||||||
library(paletteer)
|
library(paletteer)
|
||||||
|
|
||||||
#Function to load IMPLAN Yearly data.
|
#Function to load IMPLAN Yearly data.
|
||||||
GET_IMPLAN_DATA <- function(){
|
GET_IMPLAN_DATA <- function(SINGLE=FALSE){
|
||||||
# YEAR <- 2028
|
#Is this a single phase?
|
||||||
GET_FILE_US <- function(YEAR){read_csv(paste0("Model_Outputs/IMPLAN/US/US_",YEAR,"/economic_indicators_by_impact.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US") %>% left_join(read_csv(paste0("Model_Outputs/IMPLAN/US/US_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US")) }
|
STR_ROOT <- ifelse(!SINGLE,"Model_Outputs/IMPLAN/","Model_Outputs/IMPLAN/Single_Phase/")
|
||||||
GET_FILE_WY <- function(YEAR){read_csv(paste0("Model_Outputs/IMPLAN/Wyoming/WY_",YEAR,"/economic_indicators_by_impact.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="WY") %>% left_join(read_csv(paste0("Model_Outputs/IMPLAN/Wyoming/WY_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="WY")) }
|
|
||||||
|
GET_FILE_US <- function(YEAR){read_csv(paste0(STR_ROOT,"US/US_",YEAR,"/economic_indicators_by_impact.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US") %>% left_join(read_csv(paste0(STR_ROOT,"US/US_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US")) }
|
||||||
|
GET_FILE_WY <- function(YEAR){read_csv(paste0(STR_ROOT,"Wyoming/WY_",YEAR,"/economic_indicators_by_impact.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="WY") %>% left_join(read_csv(paste0(STR_ROOT,"Wyoming/WY_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="WY")) }
|
||||||
# GET_FILE_TAX_US <- function(YEAR){read_csv(paste0("Model_Outputs/IMPLAN/US/US_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US")}
|
# GET_FILE_TAX_US <- function(YEAR){read_csv(paste0("Model_Outputs/IMPLAN/US/US_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US")}
|
||||||
# GET_FILE_TAX_WY <- function(YEAR){read_csv(paste0("Model_Outputs/IMPLAN/Wyoming/WY_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US")}
|
# GET_FILE_TAX_WY <- function(YEAR){read_csv(paste0("Model_Outputs/IMPLAN/Wyoming/WY_",YEAR,"/tax_results.csv")) %>% mutate(Year=YEAR) %>% filter(!is.na(Impact))%>% mutate(Region="US")}
|
||||||
# GET_FILE_US(2028) %>% left_join(GET_FILE_TAX_US(2028))
|
# GET_FILE_US(2028) %>% left_join(GET_FILE_TAX_US(2028))
|
||||||
@ -31,4 +33,3 @@ DATA <- DATA %>% mutate(`Sub County General`=parse_number(`Sub County General`),
|
|||||||
DATA <- DATA %>% full_join(RES) %>% unique
|
DATA <- DATA %>% full_join(RES) %>% unique
|
||||||
return(DATA)
|
return(DATA)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
52
Visuals.r
52
Visuals.r
@ -4,10 +4,13 @@ library(janitor)
|
|||||||
library(paletteer)
|
library(paletteer)
|
||||||
dir.create("Results", showWarnings = FALSE)
|
dir.create("Results", showWarnings = FALSE)
|
||||||
source("Scripts/Load_IMPLAN.r")
|
source("Scripts/Load_IMPLAN.r")
|
||||||
|
SINGLE <- FALSE
|
||||||
|
|
||||||
|
IMPLAN <- GET_IMPLAN_DATA(SINGLE)
|
||||||
|
|
||||||
IMPLAN <- GET_IMPLAN_DATA()
|
|
||||||
|
|
||||||
IMPLAN_DOLLAR <- IMPLAN %>% filter(Impact!='Employment')
|
IMPLAN_DOLLAR <- IMPLAN %>% filter(Impact!='Employment')
|
||||||
|
|
||||||
IMPLAN_DOLLAR <- IMPLAN_DOLLAR %>% group_by(Type,Year,Impact,Source) %>% mutate(value=ifelse(Region=='US',value-min(value),value) ) %>% ungroup
|
IMPLAN_DOLLAR <- IMPLAN_DOLLAR %>% group_by(Type,Year,Impact,Source) %>% mutate(value=ifelse(Region=='US',value-min(value),value) ) %>% ungroup
|
||||||
TEMP <- IMPLAN_DOLLAR %>% filter(Year==2028) %>% mutate(value=0)
|
TEMP <- IMPLAN_DOLLAR %>% filter(Year==2028) %>% mutate(value=0)
|
||||||
IMPLAN_DOLLAR <- rbind(IMPLAN_DOLLAR,rbind(TEMP %>% mutate(Year=2025),TEMP %>% mutate(Year=2026),TEMP %>% mutate(Year=2027)))
|
IMPLAN_DOLLAR <- rbind(IMPLAN_DOLLAR,rbind(TEMP %>% mutate(Year=2025),TEMP %>% mutate(Year=2026),TEMP %>% mutate(Year=2027)))
|
||||||
@ -17,39 +20,36 @@ IMPLAN_DOLLAR_REGION <- IMPLAN_DOLLAR %>% filter(Impact %in% c('Income','Output'
|
|||||||
|
|
||||||
########################Plot of total impact in US and in Wyoming
|
########################Plot of total impact in US and in Wyoming
|
||||||
IMPLAN_REGION_DOLLAR_PLOT <- ggplot(IMPLAN_DOLLAR_REGION ,aes(x=Year,y=value/10^9,fill=Region,group=Region))+geom_area()+facet_wrap(~Impact,ncol=1)+ylab("Billion Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=1))
|
IMPLAN_REGION_DOLLAR_PLOT <- ggplot(IMPLAN_DOLLAR_REGION ,aes(x=Year,y=value/10^9,fill=Region,group=Region))+geom_area()+facet_wrap(~Impact,ncol=1)+ylab("Billion Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=1))
|
||||||
IMPLAN_REGION_DOLLAR_PLOT
|
|
||||||
ggsave( filename = "./Results/Dollar Values of Model.png", plot = IMPLAN_REGION_DOLLAR_PLOT, width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
ggsave( filename = "./Results/Dollar Values of Model.png", plot = IMPLAN_REGION_DOLLAR_PLOT, width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
||||||
########################Taxes
|
########################Taxes
|
||||||
|
IMPLAN_TAX <- IMPLAN_DOLLAR %>% filter(Impact %in% c("County","State","Federal"))
|
||||||
|
OLD <- IMPLAN_TAX
|
||||||
|
IMPLAN_TAX <- IMPLAN_TAX %>% group_by(Type,Year,Impact,Source) %>% mutate(value=ifelse(Region=='Rest of United States',value-min(value),value) ) %>% ungroup
|
||||||
|
IMPLAN_TAX %>% left_join(OLD %>% rename(OLD=value))
|
||||||
|
|
||||||
#########################Post 2035 Values to show smaller scale
|
#IMPLAN_TAX <- IMPLAN_TAX[!(IMPLAN_TAX$Type=='Direct' & IMPLAN_TAX$Region=='Rest of United States'& IMPLAN_TAX$Impact!='Federal'),]
|
||||||
IMPLAN_DOLLAR_PROD_PLOT <- ggplot(IMPLAN_DOLLAR %>% filter(Year>2035) ,aes(x=Year,y=value/10^6,fill=Region,group=Region))+geom_area()+facet_wrap(~Impact,ncol=1)+ylab("Million Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=100))
|
#IMPLAN_TAX <-IMPLAN_TAX[!(IMPLAN_TAX$Type=='Direct' & IMPLAN_TAX$Region=='Wyoming'& IMPLAN_TAX$Impact=='Federal'),]
|
||||||
|
IMPLAN_DOLLAR <- IMPLAN_DOLLAR %>% filter(!(Impact %in% c("County","State","Federal"))) %>% rbind(IMPLAN_TAX)
|
||||||
|
|
||||||
ggsave( filename = "./Results/Dollar Values of Model in Production.png", plot = IMPLAN_DOLLAR_PROD_PLOT , width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
IMPLAN_TAX_FIG_DATA <- IMPLAN_TAX %>% group_by(Year,Impact) %>% summarize(value=sum(value))
|
||||||
|
TAX_PLOT <- ggplot(IMPLAN_TAX_FIG_DATA, aes(x=Year,y=value/10^6,fill=Impact,group=Impact))+geom_area()+ylab("Million Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425","#492F24"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=50))
|
||||||
|
TAX_PLOT
|
||||||
|
ggsave( filename = "./Results/Tax Model.png", plot = TAX_PLOT, width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
||||||
#############Dollar values table
|
#############Dollar values table
|
||||||
NPV <- IMPLAN_DOLLAR %>% mutate(value=value/10^9,Discount_0=value,Discount_2=value/(1+0.02)^(Year-2028),Discount_5=value/(1+0.05)^(Year-2028),Discount_10=value/(1+0.1)^(Year-2028)) %>% group_by(Impact,Region) %>% summarize(Discount_0=sum(Discount_0),Discount_2=sum(Discount_2),Discount_5=sum(Discount_5),Discount_10=sum(Discount_10)) %>% ungroup
|
NPV <- IMPLAN_DOLLAR %>% mutate(value=value/10^9,Discount_0=value,Discount_2=value/(1+0.02)^(Year-2028),Discount_5=value/(1+0.05)^(Year-2028),Discount_10=value/(1+0.1)^(Year-2028)) %>% group_by(Impact,Region) %>% summarize(Discount_0=sum(Discount_0),Discount_2=sum(Discount_2),Discount_5=sum(Discount_5),Discount_10=sum(Discount_10)) %>% ungroup
|
||||||
NPV[,3:6] <-round(NPV[,3:6],2)
|
NPV[,3:6] <-round(NPV[,3:6],2)
|
||||||
write.csv(NPV,"./Results/NPV_Values.csv",row.names=FALSE)
|
write.csv(NPV,"./Results/NPV_Values.csv",row.names=FALSE)
|
||||||
|
|
||||||
|
|
||||||
############Employment
|
############Employment
|
||||||
IMPLAN_EMPLOY <- DATA %>% filter(Impact=='Employment',Source=='IMPLAN') %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup
|
IMPLAN_EMPLOY <- IMPLAN %>% filter(Impact=='Employment',Source=='IMPLAN') %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup
|
||||||
IMPLAN_EMPLOY <- rbind(IMPLAN_EMPLOY, IMPLAN_EMPLOY %>% left_join(ADJUST) %>% mutate(value=value*RATIO,Region='US') %>% select(-RATIO))
|
|
||||||
|
IMPLAN_EMPLOY <- IMPLAN_EMPLOY %>% group_by(Year,Impact) %>% mutate(value=ifelse(Region=='US',value-min(value),value) ) %>% ungroup
|
||||||
|
TEMP <- IMPLAN_EMPLOY %>% filter(Year==2028) %>% mutate(value=0)
|
||||||
|
IMPLAN_EMPLOY <- rbind(IMPLAN_EMPLOY,rbind(TEMP %>% mutate(Year=2025),TEMP %>% mutate(Year=2026),TEMP %>% mutate(Year=2027)))
|
||||||
|
|
||||||
|
|
||||||
IMPLAN_EMPLOY$Region <- factor(ifelse(IMPLAN_EMPLOY$Region=="WY",'Wyoming',"Rest of United States"),levels=rev(c("Wyoming","Rest of United States")))
|
IMPLAN_EMPLOY$Region <- factor(ifelse(IMPLAN_EMPLOY$Region=="WY",'Wyoming',"Rest of United States"),levels=rev(c("Wyoming","Rest of United States")))
|
||||||
IMPLAN_EMPLOYMENT_PLOT <- ggplot(IMPLAN_EMPLOY ,aes(x=Year,y=value,fill=Region,group=Region))+geom_area()+ylab("Employment (Full-Time Equivalent)")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=c(seq(0,50000,by=1500),13000),labels = label_comma())
|
IMPLAN_EMPLOYMENT_PLOT <- ggplot(IMPLAN_EMPLOY ,aes(x=Year,y=value,fill=Region,group=Region))+geom_area()+ylab("Employment (Full-Time Equivalent)")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=c(seq(0,50000,by=1000)),labels = label_comma())
|
||||||
|
IMPLAN_EMPLOYMENT_PLOT
|
||||||
ggsave( filename = "./Results/Employment.png", plot = IMPLAN_EMPLOYMENT_PLOT , width = 8.5, height = 11*(2/4), units = "in", dpi = 600)
|
ggsave( filename = "./Results/Employment.png", plot = IMPLAN_EMPLOYMENT_PLOT , width = 8.5, height = 11*(2/4), units = "in", dpi = 600)
|
||||||
################IMPLAN
|
|
||||||
IMPLAN$Year %>% unique
|
|
||||||
IMPLAN <- rbind(IMPLAN, rbind(IMPLAN %>% filter(Year==2030) %>% mutate(value=0,Year=2025),IMPLAN %>% filter(Year==2030) %>% mutate(value=0,Year=2026),IMPLAN %>% filter(Year==2030) %>% mutate(value=0,Year=2027)))
|
|
||||||
|
|
||||||
IMPLAN <- GET_IMPLAN_DATA()
|
|
||||||
DATA <- rbind(IMPLAN,IMPLAN)
|
|
||||||
DATA
|
|
||||||
ggplot(DATA %>% filter(Region=='WY'),aes(x=Year,y=value,color=Type,linetype=Source))+geom_line()+facet_wrap(~Impact)
|
|
||||||
DATA
|
|
||||||
TOTAL_DATA <- DATA %>% filter(Region=='WY',Impact!='Employment') %>% group_by(Year,Impact,Source) %>% summarize(value=sum(value)) %>% ungroup
|
|
||||||
|
|
||||||
TOTAL_DATA$Impact <- factor(TOTAL_DATA$Impact,levels=c('Output','Value Added','Income'))
|
|
||||||
IMPLAN_IMPLAN <- ggplot(TOTAL_DATA ,aes(x=Year,y=value/10^9,color=Source,linetype=Source))+geom_line()+facet_wrap(~Impact,ncol=1)+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=0.5))+ylab("Billion USD")
|
|
||||||
|
|
||||||
ggsave( filename = "./Results/IMPLAN_IMPLAN_COMP.png", plot = IMPLAN_IMPLAN , width = 8.5, height = 11*(2/4), units = "in", dpi = 600)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
56
Visuals_Single_Phase.r
Normal file
56
Visuals_Single_Phase.r
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
library(tidyverse)
|
||||||
|
library(scales)
|
||||||
|
library(janitor)
|
||||||
|
library(paletteer)
|
||||||
|
dir.create("Results", showWarnings = FALSE)
|
||||||
|
source("Scripts/Load_IMPLAN.r")
|
||||||
|
SINGLE <- TRUE
|
||||||
|
|
||||||
|
IMPLAN <- GET_IMPLAN_DATA(SINGLE)
|
||||||
|
|
||||||
|
|
||||||
|
IMPLAN_DOLLAR <- IMPLAN %>% filter(Impact!='Employment')
|
||||||
|
|
||||||
|
IMPLAN_DOLLAR <- IMPLAN_DOLLAR %>% group_by(Type,Year,Impact,Source) %>% mutate(value=ifelse(Region=='US',value-min(value),value) ) %>% ungroup
|
||||||
|
TEMP <- IMPLAN_DOLLAR %>% filter(Year==2028) %>% mutate(value=0)
|
||||||
|
IMPLAN_DOLLAR <- rbind(IMPLAN_DOLLAR,rbind(TEMP %>% mutate(Year=2025),TEMP %>% mutate(Year=2026),TEMP %>% mutate(Year=2027)))
|
||||||
|
IMPLAN_DOLLAR$Impact <- factor(IMPLAN_DOLLAR$Impact,levels=c('Output','Value Added','Income','Federal','State','County'))
|
||||||
|
IMPLAN_DOLLAR$Region <- factor(ifelse(IMPLAN_DOLLAR$Region=="WY",'Wyoming',"Rest of United States"),levels=rev(c("Wyoming","Rest of United States")))
|
||||||
|
IMPLAN_DOLLAR_REGION <- IMPLAN_DOLLAR %>% filter(Impact %in% c('Income','Output','Value Added')) %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup
|
||||||
|
|
||||||
|
########################Plot of total impact in US and in Wyoming
|
||||||
|
IMPLAN_REGION_DOLLAR_PLOT <- ggplot(IMPLAN_DOLLAR_REGION ,aes(x=Year,y=value/10^9,fill=Region,group=Region))+geom_area()+facet_wrap(~Impact,ncol=1)+ylab("Billion Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=1))
|
||||||
|
IMPLAN_REGION_DOLLAR_PLOT
|
||||||
|
ggsave( filename = "./Results/Single Phase: Dollar Values of Model.png", plot = IMPLAN_REGION_DOLLAR_PLOT, width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
||||||
|
########################Taxes
|
||||||
|
IMPLAN_TAX <- IMPLAN_DOLLAR %>% filter(Impact %in% c("County","State","Federal"))
|
||||||
|
OLD <- IMPLAN_TAX
|
||||||
|
IMPLAN_TAX <- IMPLAN_TAX %>% group_by(Type,Year,Impact,Source) %>% mutate(value=ifelse(Region=='Rest of United States',value-min(value),value) ) %>% ungroup
|
||||||
|
IMPLAN_TAX %>% left_join(OLD %>% rename(OLD=value))
|
||||||
|
|
||||||
|
#IMPLAN_TAX <- IMPLAN_TAX[!(IMPLAN_TAX$Type=='Direct' & IMPLAN_TAX$Region=='Rest of United States'& IMPLAN_TAX$Impact!='Federal'),]
|
||||||
|
#IMPLAN_TAX <-IMPLAN_TAX[!(IMPLAN_TAX$Type=='Direct' & IMPLAN_TAX$Region=='Wyoming'& IMPLAN_TAX$Impact=='Federal'),]
|
||||||
|
IMPLAN_DOLLAR <- IMPLAN_DOLLAR %>% filter(!(Impact %in% c("County","State","Federal"))) %>% rbind(IMPLAN_TAX)
|
||||||
|
|
||||||
|
IMPLAN_TAX_FIG_DATA <- IMPLAN_TAX %>% group_by(Year,Impact) %>% summarize(value=sum(value))
|
||||||
|
TAX_PLOT <- ggplot(IMPLAN_TAX_FIG_DATA, aes(x=Year,y=value/10^6,fill=Impact,group=Impact))+geom_area()+ylab("Million Dollars")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425","#492F24"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=seq(0,5000,by=50))
|
||||||
|
TAX_PLOT
|
||||||
|
ggsave( filename = "./Results/Single Phase: Tax Model.png", plot = TAX_PLOT, width = 8.5, height = 11*(3./4), units = "in", dpi = 300)
|
||||||
|
#############Dollar values table
|
||||||
|
NPV <- IMPLAN_DOLLAR %>% mutate(value=value/10^9,Discount_0=value,Discount_2=value/(1+0.02)^(Year-2028),Discount_5=value/(1+0.05)^(Year-2028),Discount_10=value/(1+0.1)^(Year-2028)) %>% group_by(Impact,Region) %>% summarize(Discount_0=sum(Discount_0),Discount_2=sum(Discount_2),Discount_5=sum(Discount_5),Discount_10=sum(Discount_10)) %>% ungroup
|
||||||
|
NPV[,3:6] <-round(NPV[,3:6],2)
|
||||||
|
write.csv(NPV,"./Results/Singe_Phase_NPV_Values.csv",row.names=FALSE)
|
||||||
|
|
||||||
|
|
||||||
|
############Employment
|
||||||
|
IMPLAN_EMPLOY <- IMPLAN %>% filter(Impact=='Employment',Source=='IMPLAN') %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup
|
||||||
|
|
||||||
|
IMPLAN_EMPLOY <- IMPLAN_EMPLOY %>% group_by(Year,Impact) %>% mutate(value=ifelse(Region=='US',value-min(value),value) ) %>% ungroup
|
||||||
|
TEMP <- IMPLAN_EMPLOY %>% filter(Year==2028) %>% mutate(value=0)
|
||||||
|
IMPLAN_EMPLOY <- rbind(IMPLAN_EMPLOY,rbind(TEMP %>% mutate(Year=2025),TEMP %>% mutate(Year=2026),TEMP %>% mutate(Year=2027)))
|
||||||
|
|
||||||
|
|
||||||
|
IMPLAN_EMPLOY$Region <- factor(ifelse(IMPLAN_EMPLOY$Region=="WY",'Wyoming',"Rest of United States"),levels=rev(c("Wyoming","Rest of United States")))
|
||||||
|
IMPLAN_EMPLOYMENT_PLOT <- ggplot(IMPLAN_EMPLOY ,aes(x=Year,y=value,fill=Region,group=Region))+geom_area()+ylab("Employment (Full-Time Equivalent)")+theme_bw()+ theme(plot.title = element_text(size = 22, face = "bold"), axis.title = element_text(size = 18),axis.text = element_text(size = 16),legend.text = element_text(size = 14),strip.text = element_text(size = 14),legend.position="top")+ theme(legend.title=element_blank())+scale_fill_manual(values=c("#3C3B6E","#FFC425"))+scale_x_continuous(breaks=seq(2025,2060,by=5))+scale_y_continuous(breaks=c(seq(0,50000,by=1000)),labels = label_comma())
|
||||||
|
IMPLAN_EMPLOYMENT_PLOT
|
||||||
|
ggsave( filename = "./Results/Single Phase: Employment.png", plot = IMPLAN_EMPLOYMENT_PLOT , width = 8.5, height = 11*(2/4), units = "in", dpi = 600)
|
||||||
Loading…
x
Reference in New Issue
Block a user