@@ -775,40 +775,81 @@ rbind(
775775#| echo: true
776776edfg <- filter(edf, geo_value %in% c("ut", "ca")) |>
777777 group_by(geo_value) |>
778- mutate(gr_cases = growth_rate(time_value, case_rate, method = "trend_filter"))
778+ mutate(gr_cases = growth_rate(time_value, case_rate, method = "trend_filter")) |>
779+ ungroup()
779780```
780781
781782``` {r plot-growth-rates-ex}
782783#| fig-align: center
783- ggplot(edfg, aes(x = time_value, y = gr_cases)) +
784- geom_hline(yintercept = 0) +
785- geom_line(aes(col = geo_value)) +
786- geom_hline(yintercept = 0) +
787- scale_y_continuous(labels = scales::label_percent()) +
788- scale_color_manual(values = c(3, 6)) +
784+ edfg |>
785+ select(-death_rate) |>
786+ mutate(gr_cases_dup = gr_cases) |>
787+ pivot_longer(c(case_rate, gr_cases)) |>
788+ ggplot(aes(x = time_value, y = value, color = gr_cases_dup)) +
789+ facet_grid(name ~ geo_value, scales = "free_y") +
790+ geom_line(linewidth = 1) +
791+ ## ggforce::geom_link2(linewidth = 1) +
792+ ## scale_color_viridis_c(option = "C", end = .85) +
793+ ## scale_color_viridis_b(option = "C", end = .85, breaks = seq(-0.05, 0.10, by = 0.05)) +
794+ scale_color_fermenter(palette = "RdPu", transform = "reverse", breaks = seq(-0.05, 0.10, by = 0.05)) +
795+ ## scale_color_fermenter(palette = "RdPu", transform = "reverse", breaks = seq(-0.05, 0.10, by = 0.05),
796+ ## rescaler = function(...) scales::rescale(...) * 0.2) +
797+ ## scale_color_fermenter(palette = "PuRd", transform = "reverse", breaks = seq(-0.10, 0.15, by = 0.05)) +
798+ ## scale_color_fermenter(palette = "RdPu", transform = "reverse") +
799+ ## scale_color_fermenter(palette = "Paired", breaks = seq(-0.10, 0.15, by = 0.05)) +
800+ ## scale_color_fermenter(palette = "RdBu", breaks = round(seq(-0.15, 0.15, by = 0.05), 2)) +
789801 scale_x_date(minor_breaks = "month", date_labels = "%b %Y") +
790- labs(x = "Date", y = "Growth rate", col = "State")
802+ ## labs(x = "Date", y = "Growth rate", colour = "Growth rate") +
803+ geom_hline(aes(yintercept = 0),
804+ data = tibble(name = "gr_cases"),
805+ linetype = "dashed")
806+
807+
808+
809+
810+ edfg |>
811+ select(-death_rate) |>
812+ mutate(gr_cases_cat = cut(gr_cases, c(-Inf, seq(-0.10, 0.15, by = 0.05), Inf))) |>
813+ pivot_longer(c(case_rate, gr_cases)) |>
814+ ## ggplot(aes(x = time_value, y = value)) +
815+ ggplot(aes(x = time_value, y = value)) +
816+ facet_grid(name ~ geo_value, scales = "free_y") +
817+ scale_x_date(minor_breaks = "month", date_labels = "%b %Y") +
818+ geom_rect(aes(xmin = time_value - 0.5, xmax = time_value + 0.5, ymin = -Inf, ymax = Inf,
819+ fill = gr_cases_cat), alpha = 0.5) +
820+ geom_hline(aes(yintercept = yintercept),
821+ data = tibble(name = "gr_cases", yintercept = seq(-0.10, 0.15, by = 0.05)),
822+ linetype = "dashed") +
823+ ## scale_fill_brewer(palette = "RdPu") +
824+ ## geom_line(aes(color = gr_cases_cat, group = 1), linewidth = 1) +
825+ geom_line(aes(), linewidth = 1,
826+ function(data) data |> filter(name == "case_rate")) +
827+ ggforce::geom_link2(aes(color = gr_cases_cat, group = 1), linewidth = 1,
828+ function(data) data |> filter(name == "gr_cases")) +
829+ scale_color_viridis_d(option = "C", end = 0.85) +
830+ scale_fill_viridis_d(option = "C", end = 0.85)
791831```
792832
793833## Features - Outlier detection
794834
795835``` {r outlier-ex}
796836#| echo: true
797837#| message: false
798- edfo <- filter(edf, geo_value %in% c("nc", "ak")) |>
838+ ## edfo <- filter(edf, geo_value %in% c("nc", "ak")) |>
839+ edfo <- filter(edf, geo_value %in% c("ut", "ca")) |>
799840 dplyr::select(geo_value, time_value, case_rate) |>
800841 as_epi_df() |>
801842 group_by(geo_value) |>
802843 mutate(outlier_info = detect_outlr_rm(
803844 x = time_value, y = case_rate
804- ))
845+ )) |>
846+ ungroup()
805847```
806848
807849``` {r plot-outlier-ex}
808850#| fig-width: 8
809851#| fig-height: 4
810852edfo |>
811- ungroup() |>
812853 unnest() |>
813854 mutate(case_corrected = replacement) |>
814855 select(geo_value, time_value, case_rate, case_corrected) |>
0 commit comments