Skip to content

Commit 3d24336

Browse files
committed
Turn epix_epi_slide_opt into epi_slide_opt impl
1 parent 78b1c51 commit 3d24336

11 files changed

+746
-709
lines changed

DESCRIPTION

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,9 @@ Collate:
9696
'correlation.R'
9797
'epi_df.R'
9898
'epi_df_forbidden_methods.R'
99+
'epi_slide_opt_archive.R'
100+
'epi_slide_opt_edf.R'
99101
'epiprocess-package.R'
100-
'epix_epi_slide_opt.R'
101102
'group_by_epi_df_methods.R'
102103
'methods-epi_archive.R'
103104
'grouped_epi_archive.R'

NAMESPACE

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ S3method(dplyr_col_modify,col_modify_recorder_df)
2727
S3method(dplyr_col_modify,epi_df)
2828
S3method(dplyr_reconstruct,epi_df)
2929
S3method(dplyr_row_slice,epi_df)
30-
S3method(epix_epi_slide_opt,epi_archive)
31-
S3method(epix_epi_slide_opt,grouped_epi_archive)
30+
S3method(epi_slide_opt,epi_archive)
31+
S3method(epi_slide_opt,epi_df)
32+
S3method(epi_slide_opt,grouped_epi_archive)
3233
S3method(epix_slide,epi_archive)
3334
S3method(epix_slide,grouped_epi_archive)
3435
S3method(epix_truncate_versions_after,epi_archive)
@@ -74,7 +75,6 @@ export(epi_slide_mean)
7475
export(epi_slide_opt)
7576
export(epi_slide_sum)
7677
export(epix_as_of)
77-
export(epix_epi_slide_opt)
7878
export(epix_fill_through_version)
7979
export(epix_merge)
8080
export(epix_slide)
Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#' Core operation of `epix_epi_slide_opt` for a single epikey's history
1+
#' Core operation of `epi_slide_opt.epi_archive` for a single epikey's history
22
#'
33
#' @param updates tibble with two columns: `version` and `subtbl`; `subtbl` is a
44
#' list of tibbles, each with a `time_value` column and measurement columns.
@@ -41,10 +41,10 @@
4141
#' tidyr::nest(.by = version, .key = "subtbl")
4242
#'
4343
#' updates %>%
44-
#' epix_epi_slide_opt_one_epikey("value", data.table::frollmean, "data.table", 1L, 0L, "day", "slide_value")
44+
#' epi_slide_opt_one_epikey("value", data.table::frollmean, "data.table", 1L, 0L, "day", "slide_value")
4545
#'
4646
#' @keywords internal
47-
epix_epi_slide_opt_one_epikey <- function(updates, in_colnames, f_dots_baked, f_from_package, before, after, time_type, out_colnames) {
47+
epi_slide_opt_archive_one_epikey <- function(updates, in_colnames, f_dots_baked, f_from_package, before, after, time_type, out_colnames) {
4848
# TODO check for col name clobbering
4949
unit_step <- epiprocess:::unit_time_delta(time_type)
5050
prev_inp_snapshot <- NULL
@@ -124,21 +124,9 @@ epix_epi_slide_opt_one_epikey <- function(updates, in_colnames, f_dots_baked, f_
124124
result
125125
}
126126

127-
# TODO just make this an epi_slide_opt impl?
128-
127+
#' @method epi_slide_opt grouped_epi_archive
129128
#' @export
130-
epix_epi_slide_opt <-
131-
function(.x, .col_names, .f, ...,
132-
.window_size = NULL, .align = c("right", "center", "left"),
133-
.prefix = NULL, .suffix = NULL, .new_col_names = NULL # ,
134-
## .ref_time_values = NULL, .all_rows = FALSE
135-
) {
136-
UseMethod("epix_epi_slide_opt")
137-
}
138-
139-
#' @method epix_epi_slide_opt grouped_epi_archive
140-
#' @export
141-
epix_epi_slide_opt.grouped_epi_archive <- function(.x, ...) {
129+
epi_slide_opt.grouped_epi_archive <- function(.x, ...) {
142130
assert_set_equal(
143131
group_vars(.x),
144132
key_colnames(.x, exclude = c("time_value", "version"))
@@ -147,16 +135,17 @@ epix_epi_slide_opt.grouped_epi_archive <- function(.x, ...) {
147135
orig_drop <- .x$private$drop
148136
.x %>%
149137
ungroup() %>%
150-
epix_epi_slide_opt(...) %>%
138+
epi_slide_opt(...) %>%
151139
group_by(pick(all_of(orig_group_vars)), .drop = orig_drop)
152140
}
153-
#' @method epix_epi_slide_opt epi_archive
141+
142+
#' @method epi_slide_opt epi_archive
154143
#' @export
155-
epix_epi_slide_opt.epi_archive <-
144+
epi_slide_opt.epi_archive <-
156145
function(.x, .col_names, .f, ...,
157146
.window_size = NULL, .align = c("right", "center", "left"),
158147
.prefix = NULL, .suffix = NULL, .new_col_names = NULL,
159-
## , .ref_time_values = NULL, .all_rows = FALSE
148+
.ref_time_values = NULL, .all_rows = FALSE,
160149
.progress = FALSE) {
161150
# Extract metadata:
162151
time_type <- .x$time_type
@@ -175,6 +164,12 @@ epix_epi_slide_opt.epi_archive <-
175164
col_names_quo <- enquo(.col_names)
176165
names_info <- across_ish_names_info(.x$DT, time_type, col_names_quo, .f_info$namer, .window_size, .align, .prefix, .suffix, .new_col_names)
177166
window_args <- get_before_after_from_window(.window_size, .align, time_type)
167+
if (!is.null(.ref_time_values)) {
168+
cli_abort("epi_slide.epi_archive does not support the `.ref_time_values` argument")
169+
}
170+
if (!identical(.all_rows, FALSE)) {
171+
cli_abort("epi_slide.epi_archive does not support the `.all_rows` argument")
172+
}
178173
assert(
179174
checkmate::check_logical(.progress, any.missing = FALSE, len = 1L, names = "unnamed"),
180175
checkmate::check_string(.progress)
@@ -196,7 +191,7 @@ epix_epi_slide_opt.epi_archive <-
196191
nest(.by = version, .key = "subtbl") %>%
197192
arrange(version)
198193
# TODO move nesting inside the helper?
199-
res <- epix_epi_slide_opt_one_epikey(group_updates, names_info$input_col_names, .f_dots_baked, .f_info$from_package, window_args$before, window_args$after, time_type, names_info$output_col_names) %>%
194+
res <- epi_slide_opt_archive_one_epikey(group_updates, names_info$input_col_names, .f_dots_baked, .f_info$from_package, window_args$before, window_args$after, time_type, names_info$output_col_names) %>%
200195
list_rbind()
201196
if (use_progress) cli::cli_progress_update(id = progress_bar_id)
202197
res

0 commit comments

Comments
 (0)