Skip to content

Commit 6191b61

Browse files
committed
Rework epi_slide_{opt,mean,sum} examples as they are 1 help topic
1 parent d369527 commit 6191b61

File tree

2 files changed

+72
-114
lines changed

2 files changed

+72
-114
lines changed

R/slide.R

Lines changed: 41 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -632,22 +632,53 @@ get_before_after_from_window <- function(window_size, align, time_type) {
632632
#' @export
633633
#' @seealso [`epi_slide`] for the more general slide function
634634
#' @examples
635-
#' # Compute a 7-day trailing average on cases.
635+
#' # Add a column (`cases_7dsum`) containing a 7-day trailing sum on `cases`:
636636
#' cases_deaths_subset %>%
637+
#' select(geo_value, time_value, cases) %>%
638+
#' epi_slide_sum(cases, .window_size = 7)
639+
#'
640+
#' # Add a column (`cases_rate_7dav`) containing a 7-day trailing average on `case_rate`:
641+
#' covid_case_death_rates_extended %>%
642+
#' epi_slide_mean(case_rate, .window_size = 7)
643+
#'
644+
#' # Use a less common specialized slide function:
645+
#' cases_deaths_subset %>%
646+
#' epi_slide_opt(cases, slider::slide_min, .window_size = 7)
647+
#'
648+
#' # Specify output column names and/or a naming scheme:
649+
#' cases_deaths_subset %>%
650+
#' select(geo_value, time_value, cases) %>%
637651
#' group_by(geo_value) %>%
638-
#' epi_slide_opt(cases, .f = data.table::frollmean, .window_size = 7) %>%
652+
#' epi_slide_sum(cases, .window_size = 7, .new_col_names = "case_sum") %>%
639653
#' ungroup()
640-
#'
641-
#' # Same as above, but adjust `frollmean` settings for speed, accuracy, and
642-
#' # to allow partially-missing windows.
643654
#' cases_deaths_subset %>%
655+
#' select(geo_value, time_value, cases) %>%
644656
#' group_by(geo_value) %>%
645-
#' epi_slide_opt(
646-
#' cases,
647-
#' .f = data.table::frollmean, .window_size = 7,
648-
#' algo = "exact", hasNA = TRUE, na.rm = TRUE
649-
#' ) %>%
657+
#' epi_slide_sum(cases, .window_size = 7, .prefix = "sum_") %>%
650658
#' ungroup()
659+
#'
660+
#' # Additional settings can be sent to the {data.table} and {slider} functions
661+
#' # via `...`. This example passes some arguments to `frollmean` settings for
662+
#' # speed, accuracy, and to allow partially-missing windows:
663+
#' covid_case_death_rates_extended %>%
664+
#' epi_slide_mean(
665+
#' case_rate,
666+
#' .window_size = 7,
667+
#' na.rm = TRUE, algo = "exact", hasNA = TRUE
668+
#' )
669+
#'
670+
#' # If the more specialized possibilities for `.f` don't cover your needs, you
671+
#' # can use `epi_slide_opt` with `.f = data.table::frollapply` to apply a
672+
#' # custom function at the cost of more computation time. See also `epi_slide`
673+
#' # if you need something even more general.
674+
#' cases_deaths_subset %>%
675+
#' select(geo_value, time_value, case_rate_7d_av, death_rate_7d_av) %>%
676+
#' epi_slide_opt(c(case_rate_7d_av, death_rate_7d_av),
677+
#' data.table::frollapply,
678+
#' FUN = median, .window_size = 28,
679+
#' .suffix = "_{.n}{.time_unit_abbr}_median"
680+
#' ) %>%
681+
#' print(n = 40)
651682
epi_slide_opt <- function(
652683
.x, .col_names, .f, ...,
653684
.window_size = NULL, .align = c("right", "center", "left"),
@@ -951,40 +982,6 @@ epi_slide_opt <- function(
951982
#' datatable::frollmean`.
952983
#'
953984
#' @export
954-
#' @examples
955-
#' # Compute a 7-day trailing average of case rates.
956-
#' covid_case_death_rates_extended %>%
957-
#' group_by(geo_value) %>%
958-
#' epi_slide_mean(case_rate, .window_size = 7) %>%
959-
#' ungroup()
960-
#'
961-
#' # Same as above, but adjust `frollmean` settings for speed, accuracy, and
962-
#' # to allow partially-missing windows.
963-
#' covid_case_death_rates_extended %>%
964-
#' group_by(geo_value) %>%
965-
#' epi_slide_mean(
966-
#' case_rate,
967-
#' .window_size = 7,
968-
#' na.rm = TRUE, algo = "exact", hasNA = TRUE
969-
#' ) %>%
970-
#' ungroup()
971-
#'
972-
#' # Compute a 7-day trailing average of case rates and death rates, with custom
973-
#' # output column names:
974-
#' covid_case_death_rates_extended %>%
975-
#' group_by(geo_value) %>%
976-
#' epi_slide_mean(c(case_rate, death_rate),
977-
#' .window_size = 7,
978-
#' .new_col_names = c("smoothed_case_rate", "smoothed_death_rate")
979-
#' ) %>%
980-
#' ungroup()
981-
#' covid_case_death_rates_extended %>%
982-
#' group_by(geo_value) %>%
983-
#' epi_slide_mean(c(case_rate, death_rate),
984-
#' .window_size = 7,
985-
#' .suffix = "_{.n}{.time_unit_abbr}_avg"
986-
#' ) %>%
987-
#' ungroup()
988985
epi_slide_mean <- function(
989986
.x, .col_names, ...,
990987
.window_size = NULL, .align = c("right", "center", "left"),
@@ -1044,25 +1041,6 @@ epi_slide_mean <- function(
10441041
#' datatable::frollsum`.
10451042
#'
10461043
#' @export
1047-
#' @examples
1048-
#' # Compute a 7-day trailing sum on cases.
1049-
#' cases_deaths_subset %>%
1050-
#' select(geo_value, time_value, cases) %>%
1051-
#' group_by(geo_value) %>%
1052-
#' epi_slide_sum(cases, .window_size = 7) %>%
1053-
#' ungroup()
1054-
#'
1055-
#' # Specify output column names and/or naming scheme:
1056-
#' cases_deaths_subset %>%
1057-
#' select(geo_value, time_value, cases) %>%
1058-
#' group_by(geo_value) %>%
1059-
#' epi_slide_sum(cases, .window_size = 7, .new_col_names = "case_sum") %>%
1060-
#' ungroup()
1061-
#' cases_deaths_subset %>%
1062-
#' select(geo_value, time_value, cases) %>%
1063-
#' group_by(geo_value) %>%
1064-
#' epi_slide_sum(cases, .window_size = 7, .prefix = "sum_") %>%
1065-
#' ungroup()
10661044
epi_slide_sum <- function(
10671045
.x, .col_names, ...,
10681046
.window_size = NULL, .align = c("right", "center", "left"),

man/epi_slide_opt.Rd

Lines changed: 31 additions & 51 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)