From 7c4a51262e7f2ff87fc7347d32e0a5147c33f421 Mon Sep 17 00:00:00 2001 From: Alex Gebben Work Date: Mon, 14 Sep 2026 12:39:42 -0600 Subject: [PATCH] Added Personal Income from REMI --- ...ect, Indirect, and Induced - Personal Income.csv | 10 ++++++++++ Scripts/Load_REMI.r | 13 +++++++++++-- Visuals.r | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 Model_Outputs/REMI/Direct, Indirect, and Induced - Personal Income.csv diff --git a/Model_Outputs/REMI/Direct, Indirect, and Induced - Personal Income.csv b/Model_Outputs/REMI/Direct, Indirect, and Induced - Personal Income.csv new file mode 100644 index 0000000..5927883 --- /dev/null +++ b/Model_Outputs/REMI/Direct, Indirect, and Induced - Personal Income.csv @@ -0,0 +1,10 @@ +"Personal Income" +,,, +"Region","Comparison Type","Forecast","Comparison Forecast" +"All Regions","Differences","Peabody","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.000,0.000,0.257,0.280,0.552,0.565,0.594,0.602,0.351,0.341,0.082,0.068,0.054,0.048,0.047,0.048,0.049,0.050,0.051,0.052,0.052,0.052,0.051,0.050,0.050,0.049,0.049,0.049,0.050,0.052,0.054,0.057,0.060,0.064,0.068 +"Direct Personal Income","Billions of Fixed Local (2025) Dollars",0.000,0.000,0.000,0.197,0.210,0.407,0.402,0.408,0.408,0.211,0.211,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019,0.019 +"Indirect Personal Income","Billions of Fixed Local (2025) Dollars",0.000,0.000,0.000,0.014,0.015,0.030,0.030,0.031,0.031,0.017,0.017,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.003,0.003,0.003 +"Induced Personal Income","Billions of Fixed Local (2025) Dollars",0.000,0.000,0.000,0.046,0.056,0.116,0.134,0.156,0.164,0.122,0.113,0.060,0.047,0.032,0.026,0.025,0.026,0.027,0.028,0.028,0.029,0.030,0.030,0.029,0.028,0.027,0.026,0.026,0.027,0.028,0.030,0.032,0.034,0.038,0.041,0.046 \ No newline at end of file diff --git a/Scripts/Load_REMI.r b/Scripts/Load_REMI.r index d07ed52..5fa86ae 100644 --- a/Scripts/Load_REMI.r +++ b/Scripts/Load_REMI.r @@ -23,7 +23,7 @@ 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 +######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) @@ -31,7 +31,16 @@ 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 -REMI_DATA <- full_join(EMPLOY,OUTPUT) %>% full_join(GDP) +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) } diff --git a/Visuals.r b/Visuals.r index 1acdee7..d55177c 100644 --- a/Visuals.r +++ b/Visuals.r @@ -10,7 +10,7 @@ source("Scripts/Load_REMI.r") REMI <- GET_REMI_DATA() DATA <- full_join(IMPLAN,REMI) -REMI <- DATA %>% filter(Source=='REMI'| Impact=='Income') %>% filter(Region=='WY') %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% filter(Region=='WY') %>% ungroup +REMI <- DATA %>% filter(Source=='REMI') %>% filter(Region=='WY') %>% group_by(Year,Region,Impact) %>% summarize(value=sum(value)) %>% filter(Region=='WY') %>% ungroup ADJUST <- DATA %>% filter(Source=='IMPLAN') %>% group_by(Year,Impact,Region) %>% summarize(value=sum(value)) %>% ungroup %>% group_by(Year,Impact) %>% summarize(RATIO=max(value)/min(value)-1) %>% ungroup ADJUST <- rbind(ADJUST,ADJUST %>% filter(Year==2028) %>% mutate(RATIO=0) %>% mutate(Year=2025),ADJUST %>% filter(Year==2028) %>% mutate(RATIO=0) %>% mutate(Year=2026),ADJUST %>% filter(Year==2028) %>% mutate(RATIO=0) %>% mutate(Year=2027))