From ca914446049b93b078af47a703c67cc1ee38c72d Mon Sep 17 00:00:00 2001 From: Abinaya Yogasekaram <73252787+ayogasekaram@users.noreply.github.com> Date: Tue, 16 Apr 2024 19:07:57 -0400 Subject: [PATCH 01/10] update context after renaming ard_* functions (#123) **What changes are proposed in this pull request?** update context after renaming `ard_*()` functions closes #117 -------------------------------------------------------------------------------- Pre-review Checklist (if item does not apply, mark is as complete) - [x] **All** GitHub Action workflows pass with a :white_check_mark: - [x] PR branch has pulled the most recent updates from master branch: `usethis::pr_merge_main()` - [x] If a bug was fixed, a unit test was added. - [x] If a new `ard_*()` function was added, it passes the ARD structural checks from `cards::check_ard_structure()`. - [x] Code coverage is suitable for any new functions/features (generally, 100% coverage for new code): `devtools::test_coverage()` Reviewer Checklist (if item does not apply, mark is as complete) - [ ] If a bug was fixed, a unit test was added. - [ ] 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 "`# cardx (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 :white_check_mark: - [ ] Approve Pull Request - [ ] Merge the PR. Please use "Squash and merge" or "Rebase and merge". --- R/ard_car_vif.R | 2 +- R/ard_effectsize_cohens_d.R | 2 +- R/ard_effectsize_hedges_g.R | 2 +- R/ard_smd_smd.R | 2 +- R/ard_stats_aov.R | 2 +- R/ard_stats_chisq_test.R | 2 +- R/ard_stats_fisher_test.R | 2 +- R/ard_stats_kruskal_test.R | 2 +- R/ard_stats_mcnemar_test.R | 2 +- R/ard_stats_mood_test.R | 2 +- R/ard_stats_oneway_test.R | 2 +- R/ard_stats_prop_test.R | 2 +- R/ard_stats_t_test.R | 2 +- R/ard_stats_wilcox_test.R | 2 +- R/ard_survey_svychisq.R | 2 +- R/ard_survey_svycontinuous.R | 2 +- R/ard_survey_svyranktest.R | 2 +- R/ard_survey_svyttest.R | 2 +- R/ard_survival_survfit.R | 2 +- tests/testthat/_snaps/ard_car_vif.md | 24 ++-- .../_snaps/ard_effectsize_cohens_d.md | 14 +- .../_snaps/ard_effectsize_hedges_g.md | 14 +- tests/testthat/_snaps/ard_stats_aov.md | 22 ++-- tests/testthat/_snaps/ard_stats_chisq_test.md | 18 +-- .../testthat/_snaps/ard_stats_kruskal_test.md | 25 ++-- tests/testthat/_snaps/ard_stats_mood_test.md | 10 +- tests/testthat/_snaps/ard_stats_t_test.md | 120 +++++++++--------- tests/testthat/_snaps/ard_survey_svychisq.md | 14 +- .../_snaps/ard_survey_svycontinuous.md | 36 +++--- tests/testthat/_snaps/ard_survival_survfit.md | 14 +- 30 files changed, 177 insertions(+), 172 deletions(-) diff --git a/R/ard_car_vif.R b/R/ard_car_vif.R index 25397e9e5..74088eb4b 100644 --- a/R/ard_car_vif.R +++ b/R/ard_car_vif.R @@ -73,7 +73,7 @@ ard_car_vif <- function(x, ...) { values_to = "stat" ) |> dplyr::mutate( - context = "vif", + context = "car_vif", stat_label = ifelse( .data$stat_name == "aGVIF", "Adjusted GVIF", diff --git a/R/ard_effectsize_cohens_d.R b/R/ard_effectsize_cohens_d.R index a0c298d93..b0c51df9b 100644 --- a/R/ard_effectsize_cohens_d.R +++ b/R/ard_effectsize_cohens_d.R @@ -181,7 +181,7 @@ ard_effectsize_paired_cohens_d <- function(data, by, variables, id, ...) { fun_args_to_record = c("mu", "paired", "pooled_sd", "alternative"), formals = formals(asNamespace("effectsize")[["cohens_d"]]), passed_args = c(list(paired = paired), dots_list(...)), - lst_ard_columns = list(group1 = by, variable = variable, context = "cohens_d") + lst_ard_columns = list(group1 = by, variable = variable, context = "effectsize_cohens_d") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_effectsize_hedges_g.R b/R/ard_effectsize_hedges_g.R index 8b5b9da6f..3cdcf3a8d 100644 --- a/R/ard_effectsize_hedges_g.R +++ b/R/ard_effectsize_hedges_g.R @@ -173,7 +173,7 @@ ard_effectsize_paired_hedges_g <- function(data, by, variables, id, ...) { fun_args_to_record = c("mu", "paired", "pooled_sd", "alternative"), formals = formals(asNamespace("effectsize")[["hedges_g"]]), passed_args = c(list(paired = paired), dots_list(...)), - lst_ard_columns = list(group1 = by, variable = variable, context = "hedges_g") + lst_ard_columns = list(group1 = by, variable = variable, context = "effectsize_hedges_g") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_smd_smd.R b/R/ard_smd_smd.R index b468c9f1d..7bcd80c85 100644 --- a/R/ard_smd_smd.R +++ b/R/ard_smd_smd.R @@ -81,7 +81,7 @@ ard_smd_smd <- function(data, by, variables, ...) { formals = formals(smd::smd)["gref"], # removing the `std.error` ARGUMENT (not the result) passed_args = dots_list(...) |> utils::modifyList(list(std.error = NULL)), - lst_ard_columns = list(group1 = by, variable = variable, context = "smd") + lst_ard_columns = list(group1 = by, variable = variable, context = "smd_smd") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_stats_aov.R b/R/ard_stats_aov.R index cc335102f..81849ba42 100644 --- a/R/ard_stats_aov.R +++ b/R/ard_stats_aov.R @@ -49,7 +49,7 @@ ard_stats_aov <- function(formula, data, ...) { .data$stat_name %in% "meansq" ~ "Mean of Sum of Squares", TRUE ~ .data$stat_name ), - context = "aov", + context = "stats_aov", warning = aov["warning"], error = aov["error"] ) |> diff --git a/R/ard_stats_chisq_test.R b/R/ard_stats_chisq_test.R index b3dae0366..8ab8c6ff8 100644 --- a/R/ard_stats_chisq_test.R +++ b/R/ard_stats_chisq_test.R @@ -53,7 +53,7 @@ ard_stats_chisq_test <- function(data, by, variables, ...) { c("correct", "p", "rescale.p", "simulate.p.value", "B"), formals = formals(stats::chisq.test), passed_args = dots_list(...), - lst_ard_columns = list(group1 = by, variable = variable, context = "chisqtest") + lst_ard_columns = list(group1 = by, variable = variable, context = "stats_chisq_test") ) |> dplyr::mutate( .after = "stat_name", diff --git a/R/ard_stats_fisher_test.R b/R/ard_stats_fisher_test.R index 3402bd8e0..8fa50ce46 100644 --- a/R/ard_stats_fisher_test.R +++ b/R/ard_stats_fisher_test.R @@ -57,7 +57,7 @@ ard_stats_fisher_test <- function(data, by, variables, ...) { ), formals = formals(stats::fisher.test), passed_args = dots_list(...), - lst_ard_columns = list(group1 = by, variable = variable, context = "fishertest") + lst_ard_columns = list(group1 = by, variable = variable, context = "stats_fisher_test") ) |> dplyr::mutate( .after = "stat_name", diff --git a/R/ard_stats_kruskal_test.R b/R/ard_stats_kruskal_test.R index 5a804c793..7f7b3b359 100644 --- a/R/ard_stats_kruskal_test.R +++ b/R/ard_stats_kruskal_test.R @@ -48,7 +48,7 @@ ard_stats_kruskal_test <- function(data, by, variables) { broom::tidy() ), tidy_result_names = c("statistic", "p.value", "parameter", "method"), - lst_ard_columns = list(group1 = by, variable = variable, context = "kruskaltest") + lst_ard_columns = list(group1 = by, variable = variable, context = "stats_kruskal_test") ) |> dplyr::mutate( .after = "stat_name", diff --git a/R/ard_stats_mcnemar_test.R b/R/ard_stats_mcnemar_test.R index 4a928d561..fb6f31221 100644 --- a/R/ard_stats_mcnemar_test.R +++ b/R/ard_stats_mcnemar_test.R @@ -92,7 +92,7 @@ ard_stats_mcnemar_test <- function(data, by, variables, ...) { fun_args_to_record = c("correct"), formals = formals(asNamespace("stats")[["mcnemar.test"]]), passed_args = dots_list(...), - lst_ard_columns = list(group1 = by, variable = variable, context = "mcnemartest") + lst_ard_columns = list(group1 = by, variable = variable, context = "stats_mcnemar_test") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_stats_mood_test.R b/R/ard_stats_mood_test.R index 8882cb067..75d3464e4 100644 --- a/R/ard_stats_mood_test.R +++ b/R/ard_stats_mood_test.R @@ -91,7 +91,7 @@ ard_stats_mood_test <- function(data, by, variables, ...) { tidy_result_names = c("statistic", "p.value", "method", "alternative"), formals = formals(asNamespace("stats")[["mood.test.default"]]), passed_args = c(dots_list(...)), - lst_ard_columns = list(group1 = by, variable = variable, context = "moodtest") + lst_ard_columns = list(group1 = by, variable = variable, context = "stats_mood_test") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_stats_oneway_test.R b/R/ard_stats_oneway_test.R index cc1d01773..ed4eadded 100644 --- a/R/ard_stats_oneway_test.R +++ b/R/ard_stats_oneway_test.R @@ -37,7 +37,7 @@ ard_stats_oneway_test <- function(formula, data, ...) { c("var.equal"), formals = formals(stats::oneway.test), passed_args = dots_list(...), - lst_ard_columns = list(context = "oneway.test") + lst_ard_columns = list(context = "stats_oneway_test") ) |> dplyr::mutate( .after = "stat_name", diff --git a/R/ard_stats_prop_test.R b/R/ard_stats_prop_test.R index ce3958c89..f96784737 100644 --- a/R/ard_stats_prop_test.R +++ b/R/ard_stats_prop_test.R @@ -108,7 +108,7 @@ ard_stats_prop_test <- function(data, by, variables, ...) { fun_args_to_record = c("p", "conf.level", "correct"), formals = formals(stats::prop.test), passed_args = dots_list(...), - lst_ard_columns = list(group1 = by, variable = variable, context = "proptest") + lst_ard_columns = list(group1 = by, variable = variable, context = "stats_prop_test") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_stats_t_test.R b/R/ard_stats_t_test.R index d00e05fa9..b506d981c 100644 --- a/R/ard_stats_t_test.R +++ b/R/ard_stats_t_test.R @@ -168,7 +168,7 @@ ard_stats_paired_t_test <- function(data, by, variables, id, ...) { fun_args_to_record = c("mu", "paired", "var.equal", "conf.level"), formals = formals(asNamespace("stats")[["t.test.default"]]), passed_args = c(list(paired = paired), dots_list(...)), - lst_ard_columns = list(variable = variable, context = "ttest") + lst_ard_columns = list(variable = variable, context = "stats_t_test") ) if (!is_empty(by)) { diff --git a/R/ard_stats_wilcox_test.R b/R/ard_stats_wilcox_test.R index adff590f9..c2a14bd49 100644 --- a/R/ard_stats_wilcox_test.R +++ b/R/ard_stats_wilcox_test.R @@ -178,7 +178,7 @@ ard_stats_paired_wilcox_test <- function(data, by, variables, id, ...) { ), formals = formals(asNamespace("stats")[["wilcox.test.default"]]), passed_args = c(list(paired = paired), dots_list(...)), - lst_ard_columns = list(variable = variable, context = "wilcoxtest") + lst_ard_columns = list(variable = variable, context = "stats_wilcox_test") ) if (!is_empty(by)) { diff --git a/R/ard_survey_svychisq.R b/R/ard_survey_svychisq.R index 91ea9c77a..f5c092c99 100644 --- a/R/ard_survey_svychisq.R +++ b/R/ard_survey_svychisq.R @@ -55,7 +55,7 @@ ard_survey_svychisq <- function(data, by, variables, statistic = "F", ...) { ), tidy_result_names = c("statistic", "p.value", "ndf", "ddf", "method"), passed_args = dots_list(...), - lst_ard_columns = list(group1 = by, variable = variable, context = "svychisq") + lst_ard_columns = list(group1 = by, variable = variable, context = "survey_svychisq") ) |> dplyr::mutate( .after = "stat_name", diff --git a/R/ard_survey_svycontinuous.R b/R/ard_survey_svycontinuous.R index 88341edd4..d9c40afa4 100644 --- a/R/ard_survey_svycontinuous.R +++ b/R/ard_survey_svycontinuous.R @@ -138,7 +138,7 @@ ard_survey_svycontinuous <- function(data, variables, by = NULL, # add class and return ARD object -------------------------------------------- df_stats |> - dplyr::mutate(context = "continuous") |> + dplyr::mutate(context = "survey_svycontinuous") |> cards::tidy_ard_column_order() %>% {structure(., class = c("card", class(.)))} # styler: off } diff --git a/R/ard_survey_svyranktest.R b/R/ard_survey_svyranktest.R index 8116c25ae..38fe77c5e 100644 --- a/R/ard_survey_svyranktest.R +++ b/R/ard_survey_svyranktest.R @@ -68,7 +68,7 @@ ard_survey_svyranktest <- function(data, by, variables, test, ...) { "method", "alternative" ), passed_args = dots_list(...), - lst_ard_columns = list(group1 = by, variable = variable, context = "svyranktest") + lst_ard_columns = list(group1 = by, variable = variable, context = "survey_svyranktest") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_survey_svyttest.R b/R/ard_survey_svyttest.R index da2a1c690..2e6ea91d6 100644 --- a/R/ard_survey_svyttest.R +++ b/R/ard_survey_svyttest.R @@ -75,7 +75,7 @@ ard_survey_svyttest <- function(data, by, variables, conf.level = 0.95, ...) { "conf.level", "method", "alternative" ), passed_args = dots_list(...), - lst_ard_columns = list(group1 = by, variable = variable, context = "svyttest") + lst_ard_columns = list(group1 = by, variable = variable, context = "survey_svyttest") ) # add the stat label --------------------------------------------------------- diff --git a/R/ard_survival_survfit.R b/R/ard_survival_survfit.R index eee2764a8..58be3ff2a 100644 --- a/R/ard_survival_survfit.R +++ b/R/ard_survival_survfit.R @@ -240,7 +240,7 @@ ard_survival_survfit <- function(x, times = NULL, probs = NULL, type = NULL) { ) %>% dplyr::bind_rows() %>% `rownames<-`(NULL) %>% - dplyr::mutate(context = "survival") %>% + dplyr::mutate(context = "survival_survfit") %>% dplyr::as_tibble() if (length(x$n) == 1) df_stat <- df_stat %>% dplyr::select(-"strata") diff --git a/tests/testthat/_snaps/ard_car_vif.md b/tests/testthat/_snaps/ard_car_vif.md index 745c24ef3..8d0a7a74b 100644 --- a/tests/testthat/_snaps/ard_car_vif.md +++ b/tests/testthat/_snaps/ard_car_vif.md @@ -4,12 +4,12 @@ as.data.frame(ard_car_vif(lm(AGE ~ ARM + SEX, data = cards::ADSL))) Output variable context stat_name stat_label stat fmt_fn warning error - 1 ARM vif GVIF GVIF 1.015675 1 NULL NULL - 2 ARM vif df df 2.000000 1 NULL NULL - 3 ARM vif aGVIF Adjusted GVIF 1.003896 1 NULL NULL - 4 SEX vif GVIF GVIF 1.015675 1 NULL NULL - 5 SEX vif df df 1.000000 1 NULL NULL - 6 SEX vif aGVIF Adjusted GVIF 1.007807 1 NULL NULL + 1 ARM car_vif GVIF GVIF 1.015675 1 NULL NULL + 2 ARM car_vif df df 2.000000 1 NULL NULL + 3 ARM car_vif aGVIF Adjusted GVIF 1.003896 1 NULL NULL + 4 SEX car_vif GVIF GVIF 1.015675 1 NULL NULL + 5 SEX car_vif df df 1.000000 1 NULL NULL + 6 SEX car_vif aGVIF Adjusted GVIF 1.007807 1 NULL NULL --- @@ -17,8 +17,8 @@ as.data.frame(ard_car_vif(lm(AGE ~ BMIBL + EDUCLVL, data = cards::ADSL))) Output variable context stat_name stat_label stat fmt_fn warning error - 1 BMIBL vif VIF VIF 1.010522 1 NULL NULL - 2 EDUCLVL vif VIF VIF 1.010522 1 NULL NULL + 1 BMIBL car_vif VIF VIF 1.010522 1 NULL NULL + 2 EDUCLVL car_vif VIF VIF 1.010522 1 NULL NULL # ard_car_vif() appropriate errors are given for model with only 1 term @@ -26,10 +26,10 @@ as.data.frame(ard_car_vif(lm(AGE ~ ARM, data = cards::ADSL))) Output variable context stat_name stat_label stat fmt_fn warning - 1 ARM vif VIF VIF NULL NULL NULL - 2 ARM vif GVIF GVIF NULL NULL NULL - 3 ARM vif aGVIF Adjusted GVIF NULL NULL NULL - 4 ARM vif df df NULL NULL NULL + 1 ARM car_vif VIF VIF NULL NULL NULL + 2 ARM car_vif GVIF GVIF NULL NULL NULL + 3 ARM car_vif aGVIF Adjusted GVIF NULL NULL NULL + 4 ARM car_vif df df NULL NULL NULL error 1 model contains fewer than 2 terms 2 model contains fewer than 2 terms diff --git a/tests/testthat/_snaps/ard_effectsize_cohens_d.md b/tests/testthat/_snaps/ard_effectsize_cohens_d.md index 7f3d5732b..6cd20d5a2 100644 --- a/tests/testthat/_snaps/ard_effectsize_cohens_d.md +++ b/tests/testthat/_snaps/ard_effectsize_cohens_d.md @@ -22,13 +22,13 @@ "Xanomeline High Dose")), by = ARM, variables = c(BMIBL, HEIGHTBL)), c(1:3, 5:6)), variable), n = 3)) Output - group1 variable context stat_label stat - 1 ARM BMIBL cohens_d Effect Size Estimate -0.436653 - 2 ARM BMIBL cohens_d CI Confidence Level 0.95 - 3 ARM BMIBL cohens_d CI Lower Bound -0.740282 - 4 ARM HEIGHTBL cohens_d Effect Size Estimate -0.299056 - 5 ARM HEIGHTBL cohens_d CI Confidence Level 0.95 - 6 ARM HEIGHTBL cohens_d CI Lower Bound -0.600975 + group1 variable context stat_label stat + 1 ARM BMIBL effectsize_cohens_d Effect Size Estimate -0.436653 + 2 ARM BMIBL effectsize_cohens_d CI Confidence Level 0.95 + 3 ARM BMIBL effectsize_cohens_d CI Lower Bound -0.740282 + 4 ARM HEIGHTBL effectsize_cohens_d Effect Size Estimate -0.299056 + 5 ARM HEIGHTBL effectsize_cohens_d CI Confidence Level 0.95 + 6 ARM HEIGHTBL effectsize_cohens_d CI Lower Bound -0.600975 # ard_effectsize_paired_cohens_d() works diff --git a/tests/testthat/_snaps/ard_effectsize_hedges_g.md b/tests/testthat/_snaps/ard_effectsize_hedges_g.md index 149f7b705..e06a4ae16 100644 --- a/tests/testthat/_snaps/ard_effectsize_hedges_g.md +++ b/tests/testthat/_snaps/ard_effectsize_hedges_g.md @@ -22,13 +22,13 @@ "Xanomeline High Dose")), by = ARM, variables = c(BMIBL, HEIGHTBL)), c(1:3, 5:6)), variable), n = 3)) Output - group1 variable context stat_label stat - 1 ARM BMIBL hedges_g Effect Size Estimate -0.4347006 - 2 ARM BMIBL hedges_g CI Confidence Level 0.95 - 3 ARM BMIBL hedges_g CI Lower Bound -0.7369717 - 4 ARM HEIGHTBL hedges_g Effect Size Estimate -0.2977188 - 5 ARM HEIGHTBL hedges_g CI Confidence Level 0.95 - 6 ARM HEIGHTBL hedges_g CI Lower Bound -0.5982873 + group1 variable context stat_label stat + 1 ARM BMIBL effectsize_hedges_g Effect Size Estimate -0.4347006 + 2 ARM BMIBL effectsize_hedges_g CI Confidence Level 0.95 + 3 ARM BMIBL effectsize_hedges_g CI Lower Bound -0.7369717 + 4 ARM HEIGHTBL effectsize_hedges_g Effect Size Estimate -0.2977188 + 5 ARM HEIGHTBL effectsize_hedges_g CI Confidence Level 0.95 + 6 ARM HEIGHTBL effectsize_hedges_g CI Lower Bound -0.5982873 # ard_effectsize_paired_hedges_g() works diff --git a/tests/testthat/_snaps/ard_stats_aov.md b/tests/testthat/_snaps/ard_stats_aov.md index fa24cb0d7..3ae9ebce4 100644 --- a/tests/testthat/_snaps/ard_stats_aov.md +++ b/tests/testthat/_snaps/ard_stats_aov.md @@ -3,15 +3,15 @@ Code as.data.frame(ard_stats_aov(AGE ~ ARM + SEX, data = cards::ADSL)) Output - variable context stat_name stat_label stat warning error - 1 ARM aov sumsq Sum of Squares 71.38574 NULL NULL - 2 ARM aov df Degrees of Freedom 2 NULL NULL - 3 ARM aov meansq Mean of Sum of Squares 35.69287 NULL NULL - 4 ARM aov statistic Statistic 0.5235002 NULL NULL - 5 ARM aov p.value p-value 0.5930912 NULL NULL - 6 SEX aov sumsq Sum of Squares 87.40947 NULL NULL - 7 SEX aov df Degrees of Freedom 1 NULL NULL - 8 SEX aov meansq Mean of Sum of Squares 87.40947 NULL NULL - 9 SEX aov statistic Statistic 1.282017 NULL NULL - 10 SEX aov p.value p-value 0.2586091 NULL NULL + variable context stat_name stat_label stat warning error + 1 ARM stats_aov sumsq Sum of Squares 71.38574 NULL NULL + 2 ARM stats_aov df Degrees of Freedom 2 NULL NULL + 3 ARM stats_aov meansq Mean of Sum of Squares 35.69287 NULL NULL + 4 ARM stats_aov statistic Statistic 0.5235002 NULL NULL + 5 ARM stats_aov p.value p-value 0.5930912 NULL NULL + 6 SEX stats_aov sumsq Sum of Squares 87.40947 NULL NULL + 7 SEX stats_aov df Degrees of Freedom 1 NULL NULL + 8 SEX stats_aov meansq Mean of Sum of Squares 87.40947 NULL NULL + 9 SEX stats_aov statistic Statistic 1.282017 NULL NULL + 10 SEX stats_aov p.value p-value 0.2586091 NULL NULL diff --git a/tests/testthat/_snaps/ard_stats_chisq_test.md b/tests/testthat/_snaps/ard_stats_chisq_test.md index c5ad14cf0..d7e819366 100644 --- a/tests/testthat/_snaps/ard_stats_chisq_test.md +++ b/tests/testthat/_snaps/ard_stats_chisq_test.md @@ -5,13 +5,13 @@ by = "ARM", variables = "AGEGR1"), ard_stats_chisq_test(data = adsl_sub, by = "SEX", variables = "AGEGR1")))) Output - ARM SEX variable context stat_name stat - 1 Overall ARM AGEGR1 chisqtest statistic 5.079442e+00 - 2 Overall ARM AGEGR1 chisqtest p.value 7.888842e-02 - 3 Overall ARM AGEGR1 chisqtest parameter 2.000000e+00 - 4 Overall ARM AGEGR1 chisqtest B 2.000000e+03 - 5 Overall SEX AGEGR1 chisqtest statistic 1.039442e+00 - 6 Overall SEX AGEGR1 chisqtest p.value 5.946864e-01 - 7 Overall SEX AGEGR1 chisqtest parameter 2.000000e+00 - 8 Overall SEX AGEGR1 chisqtest B 2.000000e+03 + ARM SEX variable context stat_name stat + 1 Overall ARM AGEGR1 stats_chisq_test statistic 5.079442e+00 + 2 Overall ARM AGEGR1 stats_chisq_test p.value 7.888842e-02 + 3 Overall ARM AGEGR1 stats_chisq_test parameter 2.000000e+00 + 4 Overall ARM AGEGR1 stats_chisq_test B 2.000000e+03 + 5 Overall SEX AGEGR1 stats_chisq_test statistic 1.039442e+00 + 6 Overall SEX AGEGR1 stats_chisq_test p.value 5.946864e-01 + 7 Overall SEX AGEGR1 stats_chisq_test parameter 2.000000e+00 + 8 Overall SEX AGEGR1 stats_chisq_test B 2.000000e+03 diff --git a/tests/testthat/_snaps/ard_stats_kruskal_test.md b/tests/testthat/_snaps/ard_stats_kruskal_test.md index 0b4c1c5ea..21fb6637d 100644 --- a/tests/testthat/_snaps/ard_stats_kruskal_test.md +++ b/tests/testthat/_snaps/ard_stats_kruskal_test.md @@ -3,14 +3,19 @@ Code as.data.frame(ard_stats_kruskal_test(cards::ADSL, by = "ARM", variables = "AGE")) Output - group1 variable context stat_name stat_label - 1 ARM AGE kruskaltest statistic Kruskal-Wallis chi-squared Statistic - 2 ARM AGE kruskaltest p.value p-value - 3 ARM AGE kruskaltest parameter Degrees of Freedom - 4 ARM AGE kruskaltest method method - stat fmt_fn warning error - 1 1.63473 1 NULL NULL - 2 0.4415937 1 NULL NULL - 3 2 1 NULL NULL - 4 Kruskal-Wallis rank sum test NULL NULL NULL + group1 variable context stat_name + 1 ARM AGE stats_kruskal_test statistic + 2 ARM AGE stats_kruskal_test p.value + 3 ARM AGE stats_kruskal_test parameter + 4 ARM AGE stats_kruskal_test method + stat_label stat fmt_fn + 1 Kruskal-Wallis chi-squared Statistic 1.63473 1 + 2 p-value 0.4415937 1 + 3 Degrees of Freedom 2 1 + 4 method Kruskal-Wallis rank sum test NULL + warning error + 1 NULL NULL + 2 NULL NULL + 3 NULL NULL + 4 NULL NULL diff --git a/tests/testthat/_snaps/ard_stats_mood_test.md b/tests/testthat/_snaps/ard_stats_mood_test.md index 8e5db79df..7dfdbc023 100644 --- a/tests/testthat/_snaps/ard_stats_mood_test.md +++ b/tests/testthat/_snaps/ard_stats_mood_test.md @@ -3,11 +3,11 @@ Code as.data.frame(ard_stats_mood_test(cards::ADSL, by = SEX, variable = AGE)) Output - group1 variable context stat_name stat_label - 1 SEX AGE moodtest statistic Z-Statistic - 2 SEX AGE moodtest p.value p-value - 3 SEX AGE moodtest method method - 4 SEX AGE moodtest alternative Alternative Hypothesis + group1 variable context stat_name stat_label + 1 SEX AGE stats_mood_test statistic Z-Statistic + 2 SEX AGE stats_mood_test p.value p-value + 3 SEX AGE stats_mood_test method method + 4 SEX AGE stats_mood_test alternative Alternative Hypothesis stat fmt_fn warning error 1 0.1292194 1 NULL NULL 2 0.8971841 1 NULL NULL diff --git a/tests/testthat/_snaps/ard_stats_t_test.md b/tests/testthat/_snaps/ard_stats_t_test.md index d6873cc22..0b378d374 100644 --- a/tests/testthat/_snaps/ard_stats_t_test.md +++ b/tests/testthat/_snaps/ard_stats_t_test.md @@ -4,36 +4,36 @@ as.data.frame(ard_stats_t_test(cards::ADSL, by = ARM, variable = AGE, var.equal = TRUE)) Output - group1 variable context stat_name stat_label stat fmt_fn warning - 1 ARM AGE ttest estimate Mean Difference NULL NULL NULL - 2 ARM AGE ttest estimate1 Group 1 Mean NULL NULL NULL - 3 ARM AGE ttest estimate2 Group 2 Mean NULL NULL NULL - 4 ARM AGE ttest statistic t Statistic NULL NULL NULL - 5 ARM AGE ttest p.value p-value NULL NULL NULL - 6 ARM AGE ttest parameter Degrees of Freedom NULL NULL NULL - 7 ARM AGE ttest conf.low CI Lower Bound NULL NULL NULL - 8 ARM AGE ttest conf.high CI Upper Bound NULL NULL NULL - 9 ARM AGE ttest method method NULL NULL NULL - 10 ARM AGE ttest alternative alternative NULL NULL NULL - 11 ARM AGE ttest mu H0 Mean 0 1 NULL - 12 ARM AGE ttest paired Paired t-test FALSE NULL NULL - 13 ARM AGE ttest var.equal Equal Variances TRUE NULL NULL - 14 ARM AGE ttest conf.level CI Confidence Level 0.95 1 NULL - error - 1 grouping factor must have exactly 2 levels - 2 grouping factor must have exactly 2 levels - 3 grouping factor must have exactly 2 levels - 4 grouping factor must have exactly 2 levels - 5 grouping factor must have exactly 2 levels - 6 grouping factor must have exactly 2 levels - 7 grouping factor must have exactly 2 levels - 8 grouping factor must have exactly 2 levels - 9 grouping factor must have exactly 2 levels - 10 grouping factor must have exactly 2 levels - 11 grouping factor must have exactly 2 levels - 12 grouping factor must have exactly 2 levels - 13 grouping factor must have exactly 2 levels - 14 grouping factor must have exactly 2 levels + group1 variable context stat_name stat_label stat fmt_fn + 1 ARM AGE stats_t_test estimate Mean Difference NULL NULL + 2 ARM AGE stats_t_test estimate1 Group 1 Mean NULL NULL + 3 ARM AGE stats_t_test estimate2 Group 2 Mean NULL NULL + 4 ARM AGE stats_t_test statistic t Statistic NULL NULL + 5 ARM AGE stats_t_test p.value p-value NULL NULL + 6 ARM AGE stats_t_test parameter Degrees of Freedom NULL NULL + 7 ARM AGE stats_t_test conf.low CI Lower Bound NULL NULL + 8 ARM AGE stats_t_test conf.high CI Upper Bound NULL NULL + 9 ARM AGE stats_t_test method method NULL NULL + 10 ARM AGE stats_t_test alternative alternative NULL NULL + 11 ARM AGE stats_t_test mu H0 Mean 0 1 + 12 ARM AGE stats_t_test paired Paired t-test FALSE NULL + 13 ARM AGE stats_t_test var.equal Equal Variances TRUE NULL + 14 ARM AGE stats_t_test conf.level CI Confidence Level 0.95 1 + warning error + 1 NULL grouping factor must have exactly 2 levels + 2 NULL grouping factor must have exactly 2 levels + 3 NULL grouping factor must have exactly 2 levels + 4 NULL grouping factor must have exactly 2 levels + 5 NULL grouping factor must have exactly 2 levels + 6 NULL grouping factor must have exactly 2 levels + 7 NULL grouping factor must have exactly 2 levels + 8 NULL grouping factor must have exactly 2 levels + 9 NULL grouping factor must have exactly 2 levels + 10 NULL grouping factor must have exactly 2 levels + 11 NULL grouping factor must have exactly 2 levels + 12 NULL grouping factor must have exactly 2 levels + 13 NULL grouping factor must have exactly 2 levels + 14 NULL grouping factor must have exactly 2 levels # ard_stats_paired_t_test() works @@ -42,34 +42,34 @@ dplyr::row_number() == 1L, "3rd ARM", ARM)), by = ARM, variable = AGE, id = USUBJID, var.equal = TRUE)) Output - group1 variable context stat_name stat_label stat fmt_fn warning - 1 ARM AGE ttest estimate Mean Difference NULL NULL NULL - 2 ARM AGE ttest estimate1 Group 1 Mean NULL NULL NULL - 3 ARM AGE ttest estimate2 Group 2 Mean NULL NULL NULL - 4 ARM AGE ttest statistic t Statistic NULL NULL NULL - 5 ARM AGE ttest p.value p-value NULL NULL NULL - 6 ARM AGE ttest parameter Degrees of Freedom NULL NULL NULL - 7 ARM AGE ttest conf.low CI Lower Bound NULL NULL NULL - 8 ARM AGE ttest conf.high CI Upper Bound NULL NULL NULL - 9 ARM AGE ttest method method NULL NULL NULL - 10 ARM AGE ttest alternative alternative NULL NULL NULL - 11 ARM AGE ttest mu H0 Mean 0 1 NULL - 12 ARM AGE ttest paired Paired t-test TRUE NULL NULL - 13 ARM AGE ttest var.equal Equal Variances TRUE NULL NULL - 14 ARM AGE ttest conf.level CI Confidence Level 0.95 1 NULL - error - 1 The `by` argument must have two and only two levels. - 2 The `by` argument must have two and only two levels. - 3 The `by` argument must have two and only two levels. - 4 The `by` argument must have two and only two levels. - 5 The `by` argument must have two and only two levels. - 6 The `by` argument must have two and only two levels. - 7 The `by` argument must have two and only two levels. - 8 The `by` argument must have two and only two levels. - 9 The `by` argument must have two and only two levels. - 10 The `by` argument must have two and only two levels. - 11 The `by` argument must have two and only two levels. - 12 The `by` argument must have two and only two levels. - 13 The `by` argument must have two and only two levels. - 14 The `by` argument must have two and only two levels. + group1 variable context stat_name stat_label stat fmt_fn + 1 ARM AGE stats_t_test estimate Mean Difference NULL NULL + 2 ARM AGE stats_t_test estimate1 Group 1 Mean NULL NULL + 3 ARM AGE stats_t_test estimate2 Group 2 Mean NULL NULL + 4 ARM AGE stats_t_test statistic t Statistic NULL NULL + 5 ARM AGE stats_t_test p.value p-value NULL NULL + 6 ARM AGE stats_t_test parameter Degrees of Freedom NULL NULL + 7 ARM AGE stats_t_test conf.low CI Lower Bound NULL NULL + 8 ARM AGE stats_t_test conf.high CI Upper Bound NULL NULL + 9 ARM AGE stats_t_test method method NULL NULL + 10 ARM AGE stats_t_test alternative alternative NULL NULL + 11 ARM AGE stats_t_test mu H0 Mean 0 1 + 12 ARM AGE stats_t_test paired Paired t-test TRUE NULL + 13 ARM AGE stats_t_test var.equal Equal Variances TRUE NULL + 14 ARM AGE stats_t_test conf.level CI Confidence Level 0.95 1 + warning error + 1 NULL The `by` argument must have two and only two levels. + 2 NULL The `by` argument must have two and only two levels. + 3 NULL The `by` argument must have two and only two levels. + 4 NULL The `by` argument must have two and only two levels. + 5 NULL The `by` argument must have two and only two levels. + 6 NULL The `by` argument must have two and only two levels. + 7 NULL The `by` argument must have two and only two levels. + 8 NULL The `by` argument must have two and only two levels. + 9 NULL The `by` argument must have two and only two levels. + 10 NULL The `by` argument must have two and only two levels. + 11 NULL The `by` argument must have two and only two levels. + 12 NULL The `by` argument must have two and only two levels. + 13 NULL The `by` argument must have two and only two levels. + 14 NULL The `by` argument must have two and only two levels. diff --git a/tests/testthat/_snaps/ard_survey_svychisq.md b/tests/testthat/_snaps/ard_survey_svychisq.md index 5d9b016f3..0d0b49f4d 100644 --- a/tests/testthat/_snaps/ard_survey_svychisq.md +++ b/tests/testthat/_snaps/ard_survey_svychisq.md @@ -5,11 +5,11 @@ ard_survey_svychisq(dclus2, variables = c(sch.wide, stype), by = comp.imp, statistic = "adjWald"), c(1:3, 5:6)), variable), n = 3)) Output - group1 variable context stat_label stat - 1 comp.imp sch.wide svychisq Nominator Degrees of Freedom 1 - 2 comp.imp sch.wide svychisq Denominator Degrees of Freedom 39 - 3 comp.imp sch.wide svychisq Statistic 11.4203 - 4 comp.imp stype svychisq Nominator Degrees of Freedom 2 - 5 comp.imp stype svychisq Denominator Degrees of Freedom 38 - 6 comp.imp stype svychisq Statistic 4.480236 + group1 variable context stat_label stat + 1 comp.imp sch.wide survey_svychisq Nominator Degrees of Freedom 1 + 2 comp.imp sch.wide survey_svychisq Denominator Degrees of Freedom 39 + 3 comp.imp sch.wide survey_svychisq Statistic 11.4203 + 4 comp.imp stype survey_svychisq Nominator Degrees of Freedom 2 + 5 comp.imp stype survey_svychisq Denominator Degrees of Freedom 38 + 6 comp.imp stype survey_svychisq Statistic 4.480236 diff --git a/tests/testthat/_snaps/ard_survey_svycontinuous.md b/tests/testthat/_snaps/ard_survey_svycontinuous.md index ec07ffea5..7dbd96603 100644 --- a/tests/testthat/_snaps/ard_survey_svycontinuous.md +++ b/tests/testthat/_snaps/ard_survey_svycontinuous.md @@ -6,16 +6,16 @@ {cards} data frame: 10 x 8 Output variable context stat_name stat_label stat fmt_fn - 1 api00 continuo… mean Mean 644.169 1 - 2 api00 continuo… median Median 652 1 - 3 api00 continuo… min Minimum 411 1 - 4 api00 continuo… max Maximum 905 1 - 5 api00 continuo… sum Sum 3989985 1 - 6 api00 continuo… var Variance 11182.82 1 - 7 api00 continuo… sd Standard… 105.749 1 - 8 api00 continuo… mean.std.error SE(Mean) 23.542 1 - 9 api00 continuo… deff Design E… 9.346 1 - 10 api00 continuo… p75 75% Perc… 719 1 + 1 api00 survey_s… mean Mean 644.169 1 + 2 api00 survey_s… median Median 652 1 + 3 api00 survey_s… min Minimum 411 1 + 4 api00 survey_s… max Maximum 905 1 + 5 api00 survey_s… sum Sum 3989985 1 + 6 api00 survey_s… var Variance 11182.82 1 + 7 api00 survey_s… sd Standard… 105.749 1 + 8 api00 survey_s… mean.std.error SE(Mean) 23.542 1 + 9 api00 survey_s… deff Design E… 9.346 1 + 10 api00 survey_s… p75 75% Perc… 719 1 Message i 2 more variables: warning, error @@ -29,10 +29,10 @@ {cards} data frame: 4 x 8 Output variable context stat_name stat_label stat fmt_fn - 1 api00 continuo… mean Mean 644.169 2 - 2 api00 continuo… median Median 652 xx.xx - 3 api00 continuo… min Minimum 411 - 4 api00 continuo… max Maximum 905 1 + 1 api00 survey_s… mean Mean 644.169 2 + 2 api00 survey_s… median Median 652 xx.xx + 3 api00 survey_s… min Minimum 411 + 4 api00 survey_s… max Maximum 905 1 Message i 2 more variables: warning, error @@ -46,10 +46,10 @@ {cards} data frame: 4 x 8 Output variable context stat_name stat_label stat fmt_fn - 1 api00 continuo… mean MeAn 644.169 1 - 2 api00 continuo… median MEDian 652 1 - 3 api00 continuo… min MINimum 411 1 - 4 api00 continuo… max Maximum 905 1 + 1 api00 survey_s… mean MeAn 644.169 1 + 2 api00 survey_s… median MEDian 652 1 + 3 api00 survey_s… min MINimum 411 1 + 4 api00 survey_s… max Maximum 905 1 Message i 2 more variables: warning, error diff --git a/tests/testthat/_snaps/ard_survival_survfit.md b/tests/testthat/_snaps/ard_survival_survfit.md index da830d66d..6697507dd 100644 --- a/tests/testthat/_snaps/ard_survival_survfit.md +++ b/tests/testthat/_snaps/ard_survival_survfit.md @@ -119,13 +119,13 @@ Message {cards} data frame: 6 x 9 Output - variable variable_level context stat_name stat_label stat - 1 prob 0.5 survival estimate Survival… 310 - 2 prob 0.5 survival conf.high CI Upper… 363 - 3 prob 0.5 survival conf.low CI Lower… 285 - 4 prob 0.75 survival estimate Survival… 550 - 5 prob 0.75 survival conf.high CI Upper… 654 - 6 prob 0.75 survival conf.low CI Lower… 460 + variable variable_level context stat_name stat_label stat + 1 prob 0.5 survival… estimate Survival… 310 + 2 prob 0.5 survival… conf.high CI Upper… 363 + 3 prob 0.5 survival… conf.low CI Lower… 285 + 4 prob 0.75 survival… estimate Survival… 550 + 5 prob 0.75 survival… conf.high CI Upper… 654 + 6 prob 0.75 survival… conf.low CI Lower… 460 Message i 3 more variables: fmt_fn, warning, error From d6f1fcff1b2704c5e804ca8c9e2ccf67d1c579a5 Mon Sep 17 00:00:00 2001 From: ddsjoberg Date: Tue, 16 Apr 2024 23:08:49 +0000 Subject: [PATCH 02/10] [skip actions] Bump version to 0.1.0.9018 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f23b3de4a..0eeb402ab 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: cardx Title: Extra Analysis Results Data Utilities -Version: 0.1.0.9017 +Version: 0.1.0.9018 Authors@R: c( person("Daniel", "Sjoberg", , "danield.sjoberg@gmail.com", role = c("aut", "cre")), person("Abinaya", "Yogasekaram", , "abinaya.yogasekaram@contractors.roche.com", role = "aut"), diff --git a/NEWS.md b/NEWS.md index 88a07d59b..3ead9a0a6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# cardx 0.1.0.9017 +# cardx 0.1.0.9018 ### Breaking Changes From 413e32683bf231398858faa33c5625b3a3cc656a Mon Sep 17 00:00:00 2001 From: Abinaya Yogasekaram <73252787+ayogasekaram@users.noreply.github.com> Date: Tue, 16 Apr 2024 19:20:06 -0400 Subject: [PATCH 03/10] reorganize pkgdown (#122) **What changes are proposed in this pull request?** pkgdown reorganization, divide `ard_*()` based on package preview: image closes #114 -------------------------------------------------------------------------------- Pre-review Checklist (if item does not apply, mark is as complete) - [x] **All** GitHub Action workflows pass with a :white_check_mark: - [x] PR branch has pulled the most recent updates from master branch: `usethis::pr_merge_main()` - [x] If a bug was fixed, a unit test was added. - [x] If a new `ard_*()` function was added, it passes the ARD structural checks from `cards::check_ard_structure()`. - [x] Code coverage is suitable for any new functions/features (generally, 100% coverage for new code): `devtools::test_coverage()` Reviewer Checklist (if item does not apply, mark is as complete) - [ ] If a bug was fixed, a unit test was added. - [ ] 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 "`# cardx (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 :white_check_mark: - [ ] Approve Pull Request - [ ] Merge the PR. Please use "Squash and merge" or "Rebase and merge". --------- Co-authored-by: Daniel Sjoberg --- _pkgdown.yml | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index 0a9b92c05..16fedbf6b 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -22,10 +22,9 @@ authors: reference: - title: "ARD Creation" - - subtitle: "Inference" + + - subtitle: "{stats} package" - contents: - - ard_aod_wald_test - - ard_car_anova - ard_stats_anova - ard_stats_aov - ard_stats_chisq_test @@ -37,21 +36,41 @@ reference: - ard_stats_prop_test - ard_stats_t_test - ard_stats_wilcox_test - - ard_survey_svychisq - - ard_survey_svyranktest - - ard_survey_svyttest - - subtitle: "Estimation" + - subtitle: "{aod} package" + - contents: + - ard_aod_wald_test + + - subtitle: "{car} package" - contents: + - ard_car_anova - ard_car_vif + + - subtitle: "{effectsize} package" + - contents: - ard_effectsize_cohens_d - ard_effectsize_hedges_g + + - subtitle: "{smd} package" + - contents: + - ard_smd_smd + + - subtitle: "{survey} package" + - contents: + - ard_survey_svychisq + - ard_survey_svycontinuous + - ard_survey_svyranktest + - ard_survey_svyttest + + - subtitle: "{survival} package" + - contents: + - ard_survival_survfit + + - subtitle: "Other ARD functions" + - contents: - ard_proportion_ci - ard_regression - ard_regression_basic - - ard_smd_smd - - ard_survival_survfit - - ard_survey_svycontinuous - title: "Helpers" - contents: From 84cf6eb991376b4f80af66d1f84a5f1aef91bc0c Mon Sep 17 00:00:00 2001 From: ddsjoberg Date: Tue, 16 Apr 2024 23:20:57 +0000 Subject: [PATCH 04/10] [skip actions] Bump version to 0.1.0.9019 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 0eeb402ab..63e356210 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: cardx Title: Extra Analysis Results Data Utilities -Version: 0.1.0.9018 +Version: 0.1.0.9019 Authors@R: c( person("Daniel", "Sjoberg", , "danield.sjoberg@gmail.com", role = c("aut", "cre")), person("Abinaya", "Yogasekaram", , "abinaya.yogasekaram@contractors.roche.com", role = "aut"), diff --git a/NEWS.md b/NEWS.md index 3ead9a0a6..01a2b5fd7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# cardx 0.1.0.9018 +# cardx 0.1.0.9019 ### Breaking Changes From 5c5e25fb03870675b7029e983eb49ddc3436ee15 Mon Sep 17 00:00:00 2001 From: Daniel Sjoberg Date: Tue, 16 Apr 2024 16:34:12 -0700 Subject: [PATCH 05/10] Adding `ard_survival_survdiff()` (#119) **What changes are proposed in this pull request?** * Adding `ard_survival_survdiff()` for creating results from `survival::survdiff()`. (#113) **Reference GitHub issue associated with pull request.** _e.g., 'closes #'_ closes #113 -------------------------------------------------------------------------------- Pre-review Checklist (if item does not apply, mark is as complete) - [x] **All** GitHub Action workflows pass with a :white_check_mark: - [x] PR branch has pulled the most recent updates from master branch: `usethis::pr_merge_main()` - [x] If a bug was fixed, a unit test was added. - [x] If a new `ard_*()` function was added, it passes the ARD structural checks from `cards::check_ard_structure()`. - [x] Code coverage is suitable for any new functions/features (generally, 100% coverage for new code): `devtools::test_coverage()` - [x] If a new `ard_*()` function was added, `set_cli_abort_call()` has been set. - [x] If a new `ard_*()` function was added and it depends on another package (such as, `broom`), `is_pkg_installed("broom", reference_pkg = "cardx")` has been set in the function call and the following added to the roxygen comments: `@examplesIf do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = "broom"", reference_pkg = "cardx"))` Reviewer Checklist (if item does not apply, mark is as complete) - [x] If a bug was fixed, a unit test was added. - [x] Code coverage is suitable for any new functions/features: `devtools::test_coverage()` When the branch is ready to be merged: - [x] Update `NEWS.md` with the changes from this pull request under the heading "`# cardx (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). - [x] **All** GitHub Action workflows pass with a :white_check_mark: - [x] Approve Pull Request - [ ] Merge the PR. Please use "Squash and merge" or "Rebase and merge". --------- Co-authored-by: Emily de la Rua <59304861+edelarua@users.noreply.github.com> Co-authored-by: Emily de la Rua --- .github/PULL_REQUEST_TEMPLATE.md | 2 + DESCRIPTION | 3 +- NAMESPACE | 1 + NEWS.md | 5 +- R/ard_survival_survdiff.R | 146 ++++++++++++++++++++ R/ard_survival_survfit.R | 5 +- _pkgdown.yml | 40 ++---- man/ard_survival_survdiff.Rd | 34 +++++ man/ard_survival_survfit.Rd | 5 +- tests/testthat/test-ard_stats_anova.R | 11 ++ tests/testthat/test-ard_survival_survdiff.R | 62 +++++++++ 11 files changed, 278 insertions(+), 36 deletions(-) create mode 100644 R/ard_survival_survdiff.R create mode 100644 man/ard_survival_survdiff.Rd create mode 100644 tests/testthat/test-ard_survival_survdiff.R diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 9845c478e..e878a8cc6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,6 +13,8 @@ Pre-review Checklist (if item does not apply, mark is as complete) - [ ] 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. - [ ] If a new `ard_*()` function was added, it passes the ARD structural checks from `cards::check_ard_structure()`. +- [ ] If a new `ard_*()` function was added, `set_cli_abort_call()` has been set. +- [ ] If a new `ard_*()` function was added and it depends on another package (such as, `broom`), `is_pkg_installed("broom", reference_pkg = "cardx")` has been set in the function call and the following added to the roxygen comments: `@examplesIf do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = "broom"", reference_pkg = "cardx"))` - [ ] Code coverage is suitable for any new functions/features (generally, 100% coverage for new code): `devtools::test_coverage()` Reviewer Checklist (if item does not apply, mark is as complete) diff --git a/DESCRIPTION b/DESCRIPTION index 63e356210..1e8b95094 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: cardx Title: Extra Analysis Results Data Utilities -Version: 0.1.0.9019 +Version: 0.1.0.9018 Authors@R: c( person("Daniel", "Sjoberg", , "danield.sjoberg@gmail.com", role = c("aut", "cre")), person("Abinaya", "Yogasekaram", , "abinaya.yogasekaram@contractors.roche.com", role = "aut"), @@ -31,6 +31,7 @@ Suggests: car (>= 3.0-11), effectsize (>= 0.6.0), geepack (>= 1.3.2), + ggsurvfit (>= 1.0.0), lme4 (>= 1.1-31), parameters (>= 0.20.2), smd (>= 0.6.6), diff --git a/NAMESPACE b/NAMESPACE index 880fe1b6f..b2033afd1 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -34,6 +34,7 @@ export(ard_survey_svychisq) export(ard_survey_svycontinuous) export(ard_survey_svyranktest) export(ard_survey_svyttest) +export(ard_survival_survdiff) export(ard_survival_survfit) export(contains) export(ends_with) diff --git a/NEWS.md b/NEWS.md index 01a2b5fd7..4848cd532 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# cardx 0.1.0.9019 +# cardx 0.1.0.9018 ### Breaking Changes @@ -39,8 +39,9 @@ ard_moodtest() -> ard_stats_mood_test() * Updated `ard_stats_t_test()` and `ard_stats_wilcox_test()` to no longer require the `by` argument, which yields central estimates with their confidence intervals. (#82) -* Import cli call environment functions from `https://github.com/ddsjoberg/standalone/blob/main/R/standalone-cli_call_env.R` and implement `set_cli_abort_call` in user-facing functions. (#111, @edelarua) +* Imported cli call environment functions from `https://github.com/ddsjoberg/standalone/blob/main/R/standalone-cli_call_env.R` and implemented `set_cli_abort_call` in user-facing functions. (#111) +* Added `ard_survival_survdiff()` for creating results from `survival::survdiff()`. (#113) # cardx 0.1.0 diff --git a/R/ard_survival_survdiff.R b/R/ard_survival_survdiff.R new file mode 100644 index 000000000..59a4cc3e5 --- /dev/null +++ b/R/ard_survival_survdiff.R @@ -0,0 +1,146 @@ +#' ARD for Difference in Survival +#' +#' @description +#' Analysis results data for comparison of survival using [survival::survdiff()]. +#' +#' @param formula (`formula`)\cr +#' a formula +#' @param data (`data.frame`)\cr +#' a data frame +#' @param rho (`scalar numeric`)\cr +#' numeric scalar passed to `survival::survdiff(rho)`. Default is `rho=0`. +#' @param ... additional arguments passed to `survival::survdiff()` +#' +#' @return an ARD data frame of class 'card' +#' @export +#' +#' @examplesIf do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom", "ggsurvfit"), reference_pkg = "cardx")) +#' library(survival) +#' library(ggsurvfit) +#' +#' ard_survival_survdiff(Surv_CNSR(AVAL, CNSR) ~ TRTA, data = cards::ADTTE) +ard_survival_survdiff <- function(formula, data, rho = 0, ...) { + set_cli_abort_call() + + # check installed packages --------------------------------------------------- + check_pkg_installed(c("survival", "broom"), reference_pkg = "cardx") + + # check/process inputs ------------------------------------------------------- + check_not_missing(formula) + check_class(formula, cls = "formula") + if (!missing(data)) check_class(data, cls = "data.frame") + check_scalar(rho) + check_class(rho, cls = "numeric") + + # assign method + method <- dplyr::case_when( + rho == 0 ~ "Log-rank test", + rho == 1.5 ~ "Tarone-Ware test", + rho == 1 ~ "Peto & Peto modification of Gehan-Wilcoxon test", + .default = glue::glue("G-rho test (\U03C1 = {rho})") + ) |> + as.character() + + # calculate survdiff() results ----------------------------------------------- + lst_glance <- + cards::eval_capture_conditions( + survival::survdiff(formula = formula, data = data, rho = rho, ...) |> + broom::glance() |> + dplyr::mutate(method = .env$method) + ) + + # tidy results up in an ARD format ------------------------------------------- + # extract variable names from formula + variables <- stats::terms(formula) |> + attr("term.labels") |> + .strip_backticks() + + # if there was an error, return results early + if (is.null(lst_glance[["result"]])) { + # if no variables in formula, then return an error + # otherwise, if we do have variable names, then we can construct an empty ARD which will be done below + if (is_empty(variables)) { + cli::cli_abort( + message = + c("There was an error in {.fun survival::survdiff}. See below:", + "x" = lst_glance[["error"]] + ), + call = get_cli_abort_call() + ) + } + } + + .variables_to_survdiff_ard( + variables = variables, + method = method, + # styler: off + stat_names = + if (!is.null(lst_glance[["result"]])) names(lst_glance[["result"]]) + else c("statistic", "df", "p.value", "method"), + stats = + if (!is.null(lst_glance[["result"]])) unname(as.list(lst_glance[["result"]])) + else rep_along(c("statistic", "df", "p.value"), list(NULL)) |> c(list(method = method)) + # styler: on + ) |> + .add_survdiff_stat_labels() |> + dplyr::mutate( + context = "survival_survdiff", + warning = lst_glance["warning"], + error = lst_glance["error"], + fmt_fn = map( + .data$stat, + function(x) { + if (is.numeric(x)) return(1L) # styler: off + NULL + } + ) + ) |> + cards::tidy_ard_column_order() %>% + {structure(., class = c("card", class(.)))} # styler: off +} + +.variables_to_survdiff_ard <- function(variables, + method, + stat_names, + stats) { + len <- length(variables) + + df_vars <- dplyr::tibble(!!!rev(variables)) |> + set_names( + ifelse( + len > 1L, + c(paste0("group_", rev(seq_len(len - 1L))), "variable"), + "variable" + ) + ) + + dplyr::bind_cols( + df_vars, + dplyr::tibble( + stat_name = .env$stat_names, + stat = .env$stats + ) + ) +} + +.add_survdiff_stat_labels <- function(x) { + x |> + dplyr::left_join( + dplyr::tribble( + ~stat_name, ~stat_label, + "statistic", "X^2 Statistic", + "df", "Degrees of Freedom", + "p.value", "p-value" + ), + by = "stat_name" + ) |> + dplyr::mutate(stat_label = dplyr::coalesce(.data$stat_label, .data$stat_name)) +} + +.strip_backticks <- function(x) { + ifelse( + str_detect(x, "^`.*`$"), + substr(x, 2, nchar(x) - 1), + x + ) +} diff --git a/R/ard_survival_survfit.R b/R/ard_survival_survfit.R index 58be3ff2a..6e866db93 100644 --- a/R/ard_survival_survfit.R +++ b/R/ard_survival_survfit.R @@ -34,11 +34,12 @@ #' #' @examplesIf do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom"), reference_pkg = "cardx")) #' library(survival) +#' library(ggsurvfit) #' -#' survfit(Surv(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> +#' survfit(Surv_CNSR(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> #' ard_survival_survfit(times = c(60, 180)) #' -#' survfit(Surv(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> +#' survfit(Surv_CNSR(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> #' ard_survival_survfit(probs = c(0.25, 0.5, 0.75)) #' #' # Competing Risks Example --------------------------- diff --git a/_pkgdown.yml b/_pkgdown.yml index 16fedbf6b..a6cd431cf 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -22,9 +22,10 @@ authors: reference: - title: "ARD Creation" - - - subtitle: "{stats} package" + - subtitle: "Inference" - contents: + - ard_aod_wald_test + - ard_car_anova - ard_stats_anova - ard_stats_aov - ard_stats_chisq_test @@ -36,41 +37,22 @@ reference: - ard_stats_prop_test - ard_stats_t_test - ard_stats_wilcox_test - - - subtitle: "{aod} package" - - contents: - - ard_aod_wald_test - - - subtitle: "{car} package" - - contents: - - ard_car_anova - - ard_car_vif - - - subtitle: "{effectsize} package" - - contents: - - ard_effectsize_cohens_d - - ard_effectsize_hedges_g - - - subtitle: "{smd} package" - - contents: - - ard_smd_smd - - - subtitle: "{survey} package" - - contents: - ard_survey_svychisq - - ard_survey_svycontinuous - ard_survey_svyranktest - ard_survey_svyttest + - ard_survival_survdiff - - subtitle: "{survival} package" - - contents: - - ard_survival_survfit - - - subtitle: "Other ARD functions" + - subtitle: "Estimation" - contents: + - ard_car_vif + - ard_effectsize_cohens_d + - ard_effectsize_hedges_g - ard_proportion_ci - ard_regression - ard_regression_basic + - ard_smd_smd + - ard_survival_survfit + - ard_survey_svycontinuous - title: "Helpers" - contents: diff --git a/man/ard_survival_survdiff.Rd b/man/ard_survival_survdiff.Rd new file mode 100644 index 000000000..49478e5d7 --- /dev/null +++ b/man/ard_survival_survdiff.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/ard_survival_survdiff.R +\name{ard_survival_survdiff} +\alias{ard_survival_survdiff} +\title{ARD for Difference in Survival} +\usage{ +ard_survival_survdiff(formula, data, rho = 0, ...) +} +\arguments{ +\item{formula}{(\code{formula})\cr +a formula} + +\item{data}{(\code{data.frame})\cr +a data frame} + +\item{rho}{(\verb{scalar numeric})\cr +numeric scalar passed to \code{survival::survdiff(rho)}. Default is \code{rho=0}.} + +\item{...}{additional arguments passed to \code{survival::survdiff()}} +} +\value{ +an ARD data frame of class 'card' +} +\description{ +Analysis results data for comparison of survival using \code{\link[survival:survdiff]{survival::survdiff()}}. +} +\examples{ +\dontshow{if (do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom", "ggsurvfit"), reference_pkg = "cardx"))) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +library(survival) +library(ggsurvfit) + +ard_survival_survdiff(Surv_CNSR(AVAL, CNSR) ~ TRTA, data = cards::ADTTE) +\dontshow{\}) # examplesIf} +} diff --git a/man/ard_survival_survfit.Rd b/man/ard_survival_survfit.Rd index 0ea1ca8dd..c8bbd5319 100644 --- a/man/ard_survival_survfit.Rd +++ b/man/ard_survival_survfit.Rd @@ -43,11 +43,12 @@ survival fit model. \examples{ \dontshow{if (do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom"), reference_pkg = "cardx"))) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} library(survival) +library(ggsurvfit) -survfit(Surv(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> +survfit(Surv_CNSR(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> ard_survival_survfit(times = c(60, 180)) -survfit(Surv(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> +survfit(Surv_CNSR(AVAL, CNSR) ~ TRTA, cards::ADTTE) |> ard_survival_survfit(probs = c(0.25, 0.5, 0.75)) # Competing Risks Example --------------------------- diff --git a/tests/testthat/test-ard_stats_anova.R b/tests/testthat/test-ard_stats_anova.R index 2e84eeecc..ec0197853 100644 --- a/tests/testthat/test-ard_stats_anova.R +++ b/tests/testthat/test-ard_stats_anova.R @@ -129,3 +129,14 @@ test_that("ard_stats_anova.data.frame() works", { ard_anova_geeglm ) }) + +test_that("ard_stats_anova.data.frame() error messaging", { + expect_error( + ard_stats_anova( + x = mtcars, + formulas = list(mpg ~ am, mpg ~ am + hp), + fn = "base::lm" + ), + "cannot be namespaced" + ) +}) diff --git a/tests/testthat/test-ard_survival_survdiff.R b/tests/testthat/test-ard_survival_survdiff.R new file mode 100644 index 000000000..1ae555b10 --- /dev/null +++ b/tests/testthat/test-ard_survival_survdiff.R @@ -0,0 +1,62 @@ +skip_if_not(is_pkg_installed(c("survival", "broom"), reference_pkg = "cardx")) + +test_that("ard_survival_survdiff() works", { + # Log-rank test ---- + expect_error( + ard_survival_survdiff <- + ard_survival_survdiff(survival::Surv(AVAL, CNSR) ~ TRTA, data = cards::ADTTE), + NA + ) + + expect_equal( + ard_survival_survdiff |> + dplyr::slice(-nrow(ard_survival_survdiff)) |> + cards::get_ard_statistics(), + survival::survdiff(survival::Surv(AVAL, CNSR) ~ TRTA, data = cards::ADTTE) |> + broom::glance() |> + as.list() + ) + expect_equal( + ard_survival_survdiff$stat[ard_survival_survdiff$stat_name %in% "method"], + list("Log-rank test") + ) + + # Tarone-Ware test ---- + expect_error( + ard_survival_survdiff <- + ard_survival_survdiff(survival::Surv(AVAL, CNSR) ~ TRTA, data = cards::ADTTE, rho = 1.5), + NA + ) + + expect_equal( + ard_survival_survdiff |> + dplyr::slice(-nrow(ard_survival_survdiff)) |> + cards::get_ard_statistics(), + survival::survdiff(survival::Surv(AVAL, CNSR) ~ TRTA, data = cards::ADTTE, rho = 1.5) |> + broom::glance() |> + as.list() + ) + expect_equal( + ard_survival_survdiff$stat[ard_survival_survdiff$stat_name %in% "method"], + list("Tarone-Ware test") + ) +}) + +test_that("ard_survival_survdiff() error messaging", { + expect_error( + ard_survival_survdiff(survival::Surv(AVAL, CNSR) ~ 1, data = cards::ADTTE), + "There was an error" + ) + + expect_error( + ard_survival_survdiff <- + ard_survival_survdiff(survival::Surv(AVAL, CNSR) ~ not_a_variable, data = cards::ADTTE), + NA + ) + expect_true( + ard_survival_survdiff |> nrow() == 4L + ) + expect_true( + ard_survival_survdiff$error |> unique() |> grepl(pattern = "*'not_a_variable'*", x = _) + ) +}) From c3edc8821a3f1287048f28f0c275d2fdf0edaa65 Mon Sep 17 00:00:00 2001 From: edelarua Date: Tue, 16 Apr 2024 23:35:05 +0000 Subject: [PATCH 06/10] [skip actions] Bump version to 0.1.0.9019 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1e8b95094..838c24a30 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: cardx Title: Extra Analysis Results Data Utilities -Version: 0.1.0.9018 +Version: 0.1.0.9019 Authors@R: c( person("Daniel", "Sjoberg", , "danield.sjoberg@gmail.com", role = c("aut", "cre")), person("Abinaya", "Yogasekaram", , "abinaya.yogasekaram@contractors.roche.com", role = "aut"), diff --git a/NEWS.md b/NEWS.md index 4848cd532..b5608b011 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# cardx 0.1.0.9018 +# cardx 0.1.0.9019 ### Breaking Changes From c4cee2a425b3a87195fbe9a170996b1aacbd5a26 Mon Sep 17 00:00:00 2001 From: Daniel Sjoberg Date: Tue, 16 Apr 2024 19:25:03 -0700 Subject: [PATCH 07/10] Bumping broom.helpers required version to 1.15.0 (first version with official support for mmrm) (#124) **Reference GitHub issue associated with pull request.** _e.g., 'closes #'_ closes #109 -------------------------------------------------------------------------------- Pre-review Checklist (if item does not apply, mark is as complete) - [ ] **All** GitHub Action workflows pass with a :white_check_mark: - [ ] 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. - [ ] If a new `ard_*()` function was added, it passes the ARD structural checks from `cards::check_ard_structure()`. - [ ] If a new `ard_*()` function was added, `set_cli_abort_call()` has been set. - [ ] If a new `ard_*()` function was added and it depends on another package (such as, `broom`), `is_pkg_installed("broom", reference_pkg = "cardx")` has been set in the function call and the following added to the roxygen comments: `@examplesIf do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = "broom"", reference_pkg = "cardx"))` - [ ] Code coverage is suitable for any new functions/features (generally, 100% coverage for new code): `devtools::test_coverage()` Reviewer Checklist (if item does not apply, mark is as complete) - [ ] If a bug was fixed, a unit test was added. - [ ] 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 "`# cardx (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 :white_check_mark: - [ ] Approve Pull Request - [ ] Merge the PR. Please use "Squash and merge" or "Rebase and merge". --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 838c24a30..a8beef54a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -27,7 +27,7 @@ Imports: Suggests: aod (>= 1.3.3), broom (>= 1.0.5), - broom.helpers (>= 1.13.0), + broom.helpers (>= 1.15.0), car (>= 3.0-11), effectsize (>= 0.6.0), geepack (>= 1.3.2), From 827bd8a9d2bec011773b06abc6ed145d4409966c Mon Sep 17 00:00:00 2001 From: ddsjoberg Date: Wed, 17 Apr 2024 02:25:59 +0000 Subject: [PATCH 08/10] [skip actions] Bump version to 0.1.0.9020 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a8beef54a..f21a6297f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: cardx Title: Extra Analysis Results Data Utilities -Version: 0.1.0.9019 +Version: 0.1.0.9020 Authors@R: c( person("Daniel", "Sjoberg", , "danield.sjoberg@gmail.com", role = c("aut", "cre")), person("Abinaya", "Yogasekaram", , "abinaya.yogasekaram@contractors.roche.com", role = "aut"), diff --git a/NEWS.md b/NEWS.md index b5608b011..fddc6a361 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# cardx 0.1.0.9019 +# cardx 0.1.0.9020 ### Breaking Changes From 32b32fe8384ee5452564bdf8a3631f2f5edc8201 Mon Sep 17 00:00:00 2001 From: Daniel Sjoberg Date: Wed, 17 Apr 2024 11:31:16 -0700 Subject: [PATCH 09/10] fencing update --- R/ard_survival_survfit.R | 2 +- man/ard_survival_survfit.Rd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/ard_survival_survfit.R b/R/ard_survival_survfit.R index 6e866db93..9a30adf5f 100644 --- a/R/ard_survival_survfit.R +++ b/R/ard_survival_survfit.R @@ -32,7 +32,7 @@ #' * Times should be provided using the same scale as the time variable used to fit the provided #' survival fit model. #' -#' @examplesIf do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom"), reference_pkg = "cardx")) +#' @examplesIf do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom", "ggsurvfit"), reference_pkg = "cardx")) #' library(survival) #' library(ggsurvfit) #' diff --git a/man/ard_survival_survfit.Rd b/man/ard_survival_survfit.Rd index c8bbd5319..c5f396197 100644 --- a/man/ard_survival_survfit.Rd +++ b/man/ard_survival_survfit.Rd @@ -41,7 +41,7 @@ survival fit model. } } \examples{ -\dontshow{if (do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom"), reference_pkg = "cardx"))) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +\dontshow{if (do.call(asNamespace("cardx")$is_pkg_installed, list(pkg = c("survival", "broom", "ggsurvfit"), reference_pkg = "cardx"))) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} library(survival) library(ggsurvfit) From f2fe696b5f435d58e14386a0d9dcc520c96c3173 Mon Sep 17 00:00:00 2001 From: ddsjoberg Date: Wed, 17 Apr 2024 18:32:05 +0000 Subject: [PATCH 10/10] [skip actions] Bump version to 0.1.0.9021 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f21a6297f..4905778da 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: cardx Title: Extra Analysis Results Data Utilities -Version: 0.1.0.9020 +Version: 0.1.0.9021 Authors@R: c( person("Daniel", "Sjoberg", , "danield.sjoberg@gmail.com", role = c("aut", "cre")), person("Abinaya", "Yogasekaram", , "abinaya.yogasekaram@contractors.roche.com", role = "aut"), diff --git a/NEWS.md b/NEWS.md index fddc6a361..70cedb7af 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# cardx 0.1.0.9020 +# cardx 0.1.0.9021 ### Breaking Changes