Peabody/Scripts/Load_REMI.r
2026-09-14 12:39:42 -06:00

47 lines
3.3 KiB
R

GET_REMI_DATA <- function(DATA_DIR='Model_Outputs/REMI/'){
#DATA_DIR='Model_Outputs/REMI/'
######################Employments
EMPLOY <- read_csv(paste0(DATA_DIR,"Direct, Indirect, and Induced -Employment.csv" ),skip=5) %>% pivot_longer(c(-Category,-Units),names_to="Year") %>% mutate(Year=parse_number(Year))
EMPLOY
MULTIPLIER <- EMPLOY[(grepl("Multiplier",EMPLOY$Category)),]
EMPLOY <- EMPLOY[!(grepl("Multiplier",EMPLOY$Category)),]
EMPLOY$value<- ifelse(grepl("Thousands",EMPLOY$Units),1000*EMPLOY$value,EMPLOY$value)
EMPLOY$value<- ifelse(grepl("Million",EMPLOY$Units),10^6*EMPLOY$value,EMPLOY$value)
EMPLOY$value<- ifelse(grepl("Billion",EMPLOY$Units),10^9*EMPLOY$value,EMPLOY$value)
EMPLOY$Category <- str_replace(EMPLOY$Category," Employment","" )
EMPLOY <- EMPLOY %>% filter(Category!='Total') %>% select(-Units) %>% rename(Type=Category) %>% mutate(Region="WY") %>% mutate(Impact="Employment",Source="REMI") %>% select(Type,Year,Region,Impact,Source,value)
EMPLOY
######Output
OUTPUT <- read_csv(paste0(DATA_DIR,"Direct, Indirect, and Induced -Output.csv" ),skip=5) %>% pivot_longer(c(-Category,-Units),names_to="Year") %>% mutate(Year=parse_number(Year))
OUTPUT_NUM <- OUTPUT %>% select(-Units,Output=value) %>% filter(Year>=2028) %>% mutate(Output=Output*1000)
OUTPUT <- OUTPUT[!(grepl("Multiplier",OUTPUT$Category)),]
OUTPUT$value<- ifelse(grepl("Thousands",OUTPUT$Units),1000*OUTPUT$value,OUTPUT$value)
OUTPUT$value<- ifelse(grepl("Million",OUTPUT$Units),10^6*OUTPUT$value,OUTPUT$value)
OUTPUT$value<- ifelse(grepl("Billion",OUTPUT$Units),10^9*OUTPUT$value,OUTPUT$value)
OUTPUT$Category <- str_replace(OUTPUT$Category," Output","" )
OUTPUT <- OUTPUT %>% filter(Category!='Total') %>% select(-Units) %>% rename(Type=Category) %>% mutate(Region="WY") %>% mutate(Impact="Output",Source="REMI") %>% select(Type,Year,Region,Impact,Source,value)
######Value Added
GDP <- read_csv(paste0(DATA_DIR,"Direct, Indirect, and Induced - Value-Added.csv" ),skip=5) %>% pivot_longer(c(-Category,-Units),names_to="Year") %>% mutate(Year=parse_number(Year))
GDP$value<- ifelse(grepl("Thousands",GDP$Units),1000*GDP$value,GDP$value)
GDP$value<- ifelse(grepl("Million",GDP$Units),10^6*GDP$value,GDP$value)
GDP$value<- ifelse(grepl("Billion",GDP$Units),10^9*GDP$value,GDP$value)
GDP$Category <- str_replace(GDP$Category," Value-Added","" )
GDP <- GDP %>% filter(Category!='Total') %>% select(-Units) %>% rename(Type=Category) %>% mutate(Region="WY") %>% mutate(Impact="Value Added",Source="REMI") %>% select(Type,Year,Region,Impact,Source,value)
######Income
INCOME<- read_csv(paste0(DATA_DIR,"Direct, Indirect, and Induced - Personal Income.csv" ),skip=5)%>% pivot_longer(c(-Category,-Units),names_to="Year") %>% mutate(Year=parse_number(Year))
INCOME$value<- ifelse(grepl("Thousands",INCOME$Units),1000*INCOME$value,INCOME$value)
INCOME$value<- ifelse(grepl("Million",INCOME$Units),10^6*INCOME$value,INCOME$value)
INCOME$value<- ifelse(grepl("Billion",INCOME$Units),10^9*INCOME$value,INCOME$value)
INCOME
INCOME$Category <- str_replace(INCOME$Category," Personal Income","" )
INCOME <- INCOME %>% filter(Category!='Total') %>% select(-Units) %>% rename(Type=Category) %>% mutate(Region="WY") %>% mutate(Impact="Income",Source="REMI") %>% select(Type,Year,Region,Impact,Source,value)
##########Form Data
REMI_DATA <- full_join(EMPLOY,OUTPUT) %>% full_join(GDP) %>% full_join(INCOME)
return(REMI_DATA)
}