From 58c2b5010fb7557c42155776013efd168e224c01 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 4 Oct 2026 22:56:24 -0600 Subject: [PATCH] Fied some calcs --- Data_Center_Visuals.r | 14 +++++++++++++- Visuals.r | 32 +++++++++++++++++++++++++++++--- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/Data_Center_Visuals.r b/Data_Center_Visuals.r index be2ccff..eae1a5d 100644 --- a/Data_Center_Visuals.r +++ b/Data_Center_Visuals.r @@ -148,7 +148,18 @@ ALL_TAX <- cbind(ALL_TAX,WY_TAX[,-1:-2]) ############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 +########## + EMP_MAIN_SUMMARY <- IMPLAN %>% filter(Impact=='Employment',Source=='IMPLAN') %>% group_by(Year,Region,Type)%>% summarize(value=mean(value)) %>% group_by(Year,Type) +US <- EMP_MAIN_SUMMARY %>% filter(Region=='US') %>% rename(US_value=value) %>% ungroup %>% left_join(EMP_MAIN_SUMMARY %>% filter(Region=='WY') %>% select(-Region)) %>% mutate(US_value=US_value-value,US_value=ifelse(US_value<0,0,US_value)) %>% select(-value) %>% rename(value=US_value) +EMP_MAIN_SUMMARY <- rbind(US,EMP_MAIN_SUMMARY %>% filter(Region=='WY'))%>% mutate(Period=ifelse(Year>CONST_END_YEAR,'Operations',"Construction")) %>% group_by(Period,Region,Type) %>% summarize(value=mean(value)) %>% ungroup %>% pivot_wider(values_from=value,names_from=c(Period)) %>% arrange(desc(Region)) +EMP_MAIN_SUMMARY$Region <- ifelse(EMP_MAIN_SUMMARY$Region=='WY','Wyoming','Other States') +EMP_MAIN_SUMMARY <- rbind(EMP_MAIN_SUMMARY,c("United States","Total",as.numeric(colSums(EMP_MAIN_SUMMARY[-1:-2])))) +EMP_MAIN_SUMMARY[,3] <- round(as.numeric(t(EMP_MAIN_SUMMARY[,3] )),0) +EMP_MAIN_SUMMARY[,4] <- round(as.numeric(t(EMP_MAIN_SUMMARY[,4] )),0) + + +################## 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()) @@ -235,7 +246,8 @@ OP_EMP_SUMMARY <- EMP_SUMMARY %>% select(Occupation,Period,Wy_Employment,Wy_Peak ############Save results -HEADER <- "Data Center: " +HEADER <- "Data Center_" +write.csv(EMP_MAIN_SUMMARY ,paste0("./Results/",HEADER,"Employment_Summary.csv"),row.names=FALSE) write.csv(WY_NPV,paste0("./Results/",HEADER,"Wyoming_NPV_Values.csv"),row.names=FALSE) write.csv(US_NPV,paste0("./Results/",HEADER,"US_NPV_Values.csv"),row.names=FALSE) write.csv(NPV,paste0("./Results/",HEADER,"NPV_Values.csv"),row.names=FALSE) diff --git a/Visuals.r b/Visuals.r index 4d9c5fe..c513ab1 100644 --- a/Visuals.r +++ b/Visuals.r @@ -6,8 +6,11 @@ dir.create("Results", showWarnings = FALSE) source("Scripts/Load_IMPLAN.r") SINGLE <- FALSE -OUTPUT_RES <- function(SINGLE=FALSE){ + +#OUTPUT_RES <- function(SINGLE=FALSE,CONST_END_YEAR){ + IMPLAN <- GET_IMPLAN_DATA(SINGLE) + CONST_END_YEAR <- ifelse(SINGLE,2030,2036) IMPLAN_DOLLAR <- IMPLAN %>% filter(Impact!='Employment') @@ -18,6 +21,9 @@ IMPLAN_DOLLAR <- rbind(IMPLAN_DOLLAR,rbind(TEMP %>% mutate(Year=2025),TEMP %>% m 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 +#IMPLAN_DOLLAR_REGION %>% filter(Year==2040) %>% group_by(Year,Impact) %>% summarize(value=sum(value)/10^9) +IMPLAN_DOLLAR_REGION %>% filter(Year==2040) %>% group_by(Year,Impact) %>% mutate(RATIO=value/sum(value)) + ########################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)) @@ -67,15 +73,34 @@ ALL_TAX <- cbind(ALL_TAX,WY_TAX[,-1:-2]) ############Employment +IMPLAN_EMPLOY <- IMPLAN %>% filter(Impact=='Employment',Source=='IMPLAN') %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% ungroup + EMP_MAIN_SUMMARY <- IMPLAN %>% filter(Impact=='Employment',Source=='IMPLAN') %>% group_by(Year,Region,Type)%>% summarize(value=mean(value)) %>% group_by(Year,Type) +US <- EMP_MAIN_SUMMARY %>% filter(Region=='US') %>% rename(US_value=value) %>% ungroup %>% left_join(EMP_MAIN_SUMMARY %>% filter(Region=='WY') %>% select(-Region)) %>% mutate(US_value=US_value-value,US_value=ifelse(US_value<0,0,US_value)) %>% select(-value) %>% rename(value=US_value) +EMP_MAIN_SUMMARY <- rbind(US,EMP_MAIN_SUMMARY %>% filter(Region=='WY'))%>% mutate(Period=ifelse(Year>CONST_END_YEAR,'Operations',"Construction")) %>% group_by(Period,Region,Type) %>% summarize(value=mean(value)) %>% ungroup %>% pivot_wider(values_from=value,names_from=c(Period)) %>% arrange(desc(Region)) + + +EMP_MAIN_SUMMARY$Region <- ifelse(EMP_MAIN_SUMMARY$Region=='WY','Wyoming','Other States') + +EMP_MAIN_SUMMARY <- rbind(EMP_MAIN_SUMMARY,c("United States","Total",as.numeric(colSums(EMP_MAIN_SUMMARY[-1:-2])))) +EMP_MAIN_SUMMARY[,3] <- round(as.numeric(t(EMP_MAIN_SUMMARY[,3] )),0) +EMP_MAIN_SUMMARY[,4] <- round(as.numeric(t(EMP_MAIN_SUMMARY[,4] )),0) + + + + 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 + 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_EMPLOY %>% filter(Year<2036) %>% group_by(Year) %>% summarize(value=sum(value)) %>% filter(Year>2027) %>% pull(value) %>% mean + #############################Get Occupation Information if(exists("RES")){rm(RES)} for(YEAR in 2028:2036){ @@ -152,8 +177,9 @@ OP_EMP_SUMMARY <- EMP_SUMMARY %>% select(Occupation,Period,Wy_Employment,Wy_Peak #GRAPH_DATA <- EMP_SUMMARY %>% select(Occupation,Period,Rank,Total_Employment) %>% mutate(Occupation=as.factor(Occupation)) # ggplot(GRAPH_DATA, aes(x = Period, y = Total_Employment, fill = Occupation)) + geom_col(position = "stack")+ 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") ############Save results -HEADER <- ifelse(SINGLE,"Single Phase: ","") - +HEADER <- ifelse(SINGLE,"Single Phase_ ","") +write.csv(EMP_MAIN_SUMMARY ,paste0("./Results/",HEADER,"Employment_Summary.csv"),row.names=FALSE) +write.csv(WY_NPV,paste0("./Results/",HEADER,"Wyoming_NPV_Values.csv"),row.names=FALSE) write.csv(WY_NPV,paste0("./Results/",HEADER,"Wyoming_NPV_Values.csv"),row.names=FALSE) write.csv(US_NPV,paste0("./Results/",HEADER,"US_NPV_Values.csv"),row.names=FALSE) write.csv(NPV,paste0("./Results/",HEADER,"NPV_Values.csv"),row.names=FALSE)