Skip to content

Add specialized epix_slide for epi_slide_opt #611

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 108 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
0c21801
refactor: hoist some epi_slide_opt pre-processing to helpers
brookslogan Feb 26, 2025
8471a28
feat: WIP epix_epi_slide_opt
brookslogan Feb 26, 2025
4cc0961
epix_epi_slide_opt: don't re-order input columns in output
brookslogan Feb 28, 2025
3be711e
feat: support before = Inf in epix_epi_slide_opt
brookslogan Mar 3, 2025
78c7885
feat(epi_slide_opt): improve feedback when .f is forgotten
brookslogan Mar 3, 2025
f5c235f
fix(epix_epi_slide_opt): support ... forwarding
brookslogan Mar 3, 2025
15e8c7d
Clean up some comments&code + note bug
brookslogan Mar 3, 2025
2cc751d
fix(epix_epi_slide_opt): on data.table `.f`s with `.align != "right"`
brookslogan Mar 3, 2025
9cc8468
Clear out some more comments
brookslogan Mar 3, 2025
762f04a
Fix missing ukey_names arg
brookslogan Mar 4, 2025
bd0a708
Check for missing & improper ukey_names args
brookslogan Mar 4, 2025
8608313
Remove some commented ideas that aren't quick wins
brookslogan Mar 4, 2025
111bac5
WIP cleaning up approx_equal
brookslogan Mar 5, 2025
1d8a5b9
fix(apply_compactify): avoid arrange on data.table, `i` parsing issues
brookslogan Mar 5, 2025
a224336
perf: speed up compactification with `approx_equal`
brookslogan Mar 5, 2025
ab010c8
fix(approx_equal): missing import
brookslogan Mar 5, 2025
72056a3
docs(approx_equal): roxygen2 + comment on inconsistencies/bugs
brookslogan Mar 5, 2025
e9ea2ca
fix(approx_equal): consistency with vec_slice(na_equal=FALSE)
brookslogan Mar 5, 2025
b13e825
fix(approx_equal): on bare numeric matrices
brookslogan Mar 5, 2025
0c9f462
feat: approx_equal on lists
brookslogan Mar 5, 2025
39816f5
docs(approx_equal): iterate on @return + doc approx_equal0
brookslogan Mar 5, 2025
ba40405
WIP docs(epix_epi_slide_opt_one_epikey): initial
brookslogan Mar 5, 2025
764c624
refactor: move epi_slide_opt & helpers to its own file
brookslogan Mar 7, 2025
e9b96f1
Actually turn epi_slide_opt into S3 method
brookslogan Mar 7, 2025
ddbd05d
Clean up unnecessary comments and unused helper functions, +@keywords…
brookslogan Mar 6, 2025
10b0de1
approx_equal: make "abs_tol=" mandatory, +validation, +docs
brookslogan Mar 6, 2025
2b7d786
Expand epi_slide_opt_archive_one_epikey example
brookslogan Mar 6, 2025
a7bdd0d
WIP epi_slide_opt.epi_archive tests
brookslogan Mar 6, 2025
eb5b020
More WIP on tests
brookslogan Mar 7, 2025
c674e97
Mark renaming TODO on approx_equal
brookslogan Mar 7, 2025
3072b33
fix!: as_epi_archive(tibble) key setting; + distrust key if data.table
brookslogan Mar 10, 2025
279c842
Make epi_archive key order geo !!!other time version
brookslogan Mar 10, 2025
c7704af
docs(new_epi_archive): roxygen2 for new param requirements
brookslogan Mar 10, 2025
3d4f167
fix(epi_slide_opt.epi_archive): as.data.table(tibble) key setting
brookslogan Mar 10, 2025
4801c7b
tests(epi_slide_opt): on example data sets
brookslogan Mar 10, 2025
8e7d507
Fix & test epi_slide_opt.grouped_epi_archive behavior
brookslogan Mar 10, 2025
6fa2c3b
Rename approx_equal -> vec_approx_equal
brookslogan Mar 10, 2025
1b89331
Fix missing n_groups import + epiprocess::: CHECK lint
brookslogan Mar 10, 2025
0418b03
Address additional lints, CHECK issues
brookslogan Mar 10, 2025
f2ecb31
Address missing ::: in tests
brookslogan Mar 10, 2025
a737dbe
Fix another missing `:::`
brookslogan Mar 10, 2025
d1c1e1d
Fix + add NEWS.md entries
brookslogan Mar 11, 2025
f4447b0
Fix CHECK doc line length lint
brookslogan Mar 11, 2025
2c08e01
Fix missing library(dplyr) in example
brookslogan Mar 11, 2025
2aa0301
Fix {epiprocess} -> `{epiprocess}` in roxygen
brookslogan Mar 11, 2025
56cacaa
docs: add vec_approx_equal to pkgdown reference index
brookslogan Mar 11, 2025
77f7bc0
docs(vec_approx_equal): mention vctrs::vec_proxy_equal
brookslogan Mar 18, 2025
1cb1555
Fix & test some vec_approx_equal vs. vec_equal behaviors
brookslogan Mar 25, 2025
5c8abd3
fix(vec_approx_equal): don't assume inds1 and inds2 non-NULL together
brookslogan Mar 25, 2025
7110499
perf(vec_approx_equal): avoid vec_cast_common, ptype2 work
brookslogan Mar 26, 2025
90c9da7
docs(vec_approx_equal): convert comment to issue
brookslogan Mar 26, 2025
2fcb00c
docs(vec_approx_equal): clean up some outdated/misleading comments
brookslogan Mar 26, 2025
1b10cbe
Update is_locf replacement test for new NA vs. NaN results
brookslogan Mar 26, 2025
118d0ed
docs(vec_approx_equal): update wrt compatibility fixes
brookslogan Mar 26, 2025
3341459
refactor(epi_slide_opt.epi_archive): address TODOs
brookslogan Mar 26, 2025
06b4286
Update R/epi_slide_opt_edf.R
brookslogan Mar 26, 2025
82cfbdd
Update R/epi_slide_opt_edf.R
brookslogan Mar 26, 2025
c2216a2
Update R/epi_slide_opt_edf.R
brookslogan Mar 26, 2025
3296b2d
Update R/epi_slide_opt_edf.R
brookslogan Mar 26, 2025
f14c26d
docs: document (GHA)
brookslogan Mar 26, 2025
87a01d0
docs: document (GHA)
brookslogan Mar 26, 2025
4bc5b23
refactor(epi_slide_opt_archive): add classes to errors
brookslogan Mar 26, 2025
711419a
Skip malfunctioning test being updated separately
brookslogan Mar 26, 2025
818f25a
style: styler (GHA)
brookslogan Mar 26, 2025
916318a
Use data.table column looping in epi_slide_opt.epi_archive
nmdefries Mar 26, 2025
6575f3d
Avoid `map` overhead in loop
brookslogan Mar 26, 2025
9b30f46
Work toward proper `fill =` + `.align` support in `epi_slide_opt()`
brookslogan Mar 26, 2025
21a0b38
Don't try to support `epi_slide_opt(fill =)`
brookslogan Mar 27, 2025
c885bba
docs: document (GHA)
brookslogan Mar 27, 2025
f0e4958
docs(epi_slide_opt): update comments re. after>=1 padding relocation
brookslogan Mar 27, 2025
60563de
Address styler & linter indentation conflict
brookslogan Mar 27, 2025
09756df
docs: document (GHA)
dsweber2 Apr 2, 2025
3ce86a0
comments and some nit rewrites
dsweber2 Apr 3, 2025
fcbf695
docs: document (GHA)
dsweber2 Apr 3, 2025
a7ff734
Update R/epi_slide_opt_archive.R
brookslogan Apr 4, 2025
5d2782d
style: styler (GHA)
brookslogan Apr 4, 2025
cdd9fee
Update tests/testthat/test-epi_slide_opt_archive.R
brookslogan Apr 4, 2025
722bae8
Update R/epi_slide_opt_archive.R
brookslogan Apr 4, 2025
0f2ee96
Update R/patch.R
brookslogan Apr 4, 2025
d205415
Update R/patch.R
brookslogan Apr 4, 2025
ae70f78
docs: document (GHA)
brookslogan Apr 5, 2025
d1ba68e
Merge pull request #652 from cmu-delphi/archive-agg-nits
brookslogan Apr 5, 2025
71116cb
Simplify `tbl_diff2` with `tbl_fast_anti_join`
brookslogan Apr 6, 2025
1c5f3c9
fix(tbl_fast_anti_join): include non-ukey, non-val cols in result
brookslogan Apr 6, 2025
5fc1dc5
Comment, clean, style, fix @keywords in archive opt slide & helpers
brookslogan Apr 6, 2025
436fbba
docs: document (GHA)
brookslogan Apr 6, 2025
5422363
Fix incomplete rename refactor
brookslogan Apr 7, 2025
f48fbf0
perf(epi_slide_opt.epi_archive): more `[` -> `vec_slice` changes
brookslogan Apr 7, 2025
ad0ec0f
docs(patch.R): fix comment grammar
brookslogan Apr 7, 2025
172c3c1
fix: add missing importFrom
brookslogan Apr 7, 2025
7a5708f
Refactor and speed up branch of `vec_approx_equal` NA/NaN testing
brookslogan Apr 8, 2025
fdee9de
Test unifying epi_slide_opt inner comps between edf and archive
brookslogan Apr 8, 2025
68065c6
Refactor unified epi_slide_opt_one_epikey for clarity
brookslogan Apr 9, 2025
f064578
Clean up slide range logic
brookslogan Apr 9, 2025
5295f1b
perf(unit_time_delta): faster arg matching
brookslogan Apr 9, 2025
c568774
refactor: handle time +/- Inf in helper function
brookslogan Apr 9, 2025
80966e2
Attempt rewriting combined opt slide logic to match old archive perf …
brookslogan Apr 10, 2025
db2f274
perf: try `vec_c` -> `c` on 3 time_values
brookslogan Apr 10, 2025
4ec96be
perf: avoid `c.Date` when possible
brookslogan Apr 10, 2025
cc1a563
perf: old, faster slide edge-trimming args are actually usable
brookslogan Apr 10, 2025
4792aea
fix(time_plus_slide_window_arg): on non-integerish, non-Inf `y`
brookslogan Apr 10, 2025
62375f8
fix: output filter w/ before=Inf, wrong before/after types
brookslogan Apr 10, 2025
68de47b
refactor(epi_slide_opt): helper function&variable naming, arg ordering
brookslogan Apr 11, 2025
4763e36
More internal renames and documentation
brookslogan Apr 11, 2025
184f98a
perf: c -> list when specifying slide out date min, max
brookslogan Apr 11, 2025
a82d48d
fix(epi_slide_opt): on `out_filter_time_set` narrowing to 0
brookslogan Apr 11, 2025
4aadc95
docs(slide.R): correct error message regarding data.frame rownames
brookslogan Apr 12, 2025
d962101
fix: `purrr::partial` missing future arg placement
brookslogan Apr 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ Collate:
'correlation.R'
'epi_df.R'
'epi_df_forbidden_methods.R'
'epi_slide_opt_archive.R'
'epi_slide_opt_edf.R'
'epiprocess-package.R'
'group_by_epi_df_methods.R'
'methods-epi_archive.R'
Expand All @@ -106,6 +108,7 @@ Collate:
'key_colnames.R'
'methods-epi_df.R'
'outliers.R'
'patch.R'
'reexports.R'
'revision_analysis.R'
'slide.R'
Expand Down
31 changes: 30 additions & 1 deletion NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ S3method(dplyr_col_modify,col_modify_recorder_df)
S3method(dplyr_col_modify,epi_df)
S3method(dplyr_reconstruct,epi_df)
S3method(dplyr_row_slice,epi_df)
S3method(epi_slide_opt,epi_archive)
S3method(epi_slide_opt,epi_df)
S3method(epi_slide_opt,grouped_epi_archive)
S3method(epix_slide,epi_archive)
S3method(epix_slide,grouped_epi_archive)
S3method(epix_truncate_versions_after,epi_archive)
Expand Down Expand Up @@ -102,6 +105,7 @@ export(time_column_names)
export(ungroup)
export(unnest)
export(validate_epi_archive)
export(vec_approx_equal)
export(version_column_names)
import(epidatasets)
importFrom(checkmate,anyInfinite)
Expand All @@ -118,13 +122,19 @@ importFrom(checkmate,assert_logical)
importFrom(checkmate,assert_number)
importFrom(checkmate,assert_numeric)
importFrom(checkmate,assert_scalar)
importFrom(checkmate,assert_set_equal)
importFrom(checkmate,assert_string)
importFrom(checkmate,assert_subset)
importFrom(checkmate,assert_tibble)
importFrom(checkmate,assert_true)
importFrom(checkmate,checkInt)
importFrom(checkmate,check_atomic)
importFrom(checkmate,check_character)
importFrom(checkmate,check_data_frame)
importFrom(checkmate,check_logical)
importFrom(checkmate,check_names)
importFrom(checkmate,check_null)
importFrom(checkmate,check_numeric)
importFrom(checkmate,expect_class)
importFrom(checkmate,test_int)
importFrom(checkmate,test_set_equal)
Expand All @@ -144,6 +154,7 @@ importFrom(data.table,address)
importFrom(data.table,as.data.table)
importFrom(data.table,between)
importFrom(data.table,copy)
importFrom(data.table,fifelse)
importFrom(data.table,frollapply)
importFrom(data.table,frollmean)
importFrom(data.table,frollsum)
Expand All @@ -152,6 +163,8 @@ importFrom(data.table,key)
importFrom(data.table,rbindlist)
importFrom(data.table,set)
importFrom(data.table,setDF)
importFrom(data.table,setDT)
importFrom(data.table,setcolorder)
importFrom(data.table,setkeyv)
importFrom(dplyr,"%>%")
importFrom(dplyr,across)
Expand All @@ -174,8 +187,8 @@ importFrom(dplyr,if_all)
importFrom(dplyr,if_any)
importFrom(dplyr,if_else)
importFrom(dplyr,is_grouped_df)
importFrom(dplyr,lag)
importFrom(dplyr,mutate)
importFrom(dplyr,n_groups)
importFrom(dplyr,pick)
importFrom(dplyr,pull)
importFrom(dplyr,relocate)
Expand All @@ -201,6 +214,7 @@ importFrom(rlang,"%||%")
importFrom(rlang,.data)
importFrom(rlang,.env)
importFrom(rlang,arg_match)
importFrom(rlang,arg_match0)
importFrom(rlang,caller_arg)
importFrom(rlang,caller_env)
importFrom(rlang,check_dots_empty)
Expand All @@ -213,6 +227,7 @@ importFrom(rlang,expr_label)
importFrom(rlang,f_env)
importFrom(rlang,f_rhs)
importFrom(rlang,is_bare_integerish)
importFrom(rlang,is_bare_list)
importFrom(rlang,is_bare_numeric)
importFrom(rlang,is_environment)
importFrom(rlang,is_formula)
Expand All @@ -236,10 +251,12 @@ importFrom(slider,slide_sum)
importFrom(stats,cor)
importFrom(stats,median)
importFrom(tibble,as_tibble)
importFrom(tibble,is_tibble)
importFrom(tibble,new_tibble)
importFrom(tibble,validate_tibble)
importFrom(tidyr,complete)
importFrom(tidyr,full_seq)
importFrom(tidyr,nest)
importFrom(tidyr,unnest)
importFrom(tidyselect,any_of)
importFrom(tidyselect,eval_select)
Expand All @@ -249,15 +266,27 @@ importFrom(tsibble,as_tsibble)
importFrom(utils,capture.output)
importFrom(utils,tail)
importFrom(vctrs,"vec_slice<-")
importFrom(vctrs,obj_is_vector)
importFrom(vctrs,vec_cast)
importFrom(vctrs,vec_cast_common)
importFrom(vctrs,vec_data)
importFrom(vctrs,vec_duplicate_any)
importFrom(vctrs,vec_duplicate_detect)
importFrom(vctrs,vec_duplicate_id)
importFrom(vctrs,vec_equal)
importFrom(vctrs,vec_in)
importFrom(vctrs,vec_match)
importFrom(vctrs,vec_order)
importFrom(vctrs,vec_ptype)
importFrom(vctrs,vec_rbind)
importFrom(vctrs,vec_recycle)
importFrom(vctrs,vec_recycle_common)
importFrom(vctrs,vec_rep)
importFrom(vctrs,vec_rep_each)
importFrom(vctrs,vec_seq_along)
importFrom(vctrs,vec_set_intersect)
importFrom(vctrs,vec_set_names)
importFrom(vctrs,vec_size)
importFrom(vctrs,vec_size_common)
importFrom(vctrs,vec_slice)
importFrom(vctrs,vec_sort)
11 changes: 11 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ Pre-1.0.0 numbering scheme: 0.x will indicate releases, while 0.x.y will indicat
## New features

- `is_epi_archive` function has been reintroduced.
## Breaking changes

- The low-level `new_epi_archive()` function's `x` argument has been replaced
with a `data_table` argument, which now has extra requirements; see
`?new_epi_archive`. Users should still be using `as_epi_archive()` unless they
have a need for something lower-level.

## New features

- `epi_slide_{mean,sum,opt}` now work on `epi_archive`s, preparing version
histories for 7-day-averages of signals, etc.

# epiprocess 0.11

Expand Down
Loading