Skip to content

add by_stats options to stacking functions#491

Merged
ddsjoberg merged 3 commits intomainfrom
335-by_stats
Jul 28, 2025
Merged

add by_stats options to stacking functions#491
ddsjoberg merged 3 commits intomainfrom
335-by_stats

Conversation

@bzkrouse
Copy link
Collaborator

@bzkrouse bzkrouse commented Jul 25, 2025

What changes are proposed in this pull request?

  • Style this entry in a way that can be copied directly into NEWS.md. (#, @)

Provide more detail here as needed.

Reference GitHub issue associated with pull request. e.g., 'closes #'
closes #335


Pre-review Checklist (if item does not apply, mark is as complete)

  • All GitHub Action workflows pass with a ✅
  • PR branch has pulled the most recent updates from master branch: usethis::pr_merge_main()
  • If a bug was fixed, a unit test was added.
  • Code coverage is suitable for any new functions/features (generally, 100% coverage for new code): devtools::test_coverage()
  • Request a reviewer

Reviewer Checklist (if item does not apply, mark is as complete)

  • If a bug was fixed, a unit test was added.
  • Run pkgdown::build_site(). Check the R console for errors, and review the rendered website.
  • Code coverage is suitable for any new functions/features: devtools::test_coverage()

When the branch is ready to be merged:

  • Update NEWS.md with the changes from this pull request under the heading "# cards (development version)". If there is an issue associated with the pull request, reference it in parentheses at the end update (see NEWS.md for examples).
  • All GitHub Action workflows pass with a ✅
  • Approve Pull Request
  • Merge the PR. Please use "Squash and merge" or "Rebase and merge".

Optional Reverse Dependency Checks:

Install checked with pak::pak("Genentech/checked") or pak::pak("checked")

# Check dev versions of `cardx`, `gtsummary`, and `tfrmt` which are in the `ddsjoberg` R Universe
Rscript -e "options(checked.check_envvars = c(NOT_CRAN = TRUE)); checked::check_rev_deps(path = '.', n = parallel::detectCores() - 2L, repos = c('https://ddsjoberg.r-universe.dev', 'https://cloud.r-project.org'))"

# Check CRAN reverse dependencies but run tests skipped on CRAN
Rscript -e "options(checked.check_envvars = c(NOT_CRAN = TRUE)); checked::check_rev_deps(path = '.', n = parallel::detectCores() - 2, repos = 'https://cloud.r-project.org')"

# Check CRAN reverse dependencies in a CRAN-like environment
Rscript -e "options(checked.check_envvars = c(NOT_CRAN = FALSE), checked.check_build_args = '--as-cran'); checked::check_rev_deps(path = '.', n = parallel::detectCores() - 2, repos = 'https://cloud.r-project.org')"

@bzkrouse bzkrouse requested a review from ddsjoberg July 25, 2025 19:45
@github-actions
Copy link
Contributor

github-actions bot commented Jul 25, 2025

Unit Tests Summary

  1 files  199 suites   51s ⏱️
198 tests 107 ✅  91 💤 0 ❌
389 runs  276 ✅ 113 💤 0 ❌

Results for commit 2969be8.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 25, 2025

Unit Test Performance Difference

Test Suite $Status$ Time on main $±Time$ $±Tests$ $±Skipped$ $±Failures$ $±Errors$
selectors 💚 $1.61$ $-1.17$ $0$ $0$ $0$ $0$
Additional test case details
Test Suite $Status$ Time on main $±Time$ Test Case
ard_continuous 💀 $0.07$ $-0.07$ unnamed
ard_stack 👶 $+0.02$ ard_stack_.by_stats_argument
ard_stack 💔 $7.80$ $+1.74$ ard_stack_works
ard_stack_hierarchical 👶 $+0.00$ ard_stack_hierarchical_by_stats_argument
selectors 👶 $+0.05$ unnamed
selectors 💚 $1.61$ $-1.17$ selectors_work

Results for commit 4db39fe

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 25, 2025

badge

Code Coverage Summary

Filename                       Stmts    Miss  Cover    Missing
---------------------------  -------  ------  -------  ----------------------------------------
R/add_calculated_row.R            53       6  88.68%   51-56
R/apply_fmt_fun.R                116       0  100.00%
R/ard_attributes.R                46       1  97.83%   57
R/ard_categorical.R              400      16  96.00%   126-131, 259, 472-476, 483-484, 661, 695
R/ard_complex.R                   43       7  83.72%   76-81, 94
R/ard_continuous.R               194       8  95.88%   87-92, 220-221
R/ard_dichotomous.R               87       7  91.95%   51-56, 73
R/ard_formals.R                   13       0  100.00%
R/ard_hierarchical.R              94      12  87.23%   88-93, 179-184
R/ard_identity.R                  13       0  100.00%
R/ard_missing.R                   65       7  89.23%   45-50, 61
R/ard_pairwise.R                  46       0  100.00%
R/ard_stack_hierarchical.R       269       1  99.63%   496
R/ard_stack.R                     91       0  100.00%
R/ard_strata.R                    33       0  100.00%
R/ard_total_n.R                   10       0  100.00%
R/as_card_fn.R                     8       0  100.00%
R/as_card.R                        5       0  100.00%
R/as_nested_list.R                41       0  100.00%
R/bind_ard.R                      47      11  76.60%   74-85
R/cards-package.R                  1       1  0.00%    14
R/check_ard_structure.R           39       6  84.62%   31, 55-59
R/default_stat_labels.R           20       0  100.00%
R/deprecated.R                    24      24  0.00%    22-65
R/eval_capture_conditions.R       30       0  100.00%
R/filter_ard_hierarchical.R      197       0  100.00%
R/get_ard_statistics.R            16       0  100.00%
R/mock.R                         137       2  98.54%   116, 244
R/nest_for_ard.R                  71       1  98.59%   60
R/print_ard_conditions.R          83       0  100.00%
R/print.R                         80       0  100.00%
R/process_selectors.R            126       1  99.21%   337
R/rename_ard_columns.R            73       0  100.00%
R/rename_ard_groups.R             60       0  100.00%
R/replace_null_statistic.R        11       0  100.00%
R/round5.R                         1       0  100.00%
R/selectors.R                     23       0  100.00%
R/shuffle_ard.R                  161       0  100.00%
R/sort_ard_hierarchical.R        208       1  99.52%   285
R/summary_functions.R             25       1  96.00%   59
R/tidy_ard_order.R                34       0  100.00%
R/tidy_as_ard.R                   40       0  100.00%
R/unlist_ard_columns.R            27       0  100.00%
R/update_ard.R                    60       6  90.00%   54-59
R/utils.R                         24       0  100.00%
TOTAL                           3245     119  96.33%

Diff against main

Filename                      Stmts    Miss  Cover
--------------------------  -------  ------  -------
R/ard_stack_hierarchical.R       +3       0  +0.00%
R/ard_stack.R                    +1      -1  +1.11%
TOTAL                            +4      -1  +0.04%

Results for commit: 2969be8

Minimum allowed coverage is 80%

♻️ This comment has been updated with latest results

Copy link
Collaborator

@ddsjoberg ddsjoberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!!! Thank you!

@ddsjoberg ddsjoberg merged commit 3391603 into main Jul 28, 2025
35 checks passed
@ddsjoberg ddsjoberg deleted the 335-by_stats branch July 28, 2025 18:08
@github-actions github-actions bot locked and limited conversation to collaborators Jul 28, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Should we add an argument to exclude univariate tabulations of the by variable(s) in ard_stack() and ard_stack_hierarchical()?

2 participants