-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathscore.R
37 lines (33 loc) · 1.37 KB
/
score.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
library("dplyr")
library("assertthat")
save_score_cards = function(score_card, geo_type = c("state", "nation"),
signal_name = c("confirmed_incidence_num",
"deaths_incidence_num",
"confirmed_admissions_covid_1d"),
output_dir = ".") {
signal_name = match.arg(signal_name)
geo_type = match.arg(geo_type)
signals = score_card %>%
distinct(signal) %>%
pull(signal)
assert_that(signal_name %in% signals,
msg = "signal is not in score_card")
score_card = score_card %>% filter(signal == signal_name)
type_map <- list("confirmed_incidence_num" = "cases",
"deaths_incidence_num" = "deaths",
"confirmed_admissions_covid_1d" = "hospitalizations")
sig_suffix <- type_map[[signal_name]]
output_file_name = file.path(output_dir,
paste0("score_cards_", geo_type, "_",
sig_suffix, ".rds"))
if (geo_type == "state") {
score_card = score_card %>%
filter(nchar(geo_value) == 2, geo_value != "us")
} else if (geo_type == "nation") {
score_card = score_card %>%
filter(geo_value == "us")
}
saveRDS(score_card,
file = output_file_name,
compress = "xz")
}