Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
1038e15
Ran document after updating to epidatr.
kenmawer Aug 9, 2022
6e2b207
Addressed first two comments.
kenmawer Aug 9, 2022
77b5bb9
Replaced `n` in details.
kenmawer Aug 9, 2022
db99a67
Updated some poorly typed documentation and an imporperly refactored …
kenmawer Aug 9, 2022
0456aff
Cleared unclear documentation and removed redundancy with slide's code.
kenmawer Aug 10, 2022
950ee8c
Added a test for blank `after`.
kenmawer Aug 10, 2022
d43cede
Refactored edf with grouped.
kenmawer Aug 10, 2022
039f33f
More fixes.
kenmawer Aug 10, 2022
93738aa
Updated `align`.
kenmawer Aug 10, 2022
8c601f8
Fixed inconsistency with test formatting.
kenmawer Aug 10, 2022
cfe2b55
Updated compactify on a vignette, added two tests for NA and put a te…
kenmawer Aug 10, 2022
cf420b2
Fixup: clarify "missing" `group_by_drop_default.epi_archive`
lcbrooks Aug 11, 2022
2a97699
Fixup: check for empty dots in a clearer, more correct way
lcbrooks Aug 11, 2022
21fee02
Fixup: clarify group_by delegation
lcbrooks Aug 11, 2022
46a952a
Check for removed `group_by` arg, fix broken test that still used
lcbrooks Aug 11, 2022
bd8a4b7
Fixup: add comments clarifying missing dots dtxn, rxn in ungroup
lcbrooks Aug 11, 2022
26836c4
This should not be here.
kenmawer Aug 15, 2022
8ec50dd
Added example of centre alignment.
kenmawer Aug 15, 2022
ca5c4ee
I forgot to document.
kenmawer Aug 15, 2022
ff6b0c1
Made `n` more descriptive.
kenmawer Aug 16, 2022
94aa234
Updated documentation.
kenmawer Aug 16, 2022
88eae27
Fixed up mixup with alignments.
kenmawer Aug 17, 2022
2f88b85
Replaced "rolling" with "running".
kenmawer Aug 17, 2022
7995dfe
Pulled changes to take out conflicts on .Rd.
kenmawer Aug 18, 2022
d061268
Merge branch 'main' of https://github.com/cmu-delphi/epiprocess into …
kenmawer Aug 18, 2022
afbb29b
A few refactors.
kenmawer Aug 18, 2022
fc7e635
Refactored `n` with `before`.
kenmawer Aug 18, 2022
d413219
No errors!
kenmawer Aug 18, 2022
98311c6
Still need to update testing.
kenmawer Aug 19, 2022
5062127
IDK why it says xx is not found!!!!
kenmawer Aug 19, 2022
b5cec01
Still having problems with non-similar xx1 and xx2.
kenmawer Aug 19, 2022
a126abd
This fixes `epix_slide` without adding random stuff when fixing `epi_…
kenmawer Aug 19, 2022
31f7f4c
Replaced `t` with `ref_time_value`.
kenmawer Aug 19, 2022
b0b2450
Implemented first point.
kenmawer Aug 19, 2022
5cd8ea9
IDK what's going on with the warning message printing...
kenmawer Aug 19, 2022
fbfa546
Put in more changes.
kenmawer Aug 19, 2022
ecb36a3
Getting unknown error.
kenmawer Aug 19, 2022
63e01d8
This should pass.
kenmawer Aug 20, 2022
9e72651
Updated `before` that was a number too low.
kenmawer Aug 20, 2022
9f5ee8c
Require >=1 of `before`,`after`; ensure `time_step` receives integer
lcbrooks Aug 23, 2022
0fec3ae
Format `epi_slide` roxygen examples
lcbrooks Aug 23, 2022
d9682da
Fix some outdated docs, refine wording on others
lcbrooks Aug 23, 2022
0d3ea1b
Fix broken reference in roxygen docs
lcbrooks Aug 23, 2022
dd6ef48
Refactor out `before_num` from `epix_slide`
lcbrooks Aug 23, 2022
6c56208
Fix `local_edition` ambiguity in tests
lcbrooks Aug 24, 2022
d648910
Update `epix_slide` `before` docs, add validation
lcbrooks Aug 24, 2022
9ac8a0b
Clean away comment discussing immaterial details
lcbrooks Sep 1, 2022
3e05830
Improve `*_varnames` functions' interface, naming
lcbrooks Sep 1, 2022
80a8f6d
Refactor `wrap_varnames` -> `wrap_{varnames,symbolics}`
lcbrooks Sep 3, 2022
62abb3d
Correct some S3 terminology + refine error message
lcbrooks Sep 3, 2022
3dbab88
Change `$group_by` `...` to tidyeval, not tidyselect
lcbrooks Sep 3, 2022
cba9391
Expand comment stubs, add missing comments
lcbrooks Sep 3, 2022
39dd0be
Import upstream S3 generics for `epi_archive`-related S3 methods
lcbrooks Sep 6, 2022
35a4605
Make `<grouped_epi_archive>$print` show own methods, not `ungrouped`'s
lcbrooks Sep 20, 2022
03c1835
Tweak documentation of `epi[x]_slide` interface differences
lcbrooks Sep 22, 2022
10026f4
Remove unused @importFrom
lcbrooks Sep 22, 2022
fecd849
Address some indentation and indenter issues
lcbrooks Sep 26, 2022
ce87b3b
Fix `group_by` tests to reflect intended data masking behavior
lcbrooks Sep 26, 2022
d8287cf
Merge km-fix-epix_slide-good into lcb/grouped_epi_archive
lcbrooks Oct 3, 2022
3ddd63d
Rename, doc, & disallow rename syntax in eval_select_names_from_dots
lcbrooks Oct 28, 2022
f6549a8
Address tidyselect deprecations
lcbrooks Oct 28, 2022
6e3f554
Merge branch 'main' into lcb/grouped_epi_archive
lcbrooks Nov 1, 2022
10d5f55
Use `dplyr_extending`, don't ungroup in `epix_slide`, back to `group_…
lcbrooks Nov 1, 2022
295fa92
Remove no-longer-implemented `.groups` analog from `epix_slide`
lcbrooks Nov 2, 2022
5436039
Add some missing grouping-related methods for archives
lcbrooks Nov 2, 2022
d697f75
Update roxygen & news for `group_by` & `dplyr_extending` changes
lcbrooks Nov 3, 2022
d9b741c
Fix archive regrouping (`self$` -> `private$`)
lcbrooks Nov 4, 2022
7d67021
Address #153, #124; make clobberable default quiet & msging clearer
lcbrooks Nov 8, 2022
5bb1572
Clean up partial arg name matches in tests
lcbrooks Nov 9, 2022
b6613fd
Organize `epix_slide` tests
lcbrooks Nov 11, 2022
beb4493
Tweak ``archive %>% group_by(`version`)`` error message
lcbrooks Nov 11, 2022
efb3e5d
Merge remote-tracking branch 'dajmcdon/km-slide-n-replace2.1' into lc…
lcbrooks Nov 12, 2022
48f7801
Fix NEWS.md, comments, docs issues noticed during merge
lcbrooks Nov 12, 2022
245448a
Merge pull request #216 from dajmcdon/km-fix-epix_slide-good
brookslogan Nov 13, 2022
8b00b3b
Merge pull request #188 from dajmcdon/km-slide-n-replace2.1
brookslogan Nov 13, 2022
ea951ee
Add NEWS for slide {n,align,before}->{before,after}
lcbrooks Nov 13, 2022
21da52c
Note another `epix_slide` vs `epi_slide` diff in & reword docs
lcbrooks Nov 14, 2022
8f40df5
Fix partial function rename, improve comments
lcbrooks Nov 14, 2022
1abed17
Enforce unique key requirement in `epi_archive$new`
lcbrooks Nov 15, 2022
5e782c9
Fix `epi_df` `group_by`+`arrange` regression
lcbrooks Nov 16, 2022
0bfb431
Repair vignettes, pkgdown
lcbrooks Nov 16, 2022
3c90707
Make GH Issue references in NEWS.md into links + add another ref
lcbrooks Nov 17, 2022
78daa27
Update slide docs with prior changes
lcbrooks Nov 18, 2022
3da8a65
Fix some missing "* "s in `print` methods
lcbrooks Jan 10, 2023
55e14eb
Fix `ungroup.grouped_epi_archive` arg forwarding
lcbrooks Jan 10, 2023
ae02a87
Add some `epi_archive` `group_by`-related docs and examples
lcbrooks Jan 10, 2023
2f74727
add all_verions arg and document
nmdefries Jan 18, 2023
671f649
implement all_versions for as_of + helper
nmdefries Jan 19, 2023
6feaa95
clone and copy archive group DTs for all_versions sliding
nmdefries Jan 23, 2023
006ca77
reduce duplicate comp_one_group calls
nmdefries Jan 23, 2023
3783fa6
comments; pass comp args to all_versions wrapper
nmdefries Jan 23, 2023
c6a7141
document
nmdefries Jan 23, 2023
44504d8
comments
nmdefries Jan 23, 2023
c700208
support grouped archives and return same grouping type as input
nmdefries Jan 31, 2023
28016a8
Fix roxygen named link syntax, repairing install via renv
lcbrooks Feb 1, 2023
86c7dab
Fix invalid link text breaking installs via renv
lcbrooks Feb 1, 2023
6d6d22c
test epix_truncate_version_after
nmdefries Jan 31, 2023
f2af340
turn epix_truncate_versions_after into a generic
nmdefries Feb 1, 2023
914de42
missing .group_key arg
nmdefries Feb 3, 2023
f264e0c
test slide all_versions
nmdefries Feb 3, 2023
d3607cd
grouped archive truncate_versions to call ungrouped vers for brevity
nmdefries Feb 7, 2023
acfd6d9
attribution
nmdefries Feb 7, 2023
23bde85
test wording
nmdefries Feb 7, 2023
219c7a0
Fix/improve group_by, ungroup usage in most vignettes
lcbrooks Feb 15, 2023
c9bf57e
Add R6 analogues for epix_truncate_versions_after
lcbrooks Feb 22, 2023
4bd77f0
Fix epix_slide all_versions=T providing tibble $DTs
lcbrooks Feb 24, 2023
c641722
Fix some inconsistent scoping/importing, redocument
lcbrooks Feb 24, 2023
fb5e037
Test `epix_slide` with `all_versions=TRUE`, grouping by geo
lcbrooks Mar 8, 2023
01531df
Update + add more `epix_slide` @examples
lcbrooks Mar 9, 2023
e7ed141
Add missing parameter validation for `epix_{as_of,slide}`
lcbrooks Mar 9, 2023
5278255
Fix partial var rename, bad links, redocument
lcbrooks Mar 9, 2023
23e939b
Merge branch 'lcb/grouped_epi_archive' into ndefries/epix-slide-versions
lcbrooks Mar 9, 2023
8b356d6
Add NEWS.md entry for `all_versions`
lcbrooks Mar 9, 2023
59be1eb
Merge pull request #259 from cmu-delphi/ndefries/epix-slide-versions
brookslogan Mar 9, 2023
87f3989
Merge remote-tracking branch 'origin/dev' into lcb/grouped_epi_archive
lcbrooks Mar 11, 2023
eb496c8
Merge pull request #277 from cmu-delphi/lcb/grouped_epi_archive
brookslogan Mar 13, 2023
ebebe29
Merge remote-tracking branch 'origin/main' into dev
lcbrooks Mar 20, 2023
e47c9c3
Bump to v0.6.0
lcbrooks Mar 20, 2023
2093f18
Bump to v0.6.0.9999
lcbrooks Mar 20, 2023
19b5346
Merge pull request #283 from cmu-delphi/lcb/bump-to-v0.6.0
brookslogan Mar 20, 2023
d6b2639
Clarify archive grouping-related documentation
lcbrooks Mar 17, 2023
9a092af
Update epix_slide code to have `reframe`-like row behavior
lcbrooks Mar 16, 2023
d2edb2e
Add missing `grouped_epi_archive` test file
lcbrooks Mar 20, 2023
bf99f30
Update `.drop`+`epix_slide` given `reframe`-like `epix_slide`
lcbrooks Mar 20, 2023
74631af
If `epix_slide` outputs an `epi_df`, use `versions_end` for `as_of`
lcbrooks Mar 20, 2023
8039ed3
Update checks to also run on PRs (but not pushes) to `dev`
lcbrooks Mar 21, 2023
496affc
add epix_slide example comparing same computation with all_vers FALSE
nmdefries Mar 21, 2023
9d10b5f
Fix missing quotes in _pkgdown.yml
lcbrooks Mar 24, 2023
b8f768a
Update `epi[x]_slide` comparisons given epix like `reframe`
lcbrooks Mar 28, 2023
953717f
Remove `all_rows` for `epix_slide`; add deprecation tests
lcbrooks Mar 28, 2023
06d958d
Fix `?archive_cases_dv_subset` regarding modifications of upstream
lcbrooks Apr 7, 2023
527c1bb
Merge pull request #299 from cmu-delphi/fix-sample-archive-modificati…
dajmcdon Apr 8, 2023
f0465c4
check num args before ... in f
nmdefries Apr 20, 2023
138cdb0
only warn if dots provided in args
nmdefries Apr 21, 2023
e2c8152
test num args errors and warnings
nmdefries Apr 21, 2023
95fc474
use older support for not raising errors in tests
nmdefries Apr 24, 2023
066fb4e
factor out args check
nmdefries Apr 24, 2023
ed2a5e9
test slide fn and arg check fn arg warnings
nmdefries Apr 24, 2023
1ec3597
reduce slide arg check test coverage
nmdefries Apr 24, 2023
9bda33c
pass ref_time_value to function f in epix_slide
nmdefries Apr 26, 2023
cb195c2
Always output ungrouped, no-metadata tibble from `epix_slide`, `as_ti…
lcbrooks May 4, 2023
b7a07e4
Refactor `ref_time_values` calc, test 0-row `f` outputs in `epix_slide`
lcbrooks May 4, 2023
c06f3ee
Fix DESCRIPTION version, update NEWS.md with `epix_slide` changes
lcbrooks May 4, 2023
b02b3a1
Change `epix_slide` to be more analogous to `group_modify`
lcbrooks May 4, 2023
976155e
extend rlang::as_function so can reference ref_time_value in formulas
nmdefries Apr 28, 2023
1aad359
remove slide func arg name requirement
nmdefries May 4, 2023
442f3e9
Fix `epix_slide` `as_list_col=TRUE` outputting df-type col not list
lcbrooks May 5, 2023
e440a18
Add `epix_slide`-like-`group_modify` migration notes in NEWS.md
lcbrooks May 5, 2023
134b47c
Fixm roxygen copy-paste error for `group_modify`
lcbrooks May 5, 2023
a4baf7a
Address non-ASCII character issue from `check()`
lcbrooks May 5, 2023
6d0f060
Fix `guess_period` `@param` names
lcbrooks May 5, 2023
21a090b
Fix `as_tibble.epi_df` docs, make it have its own topic
lcbrooks May 5, 2023
5966f00
test comp func conversion and epix_slide takes reftimeval
nmdefries May 5, 2023
6efd823
Fix `group_modify.epi_df` roxygen typo + missing `@param`s
lcbrooks May 5, 2023
d2823b4
epx_slide fs in tests to take 3 args
nmdefries May 5, 2023
3a299c5
rename f args in epix_slide tests and examples
nmdefries May 5, 2023
a82e2f2
Eliminate `epix_slide` example warning, add more example comments
lcbrooks May 8, 2023
6b8fad8
Merge pull request #284 from cmu-delphi/ndefries/all-versions/examples
brookslogan May 8, 2023
a3f227c
Rename check->assert_sufficient_f_args, tweak warning text & fields
lcbrooks May 8, 2023
6825a5c
rename error class to match func name
nmdefries May 10, 2023
51b12ee
drop regexp in tests where also specify error class
nmdefries May 10, 2023
d5466d3
check if required fields already have defaults set
nmdefries May 11, 2023
46cf783
test default checking
nmdefries May 11, 2023
8ee084f
reference group, ref time by changing quo env
nmdefries May 5, 2023
267c441
set special arg names in func definition
nmdefries May 15, 2023
a3b31bd
import env
nmdefries May 15, 2023
d0fc5b0
describe dots var access
nmdefries May 15, 2023
a572464
Suppress forwarded warning from warning+error sufficient-args test
lcbrooks May 15, 2023
b982526
Account for `...` forwarding in `assert_sufficient_f_args`
lcbrooks May 16, 2023
290b4b9
Consider unnamed dots forwarding in `assert_sufficient_f_args`
lcbrooks May 16, 2023
34649f8
factor out "dots_i -1" to var
nmdefries May 17, 2023
6ebb1a5
import tail
nmdefries May 17, 2023
d0374a1
basic way to calculate ref_time_value in epi_slide
nmdefries May 18, 2023
f2f3436
support using ref_time_value in epi_slide computations
nmdefries May 18, 2023
f6836d3
Message about right args when `f` default is suspiciously replaced
brookslogan May 18, 2023
10fb9e4
Message about right args when they fall into `f`'s dots
lcbrooks May 18, 2023
f0f0105
Also message about args fed to `f` dots when it has dots first
lcbrooks May 18, 2023
a872728
Fix and test some other corner cases in f arg checking
lcbrooks May 18, 2023
a1a53c5
Merge pull request #302 from cmu-delphi/ndefries/useful-slide-arg-errors
brookslogan May 18, 2023
43ce902
Merge branch 'dev' into ndefries/epix-slide-pass-reftimevalue-without…
nmdefries May 19, 2023
d1b5d72
drop .real, clean up names
nmdefries May 19, 2023
a95b2a8
import bind_rows
nmdefries May 19, 2023
a047b07
repl(epix_slide): describe migration in `all_rows` deprecation
lcbrooks May 19, 2023
26e9d2c
refactor: favor validation section over validation + `else if`
lcbrooks May 19, 2023
dbb658c
Fix epix_slide warning class naming inconsistencies
lcbrooks May 19, 2023
af49aae
Fix missing word in `advanced.Rmd` basic usage description
lcbrooks May 19, 2023
fea4b6c
Use consolidated `epidatr::fetch()`
lcbrooks May 23, 2023
05c311f
tests
nmdefries May 19, 2023
cd4c382
add empty rows for all group var combos
nmdefries May 23, 2023
51b13a6
add dot prefix to dots arg names
nmdefries May 23, 2023
8bfb4d8
add support for and test sliding on ungrouped epi_dfs
nmdefries May 23, 2023
d7f3521
Merge pull request #319 from cmu-delphi/lcb/update-for-latest-epidatr
brookslogan May 23, 2023
60ada45
Remove remaining references to `comp_effective_key_vars`
lcbrooks May 24, 2023
80d29c6
Add missing `epix_slide` tests for {fn,~,tidy} x {all_versions,not}
lcbrooks May 24, 2023
f70b911
Reword advanced.Rmd on epi vs epix slide number of output rows
lcbrooks May 24, 2023
de398b1
Track missing .Rd file
lcbrooks May 24, 2023
8985db2
Make `as_list_col=TRUE` consistent for vecs and dfs from slide comps
lcbrooks May 24, 2023
5564c0d
speed up slow filter and select steps
nmdefries May 24, 2023
22b9b69
tests expect epi_df output
nmdefries May 24, 2023
2014016
Merge branch 'dev' into lcb/make_epix_slide_more_like_reframe
nmdefries May 24, 2023
9ba843c
Fix `all_rows = TRUE` to work with move to `vctrs`
lcbrooks May 27, 2023
cf2ad2f
Update tests&NEWS.md about `epi_slide` `f` Date vec output
lcbrooks May 30, 2023
116bae0
Add NEWS.md entry for `as_list_col` `all_rows` `NA` -> `NULL`
lcbrooks May 30, 2023
65a49da
documentation improvements and clarifications
nmdefries May 30, 2023
5436aa3
Merge pull request #311 from cmu-delphi/lcb/make_epix_slide_more_like…
brookslogan May 30, 2023
0933801
In `epix_slide` tidyeval, use custom data mask rather than quo env
lcbrooks Jun 1, 2023
f93ef93
rename helper text and fn class in `as_slide_computation`
nmdefries Jun 1, 2023
964e46d
remove quosure conversion in `as_slide_computation`
nmdefries Jun 1, 2023
e709ea2
use Abort in errors
nmdefries Jun 1, 2023
d44b41f
test errors from as_slide_computation
nmdefries Jun 1, 2023
a682557
note min arg requirement and ref_time_value access in NEWS
nmdefries Jun 2, 2023
920fbd7
Merge branch 'dev' into ndefries/epix-slide-pass-reftimevalue-without…
nmdefries Jun 2, 2023
093f95a
don't export as_slide_computation
nmdefries Jun 2, 2023
0283d6a
suppress manual page generation
nmdefries Jun 2, 2023
dcd0515
pass third arg to func interface tests
nmdefries Jun 2, 2023
eb0c27e
some tests expect a tibble
nmdefries Jun 2, 2023
4410a39
Merge branch 'ndefries/epix-slide-pass-reftimevalue-without-env' into…
nmdefries Jun 5, 2023
e644624
import env
nmdefries Jun 5, 2023
feb65b3
some tests expect a tibble
nmdefries Jun 5, 2023
620648e
add placeholders for .x, .group_key, and .rtv
nmdefries Jun 5, 2023
e9580d3
test helper function behavior
nmdefries Jun 5, 2023
b7d7c53
test reftimevalue access on ungrouped epidf
nmdefries Jun 6, 2023
4aa59cb
Merge branch 'ndefries/epix-slide-dots-rtv' into ndefries/epi-slide-rtv
nmdefries Jun 6, 2023
e98e03d
expect output date col as date not double
nmdefries Jun 6, 2023
fed6f11
filter result by .real when all_rows == TRUE
nmdefries Jun 6, 2023
9ccfe91
keep .real col from being accessible from user f computation
nmdefries Jun 6, 2023
307fb6e
use custom data mask rather than quo env to match `epix_slide` tidyev…
nmdefries Jun 7, 2023
0b48ea4
test helper function behavior
nmdefries Jun 7, 2023
9db1165
rename inrange... for phony helper dates
nmdefries Jun 7, 2023
143081a
document that ref_time_val not always a date
nmdefries Jun 8, 2023
91d270a
use stronger attribution
nmdefries Jun 8, 2023
db00432
ci: set DELPHI_EPIDATA_KEY, from a GitHub Secret
lcbrooks Jun 9, 2023
f79bc08
ci: annotate actions explaining differences from usethis output
lcbrooks Jun 9, 2023
aeb9a25
cleanup: add renv-related entries to .Rbuildignore
lcbrooks Jun 9, 2023
d8a95c7
Merge pull request #313 from cmu-delphi/ndefries/epix-slide-pass-reft…
brookslogan Jun 9, 2023
1d26905
ci: note more edits in comments for GitHub Actions
lcbrooks Jun 9, 2023
572f6e6
Merge pull request #328 from cmu-delphi/lcb/use-api-key
brookslogan Jun 9, 2023
a4c19f7
Install `.x` etc. into data masks in same way pronouns are
brookslogan Jun 15, 2023
512f08a
Simplify&flatten epi_slide data mask implementation
brookslogan Jun 16, 2023
d22b88b
Describe our pronoun-like objects in `epi_slide` `...` docs
brookslogan Jun 16, 2023
39f4d2d
Merge pull request #318 from cmu-delphi/ndefries/epi-slide-rtv
brookslogan Jun 16, 2023
e7c4b8d
Rework NEWS.md about `.ref_time_value` and almost-pronouns available
brookslogan Jun 16, 2023
6039646
Merge remote-tracking branch 'upstream/dev' into ndefries/epix-slide-…
brookslogan Jun 16, 2023
e047a4a
Fix grammar in `epix_slide` `...` docs
brookslogan Jun 16, 2023
a2c9aa1
Merge pull request #317 from cmu-delphi/ndefries/epix-slide-dots-rtv
brookslogan Jun 16, 2023
b2406f1
Merge pull request #330 from cmu-delphi/ndefries/epix-slide-pass-reft…
brookslogan Jun 16, 2023
5abdd82
Bump version to 0.7.0
brookslogan Jun 17, 2023
ff97fda
Merge pull request #331 from cmu-delphi/v0.7.0-prep
brookslogan Jun 17, 2023
a2968b7
Address slide vignette lacking `rtv` arg + vignette index entry typo
brookslogan Jun 17, 2023
c3ca17b
Merge pull request #333 from cmu-delphi/lcb/v.0.7.0-fixup
brookslogan Jun 17, 2023
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
2 changes: 2 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
^renv$
^renv\.lock$
^.*\.Rproj$
^\.Rproj\.user$
^LICENSE\.md$
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
#
# Created with usethis + edited to run on PRs to dev, use API key.
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
branches: [main, master, dev]

name: R-CMD-check

Expand All @@ -27,3 +29,5 @@ jobs:
needs: check

- uses: r-lib/actions/check-r-package@v2
env:
DELPHI_EPIDATA_KEY: ${{ secrets.SECRET_EPIPROCESS_GHACTIONS_DELPHI_EPIDATA_KEY }}
6 changes: 5 additions & 1 deletion .github/workflows/pkgdown.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
#
# Created with usethis + edited to run on PRs to dev, use API key.
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
branches: [main, master, dev]
release:
types: [published]
workflow_dispatch:
Expand Down Expand Up @@ -34,6 +36,8 @@ jobs:
needs: website

- name: Build site
env:
DELPHI_EPIDATA_KEY: ${{ secrets.SECRET_EPIPROCESS_GHACTIONS_DELPHI_EPIDATA_KEY }}
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
shell: Rscript {0}

Expand Down
34 changes: 26 additions & 8 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
Type: Package
Package: epiprocess
Title: Tools for basic signal processing in epidemiology
Version: 0.5.0.9999
Version: 0.6.0.9999
Authors@R: c(
person("Jacob", "Bien", role = "ctb"),
person("Logan", "Brooks", role = "aut"),
person("Rafael", "Catoia", role = "ctb"),
person("Nat", "DeFries", role = "ctb"),
person("Daniel", "McDonald", role = "aut"),
person("Rachel", "Lobay", role = "ctb"),
person("Ken", "Mawer", role = "ctb"),
Expand All @@ -20,13 +21,15 @@ Description: This package introduces a common data structure for epidemiological
work with revisions to these data sets over time, and offers associated
utilities to perform basic signal processing tasks.
License: MIT + file LICENSE
Imports:
Imports:
cli,
data.table,
dplyr,
dplyr (>= 1.0.0),
fabletools,
feasts,
generics,
genlasso,
lifecycle (>= 1.0.1),
lubridate,
magrittr,
purrr,
Expand All @@ -35,18 +38,18 @@ Imports:
slider,
tibble,
tidyr,
tidyselect,
tidyselect (>= 1.2.0),
tsibble,
utils
utils,
vctrs
Suggests:
covidcast,
epidatr,
ggplot2,
knitr,
outbreaks,
rmarkdown,
testthat (>= 3.0.0),
vctrs,
testthat (>= 3.1.5),
waldo (>= 0.3.1),
withr
VignetteBuilder:
Expand All @@ -59,7 +62,22 @@ Config/testthat/edition: 3
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.1
RoxygenNote: 7.2.3
Depends:
R (>= 2.10)
URL: https://cmu-delphi.github.io/epiprocess/
Collate:
'archive.R'
'correlation.R'
'data.R'
'epi_df.R'
'epiprocess.R'
'methods-epi_archive.R'
'grouped_epi_archive.R'
'growth_rate.R'
'methods-epi_df.R'
'outliers.R'
'reexports.R'
'slide.R'
'utils.R'
'utils_pipe.R'
45 changes: 39 additions & 6 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
# Generated by roxygen2: do not edit by hand

S3method("[",epi_df)
S3method(arrange,epi_df)
S3method("names<-",epi_df)
S3method(as_epi_df,data.frame)
S3method(as_epi_df,epi_df)
S3method(as_epi_df,tbl_df)
S3method(as_epi_df,tbl_ts)
S3method(as_tibble,epi_df)
S3method(as_tsibble,epi_df)
S3method(filter,epi_df)
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(epix_truncate_versions_after,epi_archive)
S3method(epix_truncate_versions_after,grouped_epi_archive)
S3method(group_by,epi_archive)
S3method(group_by,epi_df)
S3method(group_by,grouped_epi_archive)
S3method(group_by_drop_default,grouped_epi_archive)
S3method(group_modify,epi_df)
S3method(mutate,epi_df)
S3method(groups,grouped_epi_archive)
S3method(next_after,Date)
S3method(next_after,integer)
S3method(print,epi_df)
S3method(relocate,epi_df)
S3method(rename,epi_df)
S3method(slice,epi_df)
S3method(summary,epi_df)
S3method(ungroup,epi_df)
S3method(ungroup,grouped_epi_archive)
S3method(unnest,epi_df)
export("%>%")
export(archive_cases_dv_subset)
Expand All @@ -35,12 +42,14 @@ export(epi_slide)
export(epix_as_of)
export(epix_merge)
export(epix_slide)
export(epix_truncate_versions_after)
export(filter)
export(group_by)
export(group_modify)
export(growth_rate)
export(is_epi_archive)
export(is_epi_df)
export(is_grouped_epi_archive)
export(max_version_with_row_in)
export(mutate)
export(new_epi_df)
Expand All @@ -60,9 +69,16 @@ importFrom(data.table,key)
importFrom(data.table,set)
importFrom(data.table,setkeyv)
importFrom(dplyr,arrange)
importFrom(dplyr,bind_rows)
importFrom(dplyr,dplyr_col_modify)
importFrom(dplyr,dplyr_reconstruct)
importFrom(dplyr,dplyr_row_slice)
importFrom(dplyr,filter)
importFrom(dplyr,group_by)
importFrom(dplyr,group_by_drop_default)
importFrom(dplyr,group_modify)
importFrom(dplyr,group_vars)
importFrom(dplyr,groups)
importFrom(dplyr,mutate)
importFrom(dplyr,relocate)
importFrom(dplyr,rename)
Expand All @@ -72,20 +88,37 @@ importFrom(dplyr,ungroup)
importFrom(lubridate,days)
importFrom(lubridate,weeks)
importFrom(magrittr,"%>%")
importFrom(purrr,map_lgl)
importFrom(rlang,"!!!")
importFrom(rlang,"!!")
importFrom(rlang,.data)
importFrom(rlang,.env)
importFrom(rlang,arg_match)
importFrom(rlang,caller_arg)
importFrom(rlang,caller_env)
importFrom(rlang,check_dots_empty0)
importFrom(rlang,enquo)
importFrom(rlang,enquos)
importFrom(rlang,env)
importFrom(rlang,f_env)
importFrom(rlang,f_rhs)
importFrom(rlang,global_env)
importFrom(rlang,is_environment)
importFrom(rlang,is_formula)
importFrom(rlang,is_function)
importFrom(rlang,is_missing)
importFrom(rlang,is_quosure)
importFrom(rlang,is_string)
importFrom(rlang,missing_arg)
importFrom(rlang,new_function)
importFrom(rlang,quo_is_missing)
importFrom(rlang,sym)
importFrom(rlang,syms)
importFrom(stats,cor)
importFrom(stats,median)
importFrom(tibble,as_tibble)
importFrom(tidyr,unnest)
importFrom(tidyselect,eval_select)
importFrom(tidyselect,starts_with)
importFrom(tsibble,as_tsibble)
importFrom(utils,tail)
138 changes: 135 additions & 3 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,144 @@
# epiprocess 0.5.0.9999 (development version)
# epiprocess 0.7.0

Note that `epiprocess` uses the [Semantic Versioning
("semver")](https://semver.org/) scheme for all release versions, but not for
development versions. A ".9999" suffix indicates a development version.
("semver")](https://semver.org/) scheme for all release versions, but any
inter-release development versions will include an additional ".9999" suffix.

## Breaking changes:

* Changes to `epi_slide` and `epix_slide`:
* If `f` is a function, it is now required to take at least three arguments.
`f` must take an `epi_df` with the same column names as the archive's `DT`,
minus the `version` column; followed by a one-row tibble containing the
values of the grouping variables for the associated group; followed by a
reference time value, usually as a `Date` object. Optionally, it can take
any number of additional arguments after that, and forward values for those
arguments through `epi[x]_slide`'s `...` args.
* To make your existing slide computations work, add a third argument to
your `f` function to accept this new input: e.g., change `f = function(x,
g, <any other arguments>) { <body> }` to `f = function(x, g, rt, <any
other arguments>) { <body> }`.

## New features:

* `epi_slide` and `epix_slide` also make the window data, group key and reference
time value available to slide computations specified as formulas or tidy
evaluation expressions, in additional or completely new ways.
* If `f` is a formula, it can now access the reference time value via `.z` or
`.ref_time_value`.
* If `f` is missing, the tidy evaluation expression in `...` can now refer to
the window data as an `epi_df` or `tibble` with `.x`, the group key with
`.group_key`, and the reference time value with `.ref_time_value`. The usual
`.data` and `.env` pronouns also work, but`pick()` and `cur_data()` are not;
work off of `.x` instead.
* `epix_slide` has been made more like `dplyr::group_modify`. It will no longer
perform element/row recycling for size stability, accepts slide computation
outputs containing any number of rows, and no longer supports `all_rows`.
* To keep the old behavior, manually perform row recycling within `f`
computations, and/or `left_join` a data frame representing the desired
output structure with the current `epix_slide()` result to obtain the
desired repetitions and completions expected with `all_rows = TRUE`.
* `epix_slide` will only output grouped or ungrouped tibbles. Previously, it
would sometimes output `epi_df`s, but not consistently, and not always with
the metadata desired. Future versions will revisit this design, and consider
more closely whether/when/how to output an `epi_df`.
* To keep the old behavior, convert the output of `epix_slide()` to `epi_df`
when desired and set the metadata appropriately.

## Improvements:

* `epi_slide` and `epix_slide` now support `as_list_col = TRUE` when the slide
computations output atomic vectors, and output a list column in "chopped"
format (see `tidyr::chop`).
* `epi_slide` now works properly with slide computations that output just a
`Date` vector, rather than converting `slide_value` to a numeric column.

# epiprocess 0.6.0

## Breaking changes:

* Changes to both `epi_slide` and `epix_slide`:
* The `n`, `align`, and `before` arguments have been replaced by new `before`
and `after` arguments. To migrate to the new version, replace these
arguments in every `epi_slide` and `epix_slide` call. If you were only using
the `n` argument, then this means replacing `n = <n value>` with `before =
<n value> - 1`.
* `epi_slide`'s time windows now extend `before` time steps before and
`after` time steps after the corresponding `ref_time_values`. See
`?epi_slide` for details on matching old alignments.
* `epix_slide`'s time windows now extend `before` time steps before the
corresponding `ref_time_values` all the way through the latest data
available at the corresponding `ref_time_values`.
* Slide functions now keep any grouping of `x` in their results, like
`mutate` and `group_modify`.
* To obtain the old behavior, `dplyr::ungroup` the slide results immediately.
* Additional `epi_slide` changes:
* When using `as_list_col = TRUE` together with `ref_time_values` and
`all_rows=TRUE`, the marker for excluded computations is now a `NULL` entry
in the list column, rather than a `NA`; if you are using `tidyr::unnest()`
afterward and want to keep these missing data markers, you will need to
replace the `NULL` entries with `NA`s. Skipped computations are now more
uniformly detectable using `vctrs` methods.
* Additional`epix_slide` changes:
* `epix_slide`'s `group_by` argument has been replaced by `dplyr::group_by` and
`dplyr::ungroup` S3 methods. The `group_by` method uses "data masking" (also
referred to as "tidy evaluation") rather than "tidy selection".
* Old syntax:
* `x %>% epix_slide(<other args>, group_by=c(col1, col2))`
* `x %>% epix_slide(<other args>, group_by=all_of(colname_vector))`
* New syntax:
* `x %>% group_by(col1, col2) %>% epix_slide(<other args>)`
* `x %>% group_by(across(all_of(colname_vector))) %>% epix_slide(<other args>)`
* `epix_slide` no longer defaults to grouping by non-`time_value`, non-`version`
key columns, instead considering all data to be in one big group.
* To obtain the old behavior, precede each `epix_slide` call lacking a
`group_by` argument with an appropriate `group_by` call.
* `epix_slide` now guesses `ref_time_values` to be a regularly spaced sequence
covering all the `DT$version` values and the `version_end`, rather than the
distinct `DT$time_value`s. To obtain the old behavior, pass in
`ref_time_values = unique(<ungrouped archive>$DT$time_value)`.
* `epi_archive`'s `clobberable_versions_start`'s default is now `NA`, so there
will be no warnings by default about potential nonreproducibility. To obtain
the old behavior, pass in `clobberable_versions_start =
max_version_with_row_in(x)`.

## Potentially-breaking changes:

* Fixed `[` on grouped `epi_df`s to maintain the grouping if possible when
dropping the `epi_df` class (e.g., when removing the `time_value` column).
* Fixed `epi_df` operations to be more consistent about decaying into
non-`epi_df`s when the result of the operation doesn't make sense as an
`epi_df` (e.g., when removing the `time_value` column).
* Changed `bind_rows` on grouped `epi_df`s to not drop the `epi_df` class. Like
with ungrouped `epi_df`s, the metadata of the result is still simply taken
from the first result, and may be inappropriate
([#242](https://github.com/cmu-delphi/epiprocess/issues/242)).
* `epi_slide` and `epix_slide` now raise an error rather than silently filtering
out `ref_time_values` that don't meet their expectations.

## New features:

* `epix_slide`, `<epi_archive>$slide` have a new parameter `all_versions`. With
`all_versions=TRUE`, `epix_slide` will pass a filtered `epi_archive` to each
computation rather than an `epi_df` snapshot. This enables, e.g., performing
pseudoprospective forecasts with a revision-aware forecaster using nested
`epix_slide` operations.

## Improvements:

* Added `dplyr::group_by` and `dplyr::ungroup` S3 methods for `epi_archive`
objects, plus corresponding `$group_by` and `$ungroup` R6 methods. The
`group_by` implementation supports the `.add` and `.drop` arguments, and
`ungroup` supports partial ungrouping with `...`.
* `as_epi_archive`, `epi_archive$new` now perform checks for the key uniqueness
requirement (part of
[#154](https://github.com/cmu-delphi/epiprocess/issues/154)).

## Cleanup:

* Added a `NEWS.md` file to track changes to the package.
* Implemented `?dplyr::dplyr_extending` for `epi_df`s
([#223](https://github.com/cmu-delphi/epiprocess/issues/223)).
* Fixed various small documentation issues ([#217](https://github.com/cmu-delphi/epiprocess/issues/217)).

# epiprocess 0.5.0:
Expand Down
Loading