Peabody/Scripts/Load_IMPLAN.r
2026-09-21 18:02:37 -06:00

36 lines
2.9 KiB
R

library(tidyverse)
library(scales)
library(janitor)
library(paletteer)
#Function to load IMPLAN Yearly data.
GET_IMPLAN_DATA <- function(SINGLE=FALSE){
#Is this a single phase?
STR_ROOT <- ifelse(!SINGLE,"Model_Outputs/IMPLAN/","Model_Outputs/IMPLAN/Single_Phase/")
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_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))
DATA <-rbind(lapply(2028:2036,GET_FILE_US) %>% bind_rows()%>% rename(Income=`Labor Income`) %>% mutate(Income=parse_number(Income),`Value Added`=parse_number(`Value Added`),Output=parse_number(Output)) ,lapply(2028:2036,GET_FILE_WY) %>% bind_rows()%>% rename(Income=`Labor Income`) %>% mutate(Income=parse_number(Income),`Value Added`=parse_number(`Value Added`),Output=parse_number(Output)))
DATA <- DATA %>% mutate(`Sub County General`=parse_number(`Sub County General`),`Sub County Special Districts`=parse_number(`Sub County Special Districts`),County=parse_number(County),State=parse_number(State),Federal=parse_number(Federal),County=County+`Sub County General`+`Sub County Special Districts`) %>% select(Year,Impact,Region,everything(),-Total,-`Sub County Special Districts`, -`Sub County General`)
DATA$Impact <- gsub("3 - ","",gsub("2 - ","",gsub("1 - ","",DATA$Impact)))
#TAX_ADJ <- DATA %>% filter(Impact=='Direct') %>% group_by(Year,Impact) %>% mutate(COUNTY_RATIO=min(County)/max(County),STATE_RATIO=min(State)/max(State),FEDERAL_RATIO=min(Federal)/max(Federal)) %>% ungroup %>% select(Year,COUNTY_RATIO,STATE_RATIO,FEDERAL_RATIO) %>% unique
DATA <- DATA %>% pivot_longer(-c(Impact,Year,Region)) %>% rename(Type=Impact,Impact=name)
DATA$Impact <- gsub("3 - ","",gsub("2 - ","",gsub("1 - ","",DATA$Impact)))
DATA <- DATA %>% mutate(Source='IMPLAN') %>% select(Type,Year,Region,Impact,Source,value)
######Append
TEMP <- DATA %>% filter(Year==2036)
RES <- TEMP %>% mutate(Year=2037)
for(i in 2038:2060){
RES <- RES %>% rbind(TEMP %>% mutate(Year=i))
}
DATA <- DATA %>% full_join(RES) %>% unique
return(DATA)
}