Skip to content
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

merge dev -> main #617

Merged
merged 147 commits into from
Mar 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
cc07ab0
rm genlasso
dajmcdon Dec 11, 2024
0613150
Autoload `epidatasets` as a dependency rather than reexporting epidat…
nmdefries Dec 13, 2024
7f96041
Complete partial update to author info
brookslogan Dec 19, 2024
cc5e742
Merge pull request #588 from cmu-delphi/lcb/complete-author-info-update
brookslogan Dec 20, 2024
c03221e
Fix age group rate aggregation example
brookslogan Dec 18, 2024
da28a28
Make `extra_keys =` into soft "deprecation" of a different behavior
brookslogan Oct 21, 2024
8b5d905
fix(revision_summary): use selected value col, not last col
brookslogan Oct 9, 2024
06c5d1b
Tweak revision_summary tidyselect, remove redundant arrange
brookslogan Oct 10, 2024
8c13f31
Clarify time_near_latest -> lag_near_latest
brookslogan Oct 10, 2024
1a74d75
fix(revision_summary): consider units&class in lag filter
brookslogan Oct 18, 2024
074e0a4
Fix compactification with dist_quantiles columns
brookslogan Oct 18, 2024
8bbcf16
Refactor/fix(?): Use time_delta helpers in revision_summary
brookslogan Dec 16, 2024
e405e2f
docs(epi_df.Rmd): immediate ungrouping + discuss completion effects
brookslogan Dec 19, 2024
09bd354
docs(epi_df.Rmd): editing pass on flusurv aggregation update
brookslogan Dec 19, 2024
edb1b9b
docs(epi_df.Rmd): general editing pass
brookslogan Dec 19, 2024
4473acb
feat(revision_summary): don't autoselect first var if != 1 var
brookslogan Dec 19, 2024
638b117
Add `time_delta_to_approx_difftime()` utils function
brookslogan Dec 19, 2024
2fe9b1a
fix(revision_summary): make min_waiting_period strict like docs
brookslogan Dec 20, 2024
be19854
feat(revision_summary)!: make `min_waiting_period` nonstrict
brookslogan Dec 20, 2024
826b927
Add difftime_approx_ceiling_time_delta helper, adj yearmonth difftime…
brookslogan Dec 20, 2024
3509ebc
Migrate time utils to new file
brookslogan Dec 20, 2024
ee00d42
Add unit_time_delta_fast and time add/sub helpers
brookslogan Dec 20, 2024
4405ab9
Add time_delta standardization helpers
brookslogan Dec 20, 2024
5de2eec
Change *_friendly and *_fast functions to an extra argument
brookslogan Dec 20, 2024
a1ebd09
Refactor some time_step <-> n_steps usage for clarity
brookslogan Dec 20, 2024
0707e71
feat+fix(revision_summary): expand time_type support + fix helpers
brookslogan Dec 20, 2024
1558f69
Add internal docs for additional time helpers
brookslogan Dec 20, 2024
deb2e8b
Add tests for default min_waiting_period x several time_types
brookslogan Dec 21, 2024
257f69c
Add internal roxygen stub of validate_slide_window_arg
brookslogan Jan 8, 2025
046fb70
Fill in some missing @param entries, links in time utils
brookslogan Jan 9, 2025
f77d14c
Make `key_colnames` map to unique key + more demanding
brookslogan Oct 10, 2024
2e86b84
fix: complete partial rename (time_to -> lag_to in globalVariables)
brookslogan Jan 9, 2025
416a7e8
`key_colnames`: +flexible on dfs, +rigid on edfs, +tsibble, +archive
brookslogan Oct 18, 2024
2692843
Fix potential `_` formatting issues + update (un)grouping in README.Rmd
brookslogan Jan 9, 2025
d5fdc6c
Tweak key_colnames.epi_df(other_keys =) mismatch error text
brookslogan Oct 22, 2024
a0fe1d8
docs(slide.R): datatable:: -> data.table::
brookslogan Jan 9, 2025
7a7ce48
lint: uncomment redundant check for nicer organization
brookslogan Jan 9, 2025
386f51d
docs(revision_summary): update `drop_nas`, compactification, & param …
brookslogan Jan 9, 2025
8f223c2
lint: nolint indentation on one disagreement with styler
brookslogan Jan 9, 2025
d850083
minor code annotations, some logic ordering
dsweber2 Jan 10, 2025
b569131
switch to summing pop-weighted rates
nmdefries Jan 11, 2025
ee04efa
style: styler (GHA)
nmdefries Jan 11, 2025
6e18b32
docs(epi_df.Rmd): frac_rate -> rate_contrib, comments, limit grouped …
brookslogan Jan 13, 2025
c99125d
fix(vec_position_lag): finish incorporating `n` parameter
brookslogan Jan 13, 2025
0208a96
fix(vec_position_lag): length->vec_size + better Date perf + fix docs
brookslogan Jan 14, 2025
c89afae
Experiment with vec_rep vctr NA instead of slicing rep NA_integer_ in…
brookslogan Jan 14, 2025
734e35b
refactor/perf(?)(is_locf): vec_position_lag -> dplyr::lag
brookslogan Jan 14, 2025
b03fe32
fix(as_epi_archive): make compactification support more general vctrs
brookslogan Jan 14, 2025
5257ece
refactor(key_colnames.epi_df): NULL -> "actual" default for other_keys
brookslogan Jan 15, 2025
5f737be
feat(key_colnames.data.frame)!: make geo_keys & time_keys mandatory
brookslogan Jan 15, 2025
89f27e5
docs(difftime_approx_ceiling_time_delta): correct inequality in title
brookslogan Jan 15, 2025
0b77dde
test(difftime_approx_ceiling_time_delta): add tests
brookslogan Jan 15, 2025
a4f498b
fix(revision_summary): generalize units() usage
brookslogan Jan 15, 2025
c4acd18
test(revision_summary): more comments on min_waiting_period default
brookslogan Jan 16, 2025
975e783
fix trendfilter + growth_rate
dajmcdon Jan 20, 2025
a236706
add tests for parameter constructor and splines
dajmcdon Jan 20, 2025
967f16a
pass minimal tests
dajmcdon Jan 21, 2025
2f8b06f
docs: document (GHA)
dajmcdon Jan 21, 2025
b41b5fb
style: styler (GHA)
dajmcdon Jan 21, 2025
bbf5a07
slight modifications to the vignette
dajmcdon Jan 21, 2025
92f3eb0
add install instructions to vignette
dajmcdon Jan 21, 2025
a6e8785
Merge branch 'no-genlasso' of https://github.com/cmu-delphi/epiproces…
dajmcdon Jan 21, 2025
f2c9383
redocument
dajmcdon Jan 21, 2025
5a242a1
merge dev, bump version.
dajmcdon Jan 21, 2025
0e10f94
redocument
dajmcdon Jan 21, 2025
5101627
add tests, pass checks
dajmcdon Jan 23, 2025
6d7091c
style: styler (GHA)
dajmcdon Jan 23, 2025
61628fd
handle annoying lintr crud
dajmcdon Jan 23, 2025
3b77ef6
add missing fn for pkgdown
dajmcdon Jan 23, 2025
28ccafb
Merge pull request #591 from cmu-delphi/lcb/fix-age-group-rate-agg-ex…
brookslogan Jan 24, 2025
16e1f46
Merge pull request #592 from cmu-delphi/lcb/rework-key_colnames
brookslogan Jan 24, 2025
46a348a
style: styler (GHA)
brookslogan Jan 24, 2025
53bf12c
docs: document (GHA)
brookslogan Jan 24, 2025
b73bbed
docs(key_colnames.R): insert paragraph break
brookslogan Jan 24, 2025
04fac65
docs: document (GHA)
brookslogan Jan 24, 2025
0010bf3
style: styler (GHA)
brookslogan Jan 24, 2025
d35394d
docs(key_colnames): give better idea of possible `x`s
brookslogan Jan 24, 2025
0bb9d57
docs(key_colnames): mention classes not supporting *_keys args
brookslogan Jan 24, 2025
860281f
Merge remote-tracking branch 'upstream/lcb/key_colnames-revision_summ…
brookslogan Jan 24, 2025
81582cb
Merge pull request #540 from cmu-delphi/lcb/update-key_colnames.epi_a…
brookslogan Jan 24, 2025
3e3c0e4
Update NEWS.md, Version: in DESCRIPTION
brookslogan Jan 24, 2025
214e8e3
lint: adjust indentation, nolint objects only in cli interpolation
brookslogan Jan 24, 2025
1b263be
Update key_colnames tests for new mandatory args
brookslogan Jan 24, 2025
e08dd6a
Fix missing library(dplyr) in tests
brookslogan Jan 24, 2025
7eb0e4a
Update NEWS.md
brookslogan Jan 24, 2025
7571bf3
style: styler (GHA)
brookslogan Jan 24, 2025
47eb129
Merge pull request #599 from cmu-delphi/lcb/key_colnames-revision_sum…
brookslogan Jan 24, 2025
5f849ab
ci: add netlify preview
dshemetov Jan 23, 2025
aff6620
Merge pull request #597 from cmu-delphi/netlify
dshemetov Jan 24, 2025
bcdb216
Merge branch 'dev' into no-genlasso
dajmcdon Jan 24, 2025
8758128
docs: document (GHA)
dajmcdon Jan 24, 2025
64d8bc9
replace readme fig with svg, remove old stragglers
dajmcdon Jan 23, 2025
24f3dab
doc: build readme
dshemetov Jan 25, 2025
908ab36
docs: document (GHA)
dshemetov Jan 27, 2025
16f9e15
Merge pull request #596 from cmu-delphi/readme-figs
dshemetov Jan 27, 2025
5280faf
docs(growth_rate): reword + typo
brookslogan Jan 28, 2025
0426ec4
Use glmgen/trendfilter installation command as suggestion
brookslogan Jan 28, 2025
393370f
Make `growth_rate(method = "trendfilter")` without {trendfilter} a ha…
brookslogan Jan 28, 2025
341be94
refactor(growth_rate): preoptimize/normalize some ops
brookslogan Jan 28, 2025
d10c440
docs: document (GHA)
brookslogan Jan 28, 2025
8c92285
fix(growth_rate): single_lambda check
brookslogan Jan 28, 2025
b0d3236
Rename growth_rate_global_params() -> growth_rate_params()
brookslogan Jan 28, 2025
2baa9e0
docs: document (GHA)
brookslogan Jan 28, 2025
730bc55
Further NEWS rewording
brookslogan Jan 28, 2025
264fbcf
remove scaling by sd (now done internally by the method)
dajmcdon Jan 29, 2025
5a037bc
remove sorting of x0, not really needed
dajmcdon Jan 29, 2025
2ce5daa
rm straggling sdy
dajmcdon Jan 29, 2025
5612df0
satisfy the linter
dajmcdon Jan 29, 2025
85e6530
fix rcmd check errors
dajmcdon Jan 29, 2025
d5c3498
Revert "satisfy the linter"
dajmcdon Jan 29, 2025
059b968
Re-lint test line lengths
brookslogan Feb 10, 2025
aa18382
Merge pull request #595 from cmu-delphi/no-genlasso
brookslogan Feb 10, 2025
ca75dd9
feat({new,validate,as}_epi_archive)!: follow convention
brookslogan Jan 22, 2025
e91e33b
feat!: tweak compactify+tolerance naming, defaults, tweak meaning
brookslogan Jan 24, 2025
0268781
fix: is_locf corner cases; nonstrict abs_tol, default 0
brookslogan Jan 25, 2025
5089e46
Update NEWS.md, bump version; style, lint, document
brookslogan Jan 28, 2025
d2b15f3
docs(epix_merge): add missing @param compactify_abs_tol
brookslogan Jan 30, 2025
aec4314
fix(apply_compactify): arrange(!!!<name of chr vec>) is no-op
brookslogan Jan 30, 2025
5caf95a
test(add_compactify): test on non-pre-arranged tibble
brookslogan Jan 30, 2025
2e5f6fe
perf(update_is_locf): avoid col copies when DT + `[` not filter
brookslogan Jan 31, 2025
28c9a90
docs(update_is_locf): missing @param, better naming
brookslogan Jan 31, 2025
0210cc7
fix(is_locf): is_bare_numeric() allows dim&names; disallow&ignore
brookslogan Feb 4, 2025
52e870e
Rename `should_compactify` -> `compactify` + cleanup from review
brookslogan Feb 10, 2025
954aa4b
Re-bump version
brookslogan Feb 10, 2025
a699ae8
Change as-of date in vignette example to match new `epidatasets::covi…
nmdefries Feb 12, 2025
da3fa5f
Merge pull request #601 from cmu-delphi/lcb/tweak-archive-tol-interface
brookslogan Feb 18, 2025
0007285
ci: remove now-redundant cyclocomp_linter removal
brookslogan Mar 6, 2025
ddacf68
refactor: address explicit -> implicit return lints
brookslogan Mar 6, 2025
7392c90
Bump version to 0.11.0
brookslogan Mar 6, 2025
fae8200
docs: document (GHA)
brookslogan Mar 6, 2025
382485d
Merge pull request #623 from cmu-delphi/lint-for-0.11
brookslogan Mar 6, 2025
27f98ea
Improve performance and docs of as_tibble.epi_df
brookslogan Feb 4, 2025
88ae596
perf: avoid full edf group reconstruction when grouping is known valid
brookslogan Feb 7, 2025
19ca29b
fix: [<-, [[<-, $<- on grouped epi_dfs: drop edf-ness only when neces…
brookslogan Feb 10, 2025
847141c
perf: avoid tidyeval in inner loops
brookslogan Feb 7, 2025
c4336ca
perf(check_ukey_unique): use vctrs::vec_duplicate_any
brookslogan Feb 8, 2025
65eaec8
perf(epi_slide): bind_{rows,cols} -> vec_{rbind,cbind} + adj if nec
brookslogan Feb 10, 2025
a07d9ec
perf: %in% -> vec_in for Dates/time_values; avoid `filter` in loop
brookslogan Feb 10, 2025
e9c8ccd
refactor: use `list_rbind()`
brookslogan Feb 19, 2025
1899c49
refactor(epi_slide_opt): cleaner subresult formation
brookslogan Feb 19, 2025
a573456
docs(epix_slide): fix outdated comment
brookslogan Feb 21, 2025
2d282aa
nolint: `.` usage, styler indentation disagreement
brookslogan Mar 7, 2025
f58a174
docs: add NEWS.md entries
brookslogan Mar 7, 2025
6bab2f4
lint(CHECK): explicitly list some args in `[<-`, `[[<-`, `$<-` impls
brookslogan Mar 7, 2025
d7fc4c0
docs: unlink broken `reclass()` ref
brookslogan Mar 7, 2025
4296485
fix: missed Imports: pkgconfig
brookslogan Mar 7, 2025
ca98924
Merge pull request #607 from cmu-delphi/lcb/perf-tweaks
brookslogan Mar 7, 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
65 changes: 65 additions & 0 deletions .github/workflows/doc-preview.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
on:
issue_comment:
types: [created]

name: doc-preview.yaml

permissions: read-all

jobs:
preview:
if: ${{ github.event.issue.pull_request && (github.event.comment.author_association == 'COLLABORATOR' || github.event.comment.author_association == 'CONTRIBUTOR' || github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER') && startsWith(github.event.comment.body, '/preview-docs') }}

runs-on: ubuntu-latest
permissions:
# Needed to write a comment on the PR
pull-requests: write
# Needed to read the PR branch
contents: read
steps:
- uses: actions/checkout@v4
with:
# Checkout the PR branch
ref: refs/pull/${{ github.event.issue.number }}/head

- uses: r-lib/actions/setup-pandoc@v2

- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true

- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::pkgdown, local::.
needs: website

- name: Build site
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
shell: Rscript {0}

- name: Deploy to Netlify
uses: nwtgck/[email protected]
with:
# Standard config
github-token: ${{ secrets.GITHUB_TOKEN }}
deploy-message: "Deploy from GitHub Actions"
# 'docs/' is the default directory for pkgdown::build_site()
# we add 'dev' because _pkgdown.yml has 'development: mode: devel'
publish-dir: './docs/dev'
# Development deploys only
production-deploy: false
# Enable pull request comment (default)
enable-pull-request-comment: true
# Overwrite the pull request comment with updated link (default)
overwrites-pull-request-comment: true
# Don't deploy to GitHub
enable-github-deployment: false
# Don't update the status of the commit
enable-commit-status: false
# Don't comment on the commit
enable-commit-comment: false
env:
# Netlify credentials (currently from Dmitry's account)
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
timeout-minutes: 1
1 change: 0 additions & 1 deletion .lintr
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
linters: linters_with_defaults(
line_length_linter(120),
cyclocomp_linter = NULL,
object_length_linter(length = 40L)
)
exclusions: list(
Expand Down
34 changes: 20 additions & 14 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
Package: epiprocess
Type: Package
Package: epiprocess
Title: Tools for basic signal processing in epidemiology
Version: 0.10.0
Version: 0.11.0
Authors@R: c(
person("Jacob", "Bien", role = "ctb"),
person("Logan", "Brooks", , "[email protected]", role = c("aut", "cre")),
person("Rafael", "Catoia", role = "ctb"),
person("Nat", "DeFries", role = "ctb"),
person("Nat", "DeFries", role = "aut"),
person("Daniel", "McDonald", role = "aut"),
person("Rachel", "Lobay", role = "ctb"),
person("Ken", "Mawer", role = "ctb"),
Expand All @@ -23,60 +23,65 @@ Authors@R: c(
person("Posit", role = "cph",
comment = "Copyright holder of included rlang fragments"),
person("Johns Hopkins University Center for Systems Science and Engineering", role = "dtc",
comment = "Owner of COVID-19 cases and deaths data from the COVID-19 Data Repository"),
comment = "Owner of COVID-19 cases and deaths data from the COVID-19 Data Repository"),
person("Johns Hopkins University", role = "cph",
comment = "Copyright holder of COVID-19 cases and deaths data from the COVID-19 Data Repository"),
comment = "Copyright holder of COVID-19 cases and deaths data from the COVID-19 Data Repository"),
person("Carnegie Mellon University Delphi Group", role = "dtc",
comment = "Owner of claims-based CLI data from the Delphi Epidata API")
comment = "Owner of claims-based CLI data from the Delphi Epidata API")
)
Description: This package introduces common data structures for working with
epidemiological data reported by location and time and offers associated
utilities to perform basic signal processing tasks. The package is designed
to be used in conjunction with `epipredict` for building and evaluating
epidemiological models.
Description: This package introduces common data structures for working
with epidemiological data reported by location and time and offers
associated utilities to perform basic signal processing tasks. The
package is designed to be used in conjunction with `epipredict` for
building and evaluating epidemiological models.
License: MIT + file LICENSE
URL: https://cmu-delphi.github.io/epiprocess/
Depends:
epidatasets,
R (>= 3.6)
Imports:
checkmate,
cli,
data.table,
dplyr (>= 1.1.0),
epidatasets,
genlasso,
ggplot2,
glue,
lifecycle (>= 1.0.1),
lubridate,
magrittr,
pkgconfig,
purrr,
rlang,
slider,
tibble,
tidyr,
tidyselect (>= 1.2.0),
tools,
tsibble,
utils,
vctrs,
waldo
Suggests:
devtools,
distributional,
epidatr,
epipredict,
here,
knitr,
outbreaks,
readr,
rmarkdown,
testthat (>= 3.1.5),
trendfilter,
withr
VignetteBuilder:
knitr
Remotes:
cmu-delphi/delphidocs,
cmu-delphi/epidatasets,
cmu-delphi/epidatr,
glmgen/genlasso,
cmu-delphi/epipredict,
glmgen/trendfilter,
reconverse/outbreaks
Config/Needs/website: cmu-delphi/delphidocs
Config/testthat/edition: 3
Expand All @@ -103,5 +108,6 @@ Collate:
'reexports.R'
'revision_analysis.R'
'slide.R'
'time-utils.R'
'utils.R'
'utils_pipe.R'
35 changes: 27 additions & 8 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Generated by roxygen2: do not edit by hand

S3method("$<-",epi_df)
S3method("[",epi_df)
S3method("[<-",epi_df)
S3method("[[<-",epi_df)
S3method("names<-",epi_df)
S3method(Summary,epi_df)
S3method(arrange_canonical,default)
Expand Down Expand Up @@ -39,31 +42,27 @@ S3method(guess_period,Date)
S3method(guess_period,POSIXt)
S3method(guess_period,default)
S3method(key_colnames,data.frame)
S3method(key_colnames,default)
S3method(key_colnames,epi_archive)
S3method(key_colnames,epi_df)
S3method(key_colnames,tbl_ts)
S3method(mean,epi_df)
S3method(print,epi_archive)
S3method(print,epi_df)
S3method(print,grouped_epi_archive)
S3method(print,growth_rate_params)
S3method(summary,epi_df)
S3method(ungroup,epi_df)
S3method(ungroup,grouped_epi_archive)
S3method(unnest,epi_df)
export("%>%")
export(archive_cases_dv_subset)
export(arrange)
export(arrange_canonical)
export(as_epi_archive)
export(as_epi_df)
export(as_tsibble)
export(autoplot)
export(cases_deaths_subset)
export(clone)
export(complete)
export(covid_case_death_rates_extended)
export(covid_incidence_county_subset)
export(covid_incidence_outliers)
export(deprecated_quo_is_present)
export(detect_outlr)
export(detect_outlr_rm)
Expand All @@ -85,6 +84,7 @@ export(group_by)
export(group_epi_df)
export(group_modify)
export(growth_rate)
export(growth_rate_params)
export(guess_period)
export(is_epi_df)
export(is_grouped_epi_archive)
Expand Down Expand Up @@ -114,6 +114,7 @@ importFrom(checkmate,assert_function)
importFrom(checkmate,assert_int)
importFrom(checkmate,assert_list)
importFrom(checkmate,assert_logical)
importFrom(checkmate,assert_number)
importFrom(checkmate,assert_numeric)
importFrom(checkmate,assert_scalar)
importFrom(checkmate,assert_string)
Expand All @@ -135,6 +136,8 @@ importFrom(cli,cli_li)
importFrom(cli,cli_vec)
importFrom(cli,cli_warn)
importFrom(cli,format_message)
importFrom(cli,pluralize)
importFrom(cli,qty)
importFrom(data.table,":=")
importFrom(data.table,address)
importFrom(data.table,as.data.table)
Expand All @@ -143,6 +146,7 @@ importFrom(data.table,copy)
importFrom(data.table,frollapply)
importFrom(data.table,frollmean)
importFrom(data.table,frollsum)
importFrom(data.table,is.data.table)
importFrom(data.table,key)
importFrom(data.table,rbindlist)
importFrom(data.table,set)
Expand All @@ -152,7 +156,6 @@ importFrom(dplyr,"%>%")
importFrom(dplyr,across)
importFrom(dplyr,all_of)
importFrom(dplyr,arrange)
importFrom(dplyr,bind_rows)
importFrom(dplyr,c_across)
importFrom(dplyr,dplyr_col_modify)
importFrom(dplyr,dplyr_reconstruct)
Expand All @@ -164,14 +167,14 @@ importFrom(dplyr,group_by_drop_default)
importFrom(dplyr,group_map)
importFrom(dplyr,group_modify)
importFrom(dplyr,group_vars)
importFrom(dplyr,grouped_df)
importFrom(dplyr,groups)
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,near)
importFrom(dplyr,pick)
importFrom(dplyr,pull)
importFrom(dplyr,relocate)
Expand All @@ -188,6 +191,7 @@ importFrom(lubridate,as.period)
importFrom(lubridate,days)
importFrom(lubridate,weeks)
importFrom(magrittr,"%>%")
importFrom(purrr,list_rbind)
importFrom(purrr,map)
importFrom(purrr,map_lgl)
importFrom(rlang,"!!!")
Expand All @@ -199,13 +203,16 @@ importFrom(rlang,arg_match)
importFrom(rlang,caller_arg)
importFrom(rlang,caller_env)
importFrom(rlang,check_dots_empty)
importFrom(rlang,check_dots_empty0)
importFrom(rlang,dots_n)
importFrom(rlang,enquo)
importFrom(rlang,enquos)
importFrom(rlang,env)
importFrom(rlang,expr_label)
importFrom(rlang,f_env)
importFrom(rlang,f_rhs)
importFrom(rlang,is_bare_integerish)
importFrom(rlang,is_bare_numeric)
importFrom(rlang,is_environment)
importFrom(rlang,is_formula)
importFrom(rlang,is_function)
Expand Down Expand Up @@ -236,8 +243,20 @@ importFrom(tidyr,unnest)
importFrom(tidyselect,any_of)
importFrom(tidyselect,eval_select)
importFrom(tidyselect,starts_with)
importFrom(tools,toTitleCase)
importFrom(tsibble,as_tsibble)
importFrom(utils,capture.output)
importFrom(utils,tail)
importFrom(vctrs,"vec_slice<-")
importFrom(vctrs,vec_cast)
importFrom(vctrs,vec_data)
importFrom(vctrs,vec_duplicate_any)
importFrom(vctrs,vec_equal)
importFrom(vctrs,vec_in)
importFrom(vctrs,vec_order)
importFrom(vctrs,vec_rbind)
importFrom(vctrs,vec_recycle_common)
importFrom(vctrs,vec_rep)
importFrom(vctrs,vec_size)
importFrom(vctrs,vec_slice)
importFrom(vctrs,vec_sort)
67 changes: 67 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,73 @@

Pre-1.0.0 numbering scheme: 0.x will indicate releases, while 0.x.y will indicate PR's.

# epiprocess 0.11

## Breaking changes

- `growth_rate()` argument order and names have changed. You will need to
rewrite `growth_rate(x, y)` as `growth_rate(y, x)`. The interface for passing
arguments to the `"smooth_spline"` and `"trend_filter"` methods has also
changed. Finally, `growth_rate()` with `method = "trendfilter"` now uses the
`{trendfilter}` package rather than `{genlasso}`; results for this method will
be different than before. In order to make `{epiprocess}` installation easier
for users without a compiler, we have placed `{trendfilter}` in Suggests:; if
you want to use `method = "trendfilter"` you will need to manually install
this dependency (e.g., with `remotes::install_github("glmgen/trendfilter")`).
- In `revision_summary()`:
- The `should_compactify` argument is now called `compactify`. To migrate,
change any calls with `should_compactfiy =` to `compactify =`.
- Output now uses the name `lag_near_latest` instead of `time_near_latest`. To
migrate, update references to `time_near_latest` to `lag_near_latest`.
- `revision_summary(epi_arch)` without specifying the measurement column to
analyze in `...` will no longer attempt to guess which one you intended if
there are multiple possibilities to choose from (#571). If you attempt a
complicated tidyselection that selects zero columns, this is also now an
error. If you encounter such errors, manually specify the measurement column
in `...`.
- `min_waiting_period` now defines a nonstrict inequality instead of a strict
one. To obtain the old bounds, bump the `min_waiting_period` up to the next
possible value for your `time_type`.
- In `key_colnames()`:
- On regular (non-`epi_df`) data frames, now requires manual specification of
`geo_keys`, `other_keys`, and `time_keys`.
- The `extra_keys` argument has been deprecated and replaced with
`other_keys`.
- The compactification tolerance argument has been renamed to
`compactify_abs_tol` or `abs_tol`, depending on the function; now defines a
nonstrict tolerances; and defaults to 0 (requiring exact matches in order to
compactify). This argument has been added to `as_epi_archive()` and
`epix_merge()` and removed (along with all compactification options) from
`new_epi_archive()`.
- `validate_epi_archive()` now follows the validator convention of operating on
an "unvalidated" `epi_archive` (from `new_epi_archive`) rather than arguments.

## Improvements
- `revision_summary()` now supports all `time_type`s.
- The compactification tolerance setting now works with integer-type columns.
- Various functions are now faster, using faster variants of core operations and
avoiding reconstructing grouped `epi_df`s when unnecessary.

## Bug fixes

- Fixed aggregation of age-group-specific rates to overall rates in `epi_df` vignette (#587).
- Fixed `key_colnames()` omitting some key columns on `epi_archive`s (#565).
- Fixed `epi_archive` compactification raising an error on certain value column
classes such as `"distribution"` (#541); it's now easier to form an archive of
forecasts in that format.
- Fixed large compactification tolerances potentially removing all versions of
some observations in certain cases when activity was flat.
- `[<-`, `[[<-`, and `$<-` now properly retain `epi_df`-ness when used on
grouped `epi_df`s.

## Cleanup

- Moved example datasets from being reexported in the package to being fetched
from `epidatasets`. The `epidatasets` package is now auto-loaded as a
dependency of `epiprocess`. The datasets can still be accessed, after loading
the package, with `data()` or the name of the dataset alone, or with
`epidatasets::` (#577).

# epiprocess 0.10

## Breaking changes
Expand Down
Loading