Main
make_deg_dist_dat <- function(attr, sim_dat, pcut, deg_type, deg.name){
attr_val <- enexpr(attr)
degtype_val <- enexpr(deg_type)
sim_brk <- sim_dat %>% mutate(deg.name = pmin(n, pcut)) %>%
group_by(!!attr_val, deg.name) %>% count() %>%
ungroup() %>% group_by(!!attr_val) %>%
mutate(Percent = round(100 * n / sum(n), 2),
Source = "EpiModel Simulation")
colnames(sim_brk)[2] <- deg.name
obs_brk <- obs %>% mutate(deg.name = pmin(!!degtype_val, pcut)) %>%
group_by(!!attr_val, deg.name) %>%
count() %>% ungroup() %>% group_by(!!attr_val) %>%
mutate(Percent = round(100 * n / sum(n), 2),
Source = "WHAMP Survey Data")
colnames(obs_brk)[2] <- deg.name
all_dat <- bind_rows(sim_brk, obs_brk)
ggplot(all_dat, aes(x = !!degtype_val, y = Percent, fill = Source)) +
geom_col(alpha = 0.5, position = "identity") + facet_wrap(vars(!!attr_val)) +
geom_text_repel(aes(label = paste0(Percent, "%")), direction = "y") +
theme(legend.position = "bottom")
}
make_deg_dist_dat(race, sim_degs[[1]], 1, deg.main, "deg.main") +
scale_x_continuous(breaks = c(0, 1),
labels = c("0", "1"))
