From 3d85ac0a175449c681db86cdf5a15b2ef4ac32f9 Mon Sep 17 00:00:00 2001 From: dylanbenzi Date: Mon, 7 Jul 2025 13:39:01 -0400 Subject: [PATCH] modify to use views --- queries.R | 60 ++++--------------------------------------------------- 1 file changed, 4 insertions(+), 56 deletions(-) diff --git a/queries.R b/queries.R index 45fb2da..4bb503c 100644 --- a/queries.R +++ b/queries.R @@ -66,70 +66,18 @@ split_full_lf_id <- function(full_lf_id) { # returns a list of loss storms we have data on get_all_loss_storms <- function() { - query <- econ.storm_base_loss %>% - select( - storm_basin, storm_year, storm_name - ) %>% - distinct( - storm_basin, storm_year, storm_name - ) %>% - left_join( - hurdat.hurdat_storms %>% - mutate(hurdatId = paste0(storm_basin, storm_number, storm_year)), - by = c("storm_basin", "storm_year", "storm_name")) %>% - select( - hurdatId, storm_basin, storm_name, storm_year - ) + query <- "SELECT * FROM all_loss_storms" - result <- query %>% collect() + result <- dbGetQuery(con, query) return(result) } # returns a list of latest normalized losses get_latest_aggregate_losses <- function() { - latest_loss_year <- econ.normalized_landfalls %>% - select(normalization_year) %>% - arrange(desc(normalization_year)) %>% - head(1) %>% - collect() %>% - pull(normalization_year) + query <- "SELECT * FROM all_normalized_losses" - query <- econ.normalized_landfalls %>% - filter(normalization_year == latest_loss_year) %>% - left_join(econ.storm_base_loss %>% - filter(!is.na(base_loss)) %>% - mutate( - ncei_priority = case_when( - str_like(base_loss_source, "%ncei%") ~ 1, - str_like(base_loss_source, "%mwr%") ~ 2, - TRUE ~ 3 - ) - ) %>% - group_by(storm_basin, storm_year, storm_name, lf_type, lf_id) %>% - slice_min(ncei_priority, n = 1, with_ties = F) %>% - ungroup(), - by = c("storm_basin", "storm_year", "storm_name", "lf_type", "lf_id")) %>% - mutate( - mmh_lf = (base_loss * gdp_deflator * rwhu * affected_housing), - mmp_lf = (base_loss * gdp_deflator * rwpc * affected_population) - ) %>% - group_by(storm_basin, storm_year, storm_name) %>% - summarize( - mmh = sum(mmh_lf, na.rm = T), - mmp = sum(mmp_lf, na.rm = T), - .groups = "drop" - ) %>% - filter(!is.na(mmh) & !is.na(mmp)) %>% - left_join(hurdat.hurdat_storms, by = c("storm_basin", "storm_year", "storm_name")) %>% - mutate( - hurdatId = paste0(storm_basin, storm_number, storm_year) - ) %>% - select( - hurdatId, storm_name, storm_year, mmh, mmp - ) - - result <- query %>% collect() + result <- dbGetQuery(con, query) return(result) }