mirror of
https://github.com/dylanbenzi/hurricane_normalization_app.git
synced 2026-07-30 05:08:57 +00:00
modify to use views
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user