From d6dc934a232550886f0927dab410f2019c617cfe Mon Sep 17 00:00:00 2001 From: Huan Lu <132633786+huanlugwu@users.noreply.github.com> Date: Wed, 29 May 2024 11:07:45 +0800 Subject: [PATCH 01/15] update branch 207 (#222) * 201 new figure figure 14 (#209) * First draft First draft (not fully working) * New push Now the results are correct. Colors in the table are missing and the order of the group is not correct. * Delete width= in geom_errorbar To avoid warning `position_dodge()` requires non-overlapping x intervals * Update Put example in comments @examples * Update fda-fig_14 and argument convention * tests Update setup.R to add ggplot2 * quarto page * _quarto.yml and NEWS.md * typo * Put PARAMCD in code mode * Remove id_var, add visit_var, reverse order of table rows * [skip actions] Restyle files * Add to index * [skip actions] Restyle files * Empty commit * Fix unrelated broken template * [skip actions] Roxygen Man Pages Auto Update * Empty commit * Fix lint * Fix imports/exports * Update template --------- Co-authored-by: Emily de la Rua Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com> * 196-new-table-38 (#204) * 1st commitment for all documents * [skip actions] Restyle files * [skip actions] Roxygen Man Pages Auto Update * Fix table 35 title * Update index * Update label indentation --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Emily de la Rua * 195 new table table 36 (#208) * Add make_table_36 * Add tests for make_table_36 * Addd quarto page for make_table_36 * [skip actions] Restyle files * Update NEWS file * Remove scda from table 22 * Solve lintr marks for table 22 * empty commit * Update WORDLIST --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Abinaya Yogasekaram <73252787+ayogasekaram@users.noreply.github.com> Co-authored-by: ayogasekaram Co-authored-by: Emily de la Rua * 105 table 09 tplyr (#192) * Prepare first raw tplyr table including risk difference columns * Table 9 Tplyr: Update header string in case risk difference columns are expected * Table 9 Tplyr: Add parameter for overall column * Tab 9 Tplyr: Introduce soc_var parameter * Add show_colcounts and prune functionality * Clean comments * Replace remaining hard-coded variable names by parameters * Add option to return a gt_table object * Add checkmate checks * Allow for both, character and factor, since tplyr seems to prefer character * Update roxygen documentation * Add make_table_09_tplyr() to web page * Establish first test cases * Add test for correct column header assignment (make_table_09_tplyr) * Add column ordering based on arm order for make_table_09_tplyr * Add final tests and clean * [skip actions] Restyle files * Solve lintr markers * Update after devtools::check() * [skip actions] Restyle files * [skip actions] Roxygen Man Pages Auto Update * Restart github check by code modification * Update example data frpm scda to random.cdisc.data * [skip actions] Restyle files * [skip actions] Roxygen Man Pages Auto Update * Set RoxygenNote to 7.3.0 as required by GitHub action * Fix make_table_09_tplyr() row order * Add scda to 'Suggests' since table 22 still includes it in the example and tests * Move scda from Suggests to Imports since table 22 quarto page relies on it as well... * Replace scda w/ random.cdisc.data for table 22 examples and tests * [skip actions] Roxygen Man Pages Auto Update * Restrict Tplyr version to <= 1.1.0 until newly introduced incompatibilities w/ higher versions are solved * Restrict to Tplyr version 1.1.0 * Remove version restriction for Tplyr * Deactivate risk difference feature until {Tplyr} issue is solved * Re-document * [skip style] [skip vbump] Restyle files --------- Co-authored-by: mattkorb Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: ayogasekaram * Update boehringer company logo on website (#214) * [skip actions] Bump version to 0.1.0.9054 * 211 new table table 33 with gtsummary (#212) Closes #211 * [skip actions] Bump version to 0.1.0.9055 * 205_BUG_fix _make_table_34 Issue (#215) * Calculate counts for FMQ levels. Updated test file and Qualt file accordingly. * [skip style] [skip vbump] Restyle files * [skip roxygen] [skip vbump] Roxygen Man Pages Auto Update * lint R check * [skip style] [skip vbump] Restyle files --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com> --------- Co-authored-by: Alex Assuied <123543888+aassuied-ps@users.noreply.github.com> Co-authored-by: Emily de la Rua Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: YoshitoKoujin <123349854+YoshitoKoujin@users.noreply.github.com> Co-authored-by: Korbinian Matthias <123395522+mattkorb@users.noreply.github.com> Co-authored-by: Abinaya Yogasekaram <73252787+ayogasekaram@users.noreply.github.com> Co-authored-by: ayogasekaram Co-authored-by: Jessica Knizia <85986258+jknizia@users.noreply.github.com> Co-authored-by: mattkorb Co-authored-by: edelarua --- .github/ISSUE_TEMPLATE/new_template.yml | 1 - .pre-commit-config.yaml | 6 +- DESCRIPTION | 15 +- NAMESPACE | 9 + NEWS.md | 22 +- R/argument_convention.R | 39 +- R/falcon.R | 8 +- R/fda-fig_01.R | 9 +- R/fda-fig_02.R | 9 +- R/fda-fig_14.R | 186 ++++++++++ R/fda-table_02.R | 8 +- R/fda-table_03.R | 2 +- R/fda-table_04.R | 2 +- R/fda-table_05.R | 4 +- R/fda-table_06.R | 2 +- R/fda-table_07.R | 2 +- R/fda-table_08.R | 4 +- R/fda-table_09.R | 340 ++++++++++++++++-- R/fda-table_10.R | 4 +- R/fda-table_11.R | 4 +- R/fda-table_12.R | 2 +- R/fda-table_13.R | 2 +- R/fda-table_14.R | 2 +- R/fda-table_15.R | 4 +- R/fda-table_16.R | 4 +- R/fda-table_17.R | 4 +- R/fda-table_18.R | 4 +- R/fda-table_20.R | 2 +- R/fda-table_21.R | 2 +- R/fda-table_22.R | 10 +- R/fda-table_32.R | 46 ++- R/fda-table_33.R | 100 +++++- R/fda-table_34.R | 25 +- R/fda-table_35.R | 4 +- R/fda-table_36.R | 73 ++++ R/fda-table_38.R | 96 +++++ R/utils.R | 4 +- _quarto.yml | 2 + inst/WORDLIST | 17 + man/a_count_occurrences_ser_ae.Rd | 4 +- man/a_count_occurrences_trtem_ae.Rd | 4 +- man/alt_counts_df_preproc.Rd | 2 +- man/argument_convention.Rd | 40 ++- man/basic_table_annot.Rd | 2 +- man/calculate_riskdiff.Rd | 24 -- man/count_subjects.Rd | 48 --- man/create_table_09_data.Rd | 56 --- man/h_make_table_09.Rd | 115 ++++++ man/make_fig_01.Rd | 2 +- man/make_fig_02.Rd | 2 +- man/make_fig_14.Rd | 79 ++++ man/make_table_02.Rd | 8 +- man/make_table_03.Rd | 6 +- man/make_table_04.Rd | 6 +- man/make_table_05.Rd | 6 +- man/make_table_06.Rd | 6 +- man/make_table_07.Rd | 6 +- man/make_table_08.Rd | 2 +- man/make_table_09.Rd | 100 +++++- man/make_table_10.Rd | 6 +- man/make_table_11.Rd | 6 +- man/make_table_12.Rd | 8 +- man/make_table_13.Rd | 6 +- man/make_table_14.Rd | 8 +- man/make_table_15.Rd | 8 +- man/make_table_16.Rd | 8 +- man/make_table_17.Rd | 8 +- man/make_table_18.Rd | 8 +- man/make_table_20.Rd | 8 +- man/make_table_21.Rd | 8 +- man/make_table_22.Rd | 16 +- man/make_table_32.Rd | 10 +- man/make_table_33.Rd | 28 +- man/make_table_34.Rd | 16 +- man/make_table_35.Rd | 12 +- man/make_table_36.Rd | 92 +++++ man/make_table_38.Rd | 111 ++++++ man/renaming_function.Rd | 14 - man/split_cols_by_arm.Rd | 2 +- quarto/assets/images/logo-bi.png | Bin 160571 -> 172967 bytes quarto/assets/images/screenshots/fig_14.png | Bin 0 -> 172903 bytes quarto/assets/images/screenshots/table_38.png | Bin 0 -> 82083 bytes quarto/figure-templates/template-fig_14.qmd | 59 +++ quarto/index-templates.qmd | 9 +- quarto/table-templates/template-table_09.qmd | 56 ++- quarto/table-templates/template-table_22.qmd | 9 +- quarto/table-templates/template-table_32.qmd | 30 +- quarto/table-templates/template-table_33.qmd | 48 ++- quarto/table-templates/template-table_34.qmd | 4 +- quarto/table-templates/template-table_35.qmd | 2 +- quarto/table-templates/template-table_36.qmd | 80 +++++ quarto/table-templates/template-table_38.qmd | 103 ++++++ .../_snaps/fda-fig_01/fig_01_custom.svg | 204 +++++------ .../_snaps/fda-fig_01/fig_01_default.svg | 186 +++++----- .../_snaps/fda-fig_01/fig_01_notbl.svg | 22 +- .../_snaps/fda-fig_01/fig_01_theme.svg | 194 +++++----- .../_snaps/fda-fig_02/fig_02_custom.svg | 204 +++++------ .../_snaps/fda-fig_02/fig_02_default.svg | 186 +++++----- .../_snaps/fda-fig_02/fig_02_notbl.svg | 22 +- .../_snaps/fda-fig_02/fig_02_theme.svg | 194 +++++----- .../_snaps/fda-fig_14/fig_14_custom.svg | 284 +++++++++++++++ .../_snaps/fda-fig_14/fig_14_default.svg | 297 +++++++++++++++ .../_snaps/fda-fig_14/fig_14_notbl.svg | 178 +++++++++ .../_snaps/fda-fig_14/fig_14_theme.svg | 298 +++++++++++++++ tests/testthat/_snaps/fda-table_09.md | 35 ++ tests/testthat/_snaps/fda-table_22.md | 9 +- tests/testthat/_snaps/fda-table_32.md | 14 + tests/testthat/_snaps/fda-table_33.md | 33 ++ tests/testthat/_snaps/fda-table_34.md | 223 ++++++------ tests/testthat/_snaps/fda-table_36.md | 315 ++++++++++++++++ tests/testthat/_snaps/fda-table_38.md | 120 +++++++ tests/testthat/setup-options.R | 20 ++ tests/testthat/setup.R | 9 +- tests/testthat/test-fda-fig_01.R | 36 +- tests/testthat/test-fda-fig_02.R | 36 +- tests/testthat/test-fda-fig_14.R | 53 +++ tests/testthat/test-fda-table_02.R | 42 ++- tests/testthat/test-fda-table_09.R | 261 ++++++++++++++ tests/testthat/test-fda-table_22.R | 12 +- tests/testthat/test-fda-table_32.R | 20 ++ tests/testthat/test-fda-table_33.R | 38 +- tests/testthat/test-fda-table_36.R | 71 ++++ tests/testthat/test-fda-table_38.R | 57 +++ 123 files changed, 4856 insertions(+), 1197 deletions(-) create mode 100644 R/fda-fig_14.R create mode 100644 R/fda-table_36.R create mode 100644 R/fda-table_38.R delete mode 100644 man/calculate_riskdiff.Rd delete mode 100644 man/count_subjects.Rd delete mode 100644 man/create_table_09_data.Rd create mode 100644 man/h_make_table_09.Rd create mode 100644 man/make_fig_14.Rd create mode 100644 man/make_table_36.Rd create mode 100644 man/make_table_38.Rd delete mode 100644 man/renaming_function.Rd create mode 100644 quarto/assets/images/screenshots/fig_14.png create mode 100644 quarto/assets/images/screenshots/table_38.png create mode 100644 quarto/figure-templates/template-fig_14.qmd create mode 100644 quarto/table-templates/template-table_36.qmd create mode 100644 quarto/table-templates/template-table_38.qmd create mode 100644 tests/testthat/_snaps/fda-fig_14/fig_14_custom.svg create mode 100644 tests/testthat/_snaps/fda-fig_14/fig_14_default.svg create mode 100644 tests/testthat/_snaps/fda-fig_14/fig_14_notbl.svg create mode 100644 tests/testthat/_snaps/fda-fig_14/fig_14_theme.svg create mode 100644 tests/testthat/_snaps/fda-table_36.md create mode 100644 tests/testthat/_snaps/fda-table_38.md create mode 100644 tests/testthat/setup-options.R create mode 100644 tests/testthat/test-fda-fig_14.R create mode 100644 tests/testthat/test-fda-table_36.R create mode 100644 tests/testthat/test-fda-table_38.R diff --git a/.github/ISSUE_TEMPLATE/new_template.yml b/.github/ISSUE_TEMPLATE/new_template.yml index 6b4bb6e9..9880828e 100644 --- a/.github/ISSUE_TEMPLATE/new_template.yml +++ b/.github/ISSUE_TEMPLATE/new_template.yml @@ -57,4 +57,3 @@ body: - [ ] **Screenshot:** Add table screenshot as `table_XX.png` to the `quarto/assets/images/screenshots` folder. - [ ] **_quarto.yml:** Add template to the "Template Library" section of the `_quarto.yml` file. - [ ] **Template Index:** Run `quarto/assets/generate-template_index.R` script to update the template index. - - [ ] **NEWS:** Update `NEWS.md`. diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3098d6f6..bc75cfbd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ # R specific hooks: https://github.com/lorenzwalthert/precommit repos: - repo: https://github.com/lorenzwalthert/precommit - rev: v0.4.0 + rev: v0.4.2 hooks: - id: style-files args: [--style_pkg=styler, --style_fun=tidyverse_style] @@ -50,7 +50,7 @@ repos: hooks: - id: prettier - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.6.0 hooks: - id: check-added-large-files args: ["--maxkb=200"] @@ -76,6 +76,6 @@ repos: files: '\.Rhistory|\.RData|\.Rds|\.rds$' # `exclude: ` to allow committing specific files. - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.38.0 + rev: v0.39.0 hooks: - id: markdownlint diff --git a/DESCRIPTION b/DESCRIPTION index 8045115e..611c7918 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Type: Package Package: falcon Title: FDA Safety Tables and Figures -Version: 0.1.0.9053 -Date: 2024-01-25 +Version: 0.1.0.9055 +Date: 2024-04-24 Authors@R: person("Pawel", "Rucki", , "pawel.rucki@roche.com", role = c("aut", "cre")) Description: R package with implementation of Safety Tables and Figures @@ -12,12 +12,12 @@ URL: https://github.com/pharmaverse/falcon/ BugReports: https://github.com/pharmaverse/falcon/issues Depends: R (>= 3.6), - tern (>= 0.9.3) + tern (>= 0.9.4) Imports: checkmate, cowplot (>= 0.7.0), dplyr, - formatters (>= 0.5.5), + formatters (>= 0.5.6), ggplot2 (>= 3.4.0), gt, gtsummary, @@ -25,8 +25,8 @@ Imports: magrittr, purrr (>= 1.0.1), rlang (>= 0.4.11), - rlistings (>= 0.2.7), - rtables (>= 0.6.6), + rlistings (>= 0.2.8), + rtables (>= 0.6.7), tfrmt, tidyr, Tplyr @@ -34,7 +34,8 @@ Suggests: knitr, random.cdisc.data (>= 0.3.14), svglite (>= 2.1.2), - testthat (>= 3.0.0) + testthat (>= 3.0.0), + withr (>= 2.0.0) Remotes: insightsengineering/random.cdisc.data@*release biocViews: diff --git a/NAMESPACE b/NAMESPACE index 984bbc92..b19cae96 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,6 +4,7 @@ export(alt_counts_df_preproc) export(basic_table_annot) export(make_fig_01) export(make_fig_02) +export(make_fig_14) export(make_table_02) export(make_table_02_gtsum) export(make_table_02_tplyr) @@ -15,6 +16,7 @@ export(make_table_07) export(make_table_08) export(make_table_09) export(make_table_09_gtsum) +export(make_table_09_tplyr) export(make_table_10) export(make_table_11) export(make_table_12) @@ -30,10 +32,14 @@ export(make_table_22) export(make_table_32) export(make_table_32_gtsum) export(make_table_33) +export(make_table_33_gtsum) export(make_table_34) export(make_table_35) +export(make_table_36) +export(make_table_38) export(split_cols_by_arm) import(Tplyr) +import(checkmate) import(dplyr) import(ggplot2) import(gt) @@ -52,8 +58,11 @@ importFrom(rlang,":=") importFrom(rlang,.data) importFrom(rlistings,as_listing) importFrom(stats,median) +importFrom(stats,prop.test) +importFrom(stats,qt) importFrom(stats,quantile) importFrom(stats,sd) +importFrom(stats,setNames) importFrom(tidyr,pivot_longer) importFrom(tidyr,pivot_wider) importFrom(tidyr,separate_rows) diff --git a/NEWS.md b/NEWS.md index dab9429e..56a15d2c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,21 +1,3 @@ -# falcon 0.1.0.9053 +# falcon 0.1.0.9055 -### New Features -* Added new functions for creating standard FDA tables: `make_table_02`, `make_table_03`, `make_table_04`, `make_table_05`, - `make_table_06`, `make_table_07`, `make_table_08`, `make_table_09`, `make_table_10`, `make_table_11`, `make_table_12`, - `make_table_13`, `make_table_14`, `make_table_15`, `make_table_16`, `make_table_17`, `make_table_18`, `make_table_20`, - `make_table_21`, `make_table_22`, `make_table_32`, `make_table_33`, `make_table_34`, `make_table_35`. -* Added new functions for creating standard FDA figures: `make_fig_01`, `make_fig_02`. -* Added helper functions used within table functions: - * `basic_table_annot` for adding basic table annotations (titles, footnotes, column counts). - * `split_cols_by_arm` for splitting columns by arm with option to add total column. - * `alt_counts_df_preproc` for pre-processing the `alt_counts_df` dataset. - * `assert_flag_variables` (internal) for checking that formatting is correct for flag variables in the data. -* Added new functions for creating standard FDA tables using additional packages: `make_table_02_tplyr`, `make_table_02_gtsum`, - `make_table_09_gtsum`, `make_table_32_gtsum`. -* Added option to include risk difference columns in tables using the `split_cols_by_arm` function via the `risk_diff` argument. -* Added risk difference functionality into relevant table-generating functions via the `risk_diff` argument. - -### Miscellaneous -* Initialized the package. -* Developed Quarto website. +* Initial release. diff --git a/R/argument_convention.R b/R/argument_convention.R index cacfa2e0..99e74d7d 100644 --- a/R/argument_convention.R +++ b/R/argument_convention.R @@ -2,6 +2,34 @@ #' #' This documentation lists all the arguments in `falcon` that are used repeatedly by functions to output tables. #' +#' @param show_colcounts (`flag`)\cr Whether column counts should be printed. Boolean. +#' @param arm_var (`character`)\cr Name of the treatment arm variable used to split table into columns. +#' @param id_var (`character`)\cr Name of the unique subject identifiers variable. +#' @param saffl_var (`character`)\cr Name of the safety flag variable which must contain at least "Y" for "Yes". +#' @param ser_var (`character`)\cr Name of the serious adverse event flag variable which must contain at least +#' "Y" for "Yes". +#' @param lbl_overall (`character`)\cr Optional. If specified, an overall column will be added to the table with +#' the given value as the column label. +#' @param vars (`vector` of `character`)\cr Variables from `df` to include in the table. +#' @param lbl_vars (`vector` of `character`)\cr Labels corresponding to variables in `vars` to print +#' in the table. Labels should be ordered according to the order of variables in `vars`. +#' @param pref_var (`character`)\cr Name of the preferred term variable from `adae` to include in the table. +#' @param soc_var (`character`)\cr Name of the system organ class variable from `adae` to include in the table. +#' @param lbl_pref_var (`character`)\cr Label corresponding to preferred term variable `pref_var` to print in the table. +#' @param lbl_soc_var (`character`)\cr Label corresponding to system organ class variable `soc_var` to print in the +#' table. +#' @param .stats (`character`)\cr Statistics to include in the table. Includes statistics for all variable +#' types (only the statistics that are valid for a given variable's type will be printed). +#' See [`tern::analyze_vars()`] for options. +#' @param .formats (named `list` of `character`)\cr List of formats corresponding to each value in `.stats`. +#' Each name is a value in `.stats` and the corresponding value is the format that should be applied to +#' that statistic. See [`formatters::list_valid_format_labels()`] for a list of valid formats. +#' @param na_rm (`flag`)\cr Whether `NA` levels should be removed from the table. +#' @param prune_0 (`flag`)\cr Whether all-zero rows should be removed from the table. Boolean. +#' @param annotations (named `list` of `character`)\cr List of annotations to add to the table. Valid +#' annotation types are `title`, `subtitles`, `main_footer`, and `prov_footer`. Each name-value pair should +#' use the annotation type as name and the desired string as value. +#' @param na_level (`character`)\cr String to represent missing values. #' @param adae (`data.frame`)\cr dataset (typically ADAE) required to build table. #' @param adex (`data.frame`)\cr dataset (typically ADEX) required to build table. #' @param advs (`data.frame`)\cr dataset (typically ADVS) required to build table. @@ -10,7 +38,6 @@ #' @param annotations (named `list` of `character`)\cr list of annotations to add to the table. Valid #' annotation types are `title`, `subtitles`, `main_footer`, and `prov_footer`. Each name-value pair should #' use the annotation type as name and the desired string as value. -#' @param arm_var (`character`)\cr arm variable used to split table into columns. #' @param df (`data.frame`)\cr dataset required to build table. #' @param eosdy_var (`character`)\cr variable denoting last recorded (relative) study day. #' @param fmqsc_var (`character`)\cr FMQ scope variable to use in table. @@ -27,8 +54,6 @@ #' in the table. Labels should be ordered according to the order of variables in `vars`. #' @param na_level (`character`)\cr string to represent missing values. #' @param na_rm (`flag`)\cr whether `NA` levels should be removed from the table. -#' @param pref_var (`character`)\cr preferred term variable from `adae` to include in the table. -#' @param prune_0 (`flag`)\cr whether all-zero rows should be removed from the table. #' @param risk_diff (named `list`)\cr list of settings to apply to add one or more risk difference columns to the table. #' Defaults to `NULL` (no risk difference column added). See [tern::add_riskdiff()] for more details. List should #' contain the following elements: @@ -41,16 +66,16 @@ #' * `pct`: (optional) whether the output should be returned as percentages. Defaults to `TRUE`. #' @param saffl_var (`character`)\cr flag variable used to indicate inclusion in safety population. #' @param sex_scope (`character`)\cr Level of `SEX` to output in table. -#' @param soc_var (`character`)\cr flag variable used to indicate system organ class. -#' @param show_colcounts (`flag`)\cr whether column counts should be printed. -#' @param trtsdtm_var (`character`)\cr treatment start datetime variable. #' @param trtedtm_var (`character`)\cr treatment end datetime variable. +#' @param trtemfl_var (`character`)\cr flag variable used to identify Treatment-emergent AE. +#' @param trtsdtm_var (`character`)\cr treatment start datetime variable. #' @param u_trtdur (`character`)\cr unit for duration of treatment. Options are `"days"`, `"weeks"`, `"months"`, #' and `"years"`. -#' @param vars (`vector` of `character`)\cr variables from `df` to include in the table. #' @param xticks (`vector` of `numeric`)\cr x-axis tick positions. If `NA` (default), tick mark positions are #' automatically calculated. #' @param x_lab (`character`)\cr x-axis label. +#' @param yticks (`vector` of `numeric`)\cr y-axis tick positions. If `NA` (default), tick mark positions are +#' automatically calculated. #' @param y_lab (`character`)\cr y-axis label. #' #' @name argument_convention diff --git a/R/falcon.R b/R/falcon.R index 1562460b..8a7d2627 100644 --- a/R/falcon.R +++ b/R/falcon.R @@ -5,12 +5,11 @@ #' @keywords internal "_PACKAGE" - -#' @import dplyr ggplot2 gt gtsummary rtables tern tfrmt Tplyr +#' @import dplyr ggplot2 checkmate gt gtsummary rtables tern tfrmt Tplyr #' @importFrom rlang .data := #' @importFrom magrittr %>% #' @importFrom purrr walk -#' @importFrom stats median sd quantile +#' @importFrom stats median sd quantile prop.test qt setNames #' @importFrom tidyr pivot_longer separate_rows pivot_wider #' @importFrom formatters with_label var_labels var_relabel #' @importFrom rlistings as_listing @@ -24,5 +23,6 @@ utils::globalVariables(c( "MAX_DIABP", "MAX_SYSBP", "PARAMCD", "SEX", "TRTDUR", "TRTDUR_MONTHS", "TRTEDT", "ASER", "DCTREAS", "EOSSTT", "EOTSTT", "ITTFL", "PPROTFL", "RANDFL", "TRTEMFL", "TRTSDT", "USUBJID", "column", "median", "ord_layer_1", "ord_layer_2", "ord_layer_index", "param", "pct", "row_label1", "row_label2", "sd", "tbl_lbl", "value", - "ENRLDT", "RANDDT", "G110", "G60", "G90", "GE120", "L60", "N", "val", "id_var", "PT_PCT", "arm", "x", "TLSTFU" + "ENRLDT", "RANDDT", "G110", "G60", "G90", "GE120", "L60", "N", "val", "id_var", "PT_PCT", "arm", "x", "TLSTFU", + "se", "lower_ci", "upper_ci", "SBP90", "DBP60" )) diff --git a/R/fda-fig_01.R b/R/fda-fig_01.R index fc2583b5..623744cb 100644 --- a/R/fda-fig_01.R +++ b/R/fda-fig_01.R @@ -39,8 +39,8 @@ make_fig_01 <- function(df, ggtheme = NULL, add_table = TRUE, annotations = NULL) { - checkmate::assert_subset(c(arm_var, id_var, saffl_var, trtsdtm_var, trtedtm_var), names(df)) - checkmate::assert_choice(u_trtdur, c("days", "weeks", "months", "years")) + assert_subset(c(arm_var, id_var, saffl_var, trtsdtm_var, trtedtm_var), names(df)) + assert_choice(u_trtdur, c("days", "weeks", "months", "years")) assert_flag_variables(df, saffl_var) df <- df %>% @@ -82,7 +82,10 @@ make_fig_01 <- function(df, if (!is.null(ggtheme)) g <- g + ggtheme if (add_table) { - g_legend <- cowplot::get_legend(g) + # following 2 lines replace `g_legend <- cowplot::get_legend(g)` which is currently broken + legend_pos <- paste0("guide-box-", ifelse(is.null(ggtheme), "bottom", ggtheme$legend.position)) + g_legend <- cowplot::get_plot_component(g, legend_pos, return_all = TRUE) + g <- g + theme(legend.position = "none") xtick_lbls <- ggplot_build(g)$layout$panel_params[[1]]$x$breaks diff --git a/R/fda-fig_02.R b/R/fda-fig_02.R index 94039f1f..7486ffe9 100644 --- a/R/fda-fig_02.R +++ b/R/fda-fig_02.R @@ -37,8 +37,8 @@ make_fig_02 <- function(df, ggtheme = NULL, add_table = TRUE, annotations = NULL) { - checkmate::assert_subset(c(arm_var, id_var, saffl_var, eosdy_var), names(df)) - checkmate::assert_choice(u_trtdur, c("days", "weeks", "months", "years")) + assert_subset(c(arm_var, id_var, saffl_var, eosdy_var), names(df)) + assert_choice(u_trtdur, c("days", "weeks", "months", "years")) assert_flag_variables(df, saffl_var) df <- df %>% @@ -80,7 +80,10 @@ make_fig_02 <- function(df, if (!is.null(ggtheme)) g <- g + ggtheme if (add_table) { - g_legend <- cowplot::get_legend(g) + # following 2 lines replace `g_legend <- cowplot::get_legend(g)` which is currently broken + legend_pos <- paste0("guide-box-", ifelse(is.null(ggtheme), "bottom", ggtheme$legend.position)) + g_legend <- cowplot::get_plot_component(g, legend_pos, return_all = TRUE) + g <- g + theme(legend.position = "none") xtick_lbls <- ggplot_build(g)$layout$panel_params[[1]]$x$breaks diff --git a/R/fda-fig_14.R b/R/fda-fig_14.R new file mode 100644 index 00000000..ad5783f8 --- /dev/null +++ b/R/fda-fig_14.R @@ -0,0 +1,186 @@ +#' FDA Figure 14: Mean and 95% Confidence Interval of Systolic Blood Pressure Over Time +#' by Treatment Arm, Safety Population, Trial X +#' +#' @details +#' * `df` must contain the variables `AVAL` and `PARAMCD`, and the variables specified by `arm_var`, +#' `saffl_var`, `visit_var`, and `add_cond`. +#' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in +#' flag variables are treated as `"N"`. +#' * It is assumed that `df` contains one unique record per patient. +#' +#' @inheritParams argument_convention +#' @param add_table (`flag`)\cr whether "Mean Value" and "Number of Patients" tables should be printed under the plot +#' @param visit_var (`character`)\cr visit variable to put on the x-axis +#' @param paramcd_val (`character`)\cr value of `PARAMCD` to plot +#' @param add_cond (`expr`)\cr expression that provides additional filters for the analysis +#' (for instance on `ATPT` or `VSPOS`) +#' @param annotations (named `list` of `character`)\cr list of annotations to add to the figure. Valid annotation types +#' are `title`, `subtitles`, and `caption`. Each name-value pair should use the annotation type as name and the +#' desired string as value. +#' +#' @return A `ggplot2` object. +#' +#' @examples +#' advs <- random.cdisc.data::cadvs +#' +#' fig <- make_fig_14( +#' df = advs, +#' add_cond = bquote("ONTRTFL == 'Y' | ABLFL == 'Y'"), +#' add_table = TRUE, +#' yticks = c(135, 140, 145, 150, 155, 160) +#' ) +#' fig +#' +#' @export +make_fig_14 <- function(df, + arm_var = "ARM", + saffl_var = "SAFFL", + visit_var = "AVISIT", + paramcd_val = "SYSBP", + add_cond = NULL, + x_lab = "", + y_lab = NULL, + yticks = NA, + ggtheme = NULL, + add_table = TRUE, + annotations = NULL) { + assert_subset(c(arm_var, saffl_var, visit_var), names(df)) + assert_flag_variables(df, saffl_var) + + df <- df %>% + as_tibble() %>% + filter( + .data[[saffl_var]] == "Y", + PARAMCD == {{ paramcd_val }}, + !is.na(AVAL) + ) %>% + df_explicit_na() + + if (!(is.null({{ add_cond }}))) { + df <- df %>% + filter(!!rlang::parse_expr(add_cond)) + } + + if (is.null({{ y_lab }})) { + y_param <- unique(df$PARAM) + y_avalu <- unique(df$AVALU) + + y_lab <- paste0("Mean Value (95% CI)", "\n", y_param, " (", y_avalu, ")") + } + + df <- df %>% + group_by(!!sym(arm_var), !!sym(visit_var), .drop = TRUE) %>% + summarise( + mean = mean(AVAL, na.rm = TRUE), + sd = sd(AVAL, na.rm = TRUE), + n = n() + ) %>% + mutate( + se = sd / sqrt(n), + lower_ci = mean - qt(1 - (0.05 / 2), n - 1) * se, + upper_ci = mean + qt(1 - (0.05 / 2), n - 1) * se + ) %>% + ungroup() + + g <- + ggplot( + data = df, + aes( + x = !!sym(visit_var), + y = mean, + group = .data[[arm_var]], + color = .data[[arm_var]] + ) + ) + + geom_point(position = position_dodge(width = 0.5)) + + geom_line(position = position_dodge(width = 0.5)) + + geom_errorbar( + aes( + ymin = lower_ci, + ymax = upper_ci + ), + position = position_dodge(width = 0.5) + ) + + labs( + title = annotations[["title"]], + subtitle = annotations[["subtitle"]], + caption = annotations[["caption"]], + x = x_lab, + y = y_lab + ) + + theme( + legend.position = "bottom", + legend.title = element_blank(), + plot.margin = unit(c(0.05, 0.05, 0, 0.025), "npc") + ) + + if (any(!is.na(yticks))) { + g <- g + + scale_y_continuous(breaks = yticks, limits = c(min(yticks), max(yticks))) + } + + if (!is.null(ggtheme)) g <- g + ggtheme + + if (add_table) { + # following 2 lines replace `g_legend <- cowplot::get_legend(g)` which is currently broken + legend_pos <- paste0("guide-box-", ifelse(is.null(ggtheme), "bottom", ggtheme$legend.position)) + g_legend <- cowplot::get_plot_component(g, legend_pos, return_all = TRUE) + + g <- g + theme(legend.position = "none") + + tbl_n <- df %>% + mutate(meanr = sprintf("%.1f", mean)) %>% + arrange(desc(!!sym(arm_var))) + + g_tbl1 <- ggplot(tbl_n, aes(x = !!sym(visit_var), y = !!sym(arm_var))) + + theme( + axis.title.x = element_blank(), + axis.title.y = element_blank(), + axis.ticks.x = element_blank(), + axis.ticks.y = element_blank(), + panel.background = element_blank(), + axis.text.x = element_blank(), + panel.border = element_rect(color = "black", fill = NA, linewidth = 0.5), + plot.margin = unit(c(0.1, 0.05, 0, 0.025), "npc"), + plot.title = element_text(size = 10) + ) + + labs(title = "Mean Value") + + for (i in seq_len(nrow(tbl_n))) { + g_tbl1 <- g_tbl1 + + annotate("text", label = as.character(tbl_n$meanr[i]), x = tbl_n[[visit_var]][i], y = tbl_n[[arm_var]][i]) + } + + g_tbl2 <- ggplot(tbl_n, aes(x = !!sym(visit_var), y = !!sym(arm_var))) + + theme( + axis.title.x = element_blank(), + axis.title.y = element_blank(), + axis.ticks.x = element_blank(), + axis.ticks.y = element_blank(), + panel.background = element_blank(), + axis.text.x = element_blank(), + panel.border = element_rect(color = "black", fill = NA, linewidth = 0.2), + plot.margin = unit(c(0.1, 0.05, 0, 0.025), "npc"), + plot.title = element_text(size = 10) + ) + + labs(title = "Number of Patients with Data") + + for (i in seq_len(nrow(tbl_n))) { + g_tbl2 <- g_tbl2 + + annotate("text", label = as.character(tbl_n$n[i]), x = tbl_n[[visit_var]][i], y = tbl_n[[arm_var]][i]) + } + + cowplot::plot_grid( + g, + g_tbl1, + g_tbl2, + g_legend, + align = "v", + axis = "l", + ncol = 1, + rel_heights = c(0.60, 0.15, 0.15, 0.1) + ) + } else { + g + } +} diff --git a/R/fda-table_02.R b/R/fda-table_02.R index d1b70f47..e9ce5cdb 100644 --- a/R/fda-table_02.R +++ b/R/fda-table_02.R @@ -47,7 +47,7 @@ make_table_02 <- function(df, na_rm = FALSE, prune_0 = TRUE, annotations = NULL) { - checkmate::assert_subset(c(vars, arm_var, saffl_var), names(df)) + assert_subset(c(vars, arm_var, saffl_var), names(df)) assert_flag_variables(df, saffl_var) df <- df %>% @@ -104,7 +104,7 @@ make_table_02_tplyr <- function(df, prune_0 = TRUE, annotations = NULL, tplyr_raw = FALSE) { - checkmate::assert_subset(c(saffl_var, vars, arm_var), names(df)) + assert_subset(c(saffl_var, vars, arm_var), names(df)) assert_flag_variables(df, saffl_var) df <- df %>% df_explicit_na() @@ -264,7 +264,7 @@ make_table_02_gtsum <- function(df, lbl_vars = formatters::var_labels(df, fill = TRUE)[vars], lbl_overall = "Total Population", na_rm = FALSE) { - checkmate::assert_subset(c(vars, arm_var, saffl_var), names(df)) + assert_subset(c(vars, arm_var, saffl_var), names(df)) assert_flag_variables(df, saffl_var) df <- df %>% @@ -286,7 +286,7 @@ make_table_02_gtsum <- function(df, ), digits = all_continuous() ~ 1, missing = ifelse(na_rm, "no", "ifany"), - label = as.list(lbl_vars) %>% stats::setNames(vars) + label = as.list(lbl_vars) %>% setNames(vars) ) %>% gtsummary::bold_labels() %>% modify_header(all_stat_cols() ~ "**{level}** \nN = {n}") %>% diff --git a/R/fda-table_03.R b/R/fda-table_03.R index 389a5031..c4ab0ca1 100644 --- a/R/fda-table_03.R +++ b/R/fda-table_03.R @@ -54,7 +54,7 @@ make_table_03 <- function(df, lbl_overall = NULL, prune_0 = TRUE, annotations = NULL) { - checkmate::assert_subset( + assert_subset( c(id_var, scrnfl_var, scrnfailfl_var, scrnfail_var, "ENRLDT", "RANDDT", arm_var), names(df) ) assert_flag_variables(df, c(scrnfl_var, scrnfailfl_var)) diff --git a/R/fda-table_04.R b/R/fda-table_04.R index 6411388a..9fcda584 100644 --- a/R/fda-table_04.R +++ b/R/fda-table_04.R @@ -51,7 +51,7 @@ make_table_04 <- function(df, prune_0 = FALSE, risk_diff = NULL, annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( id_var, arm_var, pop_vars, "EOTSTT", "DCTREAS", "EOSSTT", "DCSREAS" ), names(df)) diff --git a/R/fda-table_05.R b/R/fda-table_05.R index 9c486824..97defa17 100644 --- a/R/fda-table_05.R +++ b/R/fda-table_05.R @@ -37,8 +37,8 @@ make_table_05 <- function(df, risk_diff = NULL, prune_0 = FALSE, annotations = NULL) { - checkmate::assert_subset(c(id_var, arm_var, saffl_var, id_var, trtsdtm_var, trtedtm_var), names(df)) - checkmate::assert_choice(u_trtdur, c("days", "weeks", "months", "years")) + assert_subset(c(id_var, arm_var, saffl_var, id_var, trtsdtm_var, trtedtm_var), names(df)) + assert_choice(u_trtdur, c("days", "weeks", "months", "years")) assert_flag_variables(df, saffl_var) df <- df %>% diff --git a/R/fda-table_06.R b/R/fda-table_06.R index 51456277..e295b017 100644 --- a/R/fda-table_06.R +++ b/R/fda-table_06.R @@ -33,7 +33,7 @@ make_table_06 <- function(adae, risk_diff = NULL, prune_0 = FALSE, annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "TRTEMFL", "AESEV", "AESER", "AESDTH", "AESLIFE", "AESHOSP", "AESDISAB", "AESCONG", "AESMIE", "AEACN", arm_var, id_var, saffl_var ), names(adae)) diff --git a/R/fda-table_07.R b/R/fda-table_07.R index 8bee9e78..d10a4108 100644 --- a/R/fda-table_07.R +++ b/R/fda-table_07.R @@ -39,7 +39,7 @@ make_table_07 <- function(adae, prune_0 = TRUE, na_level = "MISSING", annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "TRTEMFL", "DTHFL", "DTHCAUS", arm_var, id_var, saffl_var ), names(adae)) assert_flag_variables(adae, c(saffl_var, "TRTEMFL", "DTHFL"), na_level = na_level) diff --git a/R/fda-table_08.R b/R/fda-table_08.R index ff28eaca..2ac3a8c7 100644 --- a/R/fda-table_08.R +++ b/R/fda-table_08.R @@ -32,10 +32,10 @@ make_table_08 <- function(adae, lbl_dth_vars = c("Cause of Death\nMedDRA\nPreferred Term", "Cause of Death\nVerbatim Term"), na_level = "NA", annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "AGE", "SEX", "AESDTH", "DTHADY", dth_vars, arm_var, id_var, saffl_var ), names(adae)) - checkmate::assert_subset(c( + assert_subset(c( saffl_var, id_var, "PARAMCD", "TRTSDT", "TRTEDT", "AVAL", "AVALU" ), names(adex)) assert_flag_variables(adae, saffl_var) diff --git a/R/fda-table_09.R b/R/fda-table_09.R index 016c47bd..d1462d36 100644 --- a/R/fda-table_09.R +++ b/R/fda-table_09.R @@ -1,6 +1,14 @@ #' FDA Table 9: Patients With Serious Adverse Events by System Organ Class and Preferred Term, #' Safety Population, Pooled Analyses #' +#' @inheritParams argument_convention +#' +#' @name make_table_09 +NULL + + +#' @describeIn make_table_09 Create FDA table 9 using functions from `rtables` and `tern`. +#' #' @details #' * `adae` must contain `AESER`, `AESOC`, and the variables specified by `pref_var`, `id_var`, `arm_var`, #' and `saffl_var`. @@ -11,7 +19,8 @@ #' * Numbers in table represent the absolute numbers of patients and fraction of `N`. #' * All-zero rows are removed by default (see `prune_0` argument). #' -#' @inheritParams argument_convention +#' @return +#' * `make_table_09` returns an `rtables` table object. #' #' @return An `rtable` object. #' @@ -35,7 +44,7 @@ make_table_09 <- function(adae, risk_diff = NULL, prune_0 = TRUE, annotations = NULL) { - checkmate::assert_subset(c("AESER", "AESOC", arm_var, id_var, saffl_var, pref_var), names(adae)) + assert_subset(c("AESER", "AESOC", arm_var, id_var, saffl_var, pref_var), names(adae)) assert_flag_variables(adae, saffl_var) adae <- adae %>% @@ -76,11 +85,252 @@ make_table_09 <- function(adae, tbl } -#' Function to create FDA Table 9: Patients With Serious Adverse Events -#' by System Organ Class and Preferred Term, -#' Safety Population, Pooled Analyses with /code{gt} +#' @describeIn make_table_09 Create FDA table 9 using functions from `Tplyr`. +#' +#' @param risk_diff_pairs (`list` of `character` vectors)\cr Optional. List of character vectors. Each vector must be +#' of length 2 and contain the name of treatment arms to calculate risk difference and its 95% CI for. Those names +#' must exist in the `arm_var` column of the dataset specified in `adae`. +#' @param tplyr_raw (`flag`)\cr Boolean. Indicates whether the raw `tibble` created using `Tplyr` functions should be +#' returned or a presentation ready `gt_table` (default). +#' +#' @details +#' For `make_table_09_tplyr()` +#' * `adae` must contain the variables specified by `id_var`, `arm_var`, `saffl_var`, `ser_var`, `soc_var`, and +#' `pref_var`. +#' * If specified, `alt_counts_df` must contain the variables specified by `id_var`, `saffl_var`, and `arm_var`. +#' * Flag variables are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in +#' flag variables are treated as `"N"`. +#' * Columns are split by the variable specified in `arm_var`. Overall population column is excluded by default +#' (see `lbl_overall` argument). +#' * Numbers in the table represent the absolute numbers of patients and fraction of `N` (total number of patient in +#' the safety population. +#' * All-zero rows are removed by default (see `prune_0` argument). +#' * Risk difference is calculated by using the default functionality of `Tplyr::add_risk_diff()` +#' +#' +#' @note +#' * `make_table_09_tplyr()` does not support annotations in case `tplyr_raw = TRUE`. +#' * `make_table_09_tplyr()` raises a warning in case `pref_var` or `soc_var` is a factor. Those can safely be ignored. +#' * `make_table_09_tplyr()` does not explicitly handle missings. +#' +#' @return +#' * `make_table_09_tplyr()` returns a `gt_tbl` object when `tplyr_raw = FALSE` (default) and +#' a `tibble` object when `tplyr_raw = TRUE`. +#' +#' @examples +#' adsl <- random.cdisc.data::cadsl +#' adae <- random.cdisc.data::cadae #' +#' # Basic table +#' make_table_09_tplyr(adae = adae, alt_counts_df = adsl) +#' +#' # Activate risk difference column +#' rd_pairs <- list(c("A: Drug X", "B: Placebo"), c("A: Drug X", "C: Combination")) +#' make_table_09_tplyr(adae = adae, alt_counts_df = adsl, risk_diff_pairs = rd_pairs) +#' +#' # Add overall column +#' make_table_09_tplyr(adae = adae, alt_counts_df = adsl, lbl_overall = "Total patients") +#' +#' # Add titles and footnotes +#' annot <- list( +#' title = "Table 9. Patients with Serious Adverse Events by SOC and PT, Safety Population, +#' Pooled Analyses", +#' subtitles = c("Only one title, but", "multiple subtitles possible"), +#' main_footer = c("Main footer 1", "Main footer 2"), +#' prov_footer = c("Some more information", "E.g. a source note") +#' ) +#' make_table_09_tplyr(adae = adae, alt_counts_df = adsl, annotations = annot) +#' +#' @export +make_table_09_tplyr <- function( + adae, + alt_counts_df = NULL, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + ser_var = "AESER", + soc_var = "AESOC", + pref_var = "AEDECOD", + lbl_soc_var = "System Organ Class", + lbl_pref_var = "Reported Term for Adverse Event", + risk_diff_pairs = NULL, + show_colcounts = TRUE, + lbl_overall = NULL, + prune_0 = TRUE, + tplyr_raw = FALSE, + annotations = NULL) { + # Set instructions to activate/deactivate table components + add_alt_counts <- ifelse(!is.null(alt_counts_df), TRUE, FALSE) + add_overall_col <- ifelse(!is.null(lbl_overall), TRUE, FALSE) + add_rd_col <- ifelse(!is.null(risk_diff_pairs), TRUE, FALSE) + add_title <- ifelse(!is.null(annotations[["title"]]), TRUE, FALSE) + add_subtitles <- ifelse(!is.null(annotations[["subtitles"]]), TRUE, FALSE) + add_footnotes <- ifelse(!is.null(annotations[["main_footer"]]), TRUE, FALSE) + add_source_notes <- ifelse(!is.null(annotations[["prov_footer"]]), TRUE, FALSE) + + # Check validity of input parameters + assert_data_frame(adae) + assert_string(id_var) + assert_string(arm_var) + assert_string(saffl_var) + assert_string(ser_var) + assert_string(soc_var) + assert_string(pref_var) + assert_subset(c(id_var, arm_var, saffl_var, ser_var, soc_var, pref_var), names(adae)) + assert_data_frame(alt_counts_df, null.ok = TRUE) + if (add_alt_counts) assert_subset(c(id_var, arm_var), names(alt_counts_df)) + assert_string(lbl_overall, null.ok = TRUE) + assert_string(lbl_pref_var, null.ok = TRUE) + assert_string(lbl_soc_var, null.ok = TRUE) + assert_list(risk_diff_pairs, types = "character", null.ok = TRUE) + if (add_rd_col) { + lapply(risk_diff_pairs, assert_vector, len = 2, any.missing = FALSE) + lapply(risk_diff_pairs, function(vec) assert_true(all(vec %in% adae[[arm_var]]))) + } + assert_logical(show_colcounts, len = 1) + assert_logical(prune_0, len = 1) + assert_logical(tplyr_raw, len = 1) + assert_list(annotations, types = "character", null.ok = TRUE) + if (!is.null(annotations)) { + assert_names(names(annotations), subset.of = c("title", "subtitles", "main_footer", "prov_footer")) + } + + # Initialize column headers - + # Allow for both, character and factor. The advantage of the latter is that users have control about the order + arm_names <- if (is.factor(adae[[arm_var]])) levels(adae[[arm_var]]) else unique(as.character(adae[[arm_var]])) + + header_string <- paste0( + paste0(lbl_soc_var, " \n ", lbl_pref_var, "|"), # \\line + paste0( + if (show_colcounts) { # paste total counts to arm names + paste(arm_names, "\n(N=**", arm_names, "**)", sep = "") + } else { # use only arm names + arm_names + }, + collapse = "|" + ) # \\line + ) + + # Initiate table structure + structure <- Tplyr::tplyr_table( + adae, + treat_var = !!rlang::sym(arm_var), + where = (!!rlang::sym(saffl_var) == "Y" & !!rlang::sym(ser_var) == "Y") + ) + + # Use alternative counts if specified + if (add_alt_counts) { + structure <- structure %>% + Tplyr::set_pop_data(alt_counts_df) %>% + Tplyr::set_pop_where(TRUE) # takes all subjects as basis, not only those where !!rlang::sym(ser_var) == "Y"! + } + + # Add total column if specified + if (add_overall_col) { + structure <- structure %>% + Tplyr::add_total_group(group_name = lbl_overall) + + header_string <- paste0( + header_string, "|", lbl_overall, + if (show_colcounts) paste0("\n(N=**", lbl_overall, "**)") + ) + } + + # Create table layers + layer1 <- structure %>% + Tplyr::group_count("Any SAE") %>% + Tplyr::set_distinct_by(!!rlang::sym(id_var)) + + layer2 <- structure %>% + Tplyr::group_count(vars(!!sym(soc_var), !!sym(pref_var))) %>% + Tplyr::set_distinct_by(!!rlang::sym(id_var)) %>% + Tplyr::set_nest_count(TRUE) + + # Add risk difference column(s) if specified + if (add_rd_col) { + if (TRUE) { + warning("Risk difference is currently not supported for this function.") # due to {Tplyr} issue + } else { # park code until risk difference issue of {Tplyr} is fixed + layer1 <- do.call(Tplyr::add_risk_diff, args = append(list(layer = layer1), risk_diff_pairs)) + layer2 <- do.call(Tplyr::add_risk_diff, args = append(list(layer = layer2), risk_diff_pairs)) + + rd_part <- sapply(risk_diff_pairs, function(pair) paste("|RD:", paste0(pair, collapse = " - "))) + header_string <- paste0(header_string, paste0(rd_part, collapse = "")) + } + } + # Build table + table <- structure %>% + Tplyr::add_layers(layer1, layer2) %>% + Tplyr::build() %>% + suppressWarnings() # Artificially suppress Tplyr warning for nested factor variables + + # Remove "all zero"-rows if specified + if (prune_0) { + table <- table %>% + mutate(across(starts_with("var"), ~ gsub("[0()\\%\\. ]", "", .x), .names = "detect_0_{.col}")) %>% + filter(if_any(starts_with("detect_0"), ~ .x != "")) + } + + # Adapt column order to arm order + col_names <- names(table) + arm_col_names <- paste0("var1_", arm_names) + other_col_names <- col_names[!col_names %in% c(arm_col_names, "row_label1")] + + table <- table %>% + select(all_of(c("row_label1", arm_col_names, other_col_names))) %>% + mutate(ord_layer_2 = if_else(ord_layer_2 == Inf, 0, ord_layer_2)) # To avoid sorting of Inf in the next step + + # Clean-up table + table <- table %>% + arrange(ord_layer_index, ord_layer_1, ord_layer_2) %>% # refer to + # https://atorus-research.github.io/Tplyr/articles/post_processing.html#highly-customized-sort-variables + # for sorting according to occurrence in case this is required later + select(starts_with(c("row_label", "var", "rdiff"))) %>% + Tplyr::add_column_headers(s = header_string, header_n = Tplyr::header_n(structure)) + + if (tplyr_raw) { + return(table) + } + # else generate and return gt_tbl object as follows + + # Prepare for header row + lbl_stubhead <- paste(lbl_soc_var, "
  ", lbl_pref_var) + lbl_cols <- gsub("\n", "
", as.character(table[1, -1])) + names(lbl_cols) <- colnames(table)[-1] + + # Trim prepending blank spaces from preferred term variable values + pref_var_lvls <- unique(adae[[pref_var]]) + ind_prep_blank <- which(substr(pref_var_lvls, 1, 1) == " ") + trmd_pref_var_lvls <- pref_var_lvls + trmd_pref_var_lvls[ind_prep_blank] <- sub(" +", "", trmd_pref_var_lvls[ind_prep_blank]) + + gt_tbl <- table[-1, ] %>% # drop header row + mutate( + # remove prepending blank spaces since they are ignored by gt + row_label1 = if_else(substr(row_label1, 1, 1) == " ", sub(" +", "", row_label1), row_label1), + # remove blank space between opening bracket and percentage number + across(!row_label1, ~ sub("\\( +", "(", .x)) + ) %>% + gt(rowname_col = "row_label1") %>% + tab_stub_indent(any_of(trmd_pref_var_lvls), indent = 2) %>% + tab_stubhead(md(lbl_stubhead)) %>% + cols_label(.list = as.list(lbl_cols), .fn = md) %>% + tab_header( + title = if (add_title) md(annotations[["title"]]) else NULL, + subtitle = if (add_subtitles) md(paste(annotations[["subtitles"]], collapse = "
")) else NULL + ) %>% + tab_footnote( + if (add_footnotes) md(paste(annotations[["main_footer"]], collapse = "
")) else NULL + ) %>% + tab_source_note( + if (add_source_notes) md(paste(annotations[["prov_footer"]], collapse = "
")) else NULL + ) + + gt_tbl +} + #' @describeIn make_table_09 Create FDA table 9 using functions from `gt`. +#' #' @inheritParams argument_convention #' @param saffl_var (`character`)\cr safety population flag variable from `adae` to include in the table. #' @param ser_var (`character`)\cr serious Event variable from `adae` to include in the table. @@ -95,7 +345,7 @@ make_table_09 <- function(adae, #' must exist in the `arm_var` column of the dataset specified in `adae`. #' #' @return -#' * `make_table_32_gtsum` returns a `gt` object +#' * `make_table_09_gtsum` returns a `gt` object. #' #' @examples #' adsl <- random.cdisc.data::cadsl @@ -120,6 +370,7 @@ make_table_09 <- function(adae, #' risk_diff = risk_diff #' ) #' tbl +#' #' @export make_table_09_gtsum <- function(adae, alt_counts_df = NULL, @@ -135,19 +386,19 @@ make_table_09_gtsum <- function(adae, lbl_overall = NULL, annotations = NULL, risk_diff = NULL) { - checkmate::assert_data_frame(adae) - checkmate::assert_subset(c(saffl_var, id_var, ser_var, soc_var, arm_var, pref_var), names(adae)) + assert_data_frame(adae) + assert_subset(c(saffl_var, id_var, ser_var, soc_var, arm_var, pref_var), names(adae)) assert_flag_variables(adae, saffl_var) - checkmate::assert_factor(adae[[arm_var]]) + assert_factor(adae[[arm_var]]) if (!is.null(alt_counts_df)) { - checkmate::assert_data_frame(alt_counts_df) - checkmate::assert_subset(c(id_var, arm_var), names(alt_counts_df)) + assert_data_frame(alt_counts_df) + assert_subset(c(id_var, arm_var), names(alt_counts_df)) } - checkmate::assert_list(risk_diff, types = "character", null.ok = TRUE) + assert_list(risk_diff, types = "character", null.ok = TRUE) - checkmate::assert_logical(show_colcounts) + assert_logical(show_colcounts) adae <- adae %>% filter(.data[[saffl_var]] == "Y", .data[[ser_var]] == "Y") @@ -218,7 +469,6 @@ make_table_09_gtsum <- function(adae, cols_label_with(fn = set_col_labels) } - label <- paste(lbl_soc_var, "
  ", lbl_pref_var) gt_table <- gt_table %>% @@ -245,16 +495,26 @@ make_table_09_gtsum <- function(adae, gt_table } - -#' Helper function to create the data for `make_table09_gtsum()` -#' -#' @details If `lbl_overall` is not `NULL` only the data for the overall column will be generated +#' Helper functions used to construct FDA table 9 #' #' @inheritParams argument_convention #' @inheritParams make_table_09_gtsum #' -#' @return list containing the counted data to be displayed for table 9 and -#' a `data.frame` containing information about the total N for each group +#' @seealso [make_table_09()], [make_table_09_tplyr()], [make_table_09_gtsum()] +#' +#' @name h_make_table_09 +NULL + +#' @describeIn h_make_table_09 Helper function to create the data for [make_table_09_gtsum()]. +#' +#' @return +#' * `create_table_09_data` returns a list containing the counted data to be displayed for table 9 and +#' a `data.frame` containing information about the total N for each group. +#' +#' @details +#' * `create_table_09_data`: If `lbl_overall` is non-`NULL`, only the data for the overall column will be generated. +#' +#' @keywords internal create_table_09_data <- function( adae, alt_counts_df, @@ -322,13 +582,14 @@ create_table_09_data <- function( list(data = result_data, total_N = total_N) } -#' Helper function for `create_table_09_data()` -#' Used for counting subjects per group +#' @describeIn h_make_table_09 Helper function used to count subjects per group. #' -#' @inheritParams argument_convention -#' @param sub_level_vars (`NULL` or `character`) specifying the sub group for counted subjects +#' @param sub_level_vars (`character` or `NULL`) the subgroup for counted subjects. #' -#' @return A `data.frame` containing the number of subjects with `sub_level_vars` events +#' @return +#' * `count_subjects` returns a `data.frame` containing the number of subjects with `sub_level_vars` events. +#' +#' @keywords internal count_subjects <- function(adae, arm_var, id_var, sub_level_vars = NULL, lbl_overall = NULL, risk_diff = NULL) { grouping <- is.null(lbl_overall) if (grouping) { @@ -388,30 +649,35 @@ count_subjects <- function(adae, arm_var, id_var, sub_level_vars = NULL, lbl_ove count_data } - -#' Helper function to rename the combined columns +#' @describeIn h_make_table_09 Helper function to rename the combined columns. #' -#' @param x character vector containing all column names which start with "combined" +#' @param x (`character`)\cr vector containing all column names which start with "combined". #' +#' @return +#' * `renaming_function` returns a vector. +#' +#' @keywords internal renaming_function <- function(x) { sapply(x, function(y) { substr(y, 10, nchar(y)) }, simplify = TRUE) } - -#' helper function to calculate the risk difference for table 9 +#' @describeIn h_make_table_09 Helper function to calculate the risk difference for table 9. #' -#' @param x character vector containing all value for the first treatment -#' @param y character vector containing all value for the second treatment -#' @param n_x character vector containing for all values of x the corresponding N -#' @param n_y character vector containing for all values of y the corresponding N +#' @param x (`character`)\cr vector containing all values for the first treatment. +#' @param y (`character`)\cr vector containing all values for the second treatment. +#' @param n_x (`character`)\cr vector containing for all values of `x` the corresponding N. +#' @param n_y (`character`)\cr vector containing for all values of `y` the corresponding N. +#' +#' @return +#' * `calculate_riskdiff` returns a vector of characters containing the value for risk difference and +#' the corresponding 95% confidence interval. #' -#' @return vector of characters containing the value for risk difference and -#' the corresponding 95% Confidence interval in Brackets +#' @keywords internal calculate_riskdiff <- function(x, y, n_x, n_y) { sapply(seq_along(x), function(i) { - pt <- stats::prop.test(c(x[[i]], y[[i]]), c(n_x[[i]], n_y[[i]])) + pt <- prop.test(c(x[[i]], y[[i]]), c(n_x[[i]], n_y[[i]])) val <- format(pt$estimate[[1]] - pt$estimate[[2]], digits = 2, nsmall = 2) conf_int <- format(pt$conf.int, digits = 2, nsmall = 2) paste0(val, " (", conf_int[[1]], ", ", conf_int[[2]], ")") diff --git a/R/fda-table_10.R b/R/fda-table_10.R index 8371430d..e7711a80 100644 --- a/R/fda-table_10.R +++ b/R/fda-table_10.R @@ -50,11 +50,11 @@ make_table_10 <- function(adae, prune_0 = TRUE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "AEBODSYS", "AESER", arm_var, id_var, saffl_var, fmqsc_var, fmqnam_var ), names(adae)) assert_flag_variables(adae, c(saffl_var, "AESER")) - checkmate::assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) + assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) adae <- adae %>% filter(.data[[saffl_var]] == "Y", AESER == "Y", .data[[fmqsc_var]] == fmq_scope) %>% diff --git a/R/fda-table_11.R b/R/fda-table_11.R index a932b41c..333ab094 100644 --- a/R/fda-table_11.R +++ b/R/fda-table_11.R @@ -53,11 +53,11 @@ make_table_11 <- function(adae, prune_0 = TRUE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "AEBODSYS", "DCSREAS", arm_var, id_var, saffl_var, fmqsc_var, fmqnam_var ), names(adae)) assert_flag_variables(adae, saffl_var) - checkmate::assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) + assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) id_dcsae <- adae %>% filter(DCSREAS == "ADVERSE EVENT") %>% diff --git a/R/fda-table_12.R b/R/fda-table_12.R index 96e5acd6..a41810d6 100644 --- a/R/fda-table_12.R +++ b/R/fda-table_12.R @@ -37,7 +37,7 @@ make_table_12 <- function(adae, risk_diff = NULL, prune_0 = TRUE, annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "AEBODSYS", "DCSREAS", arm_var, id_var, saffl_var, pref_var ), names(adae)) assert_flag_variables(adae, saffl_var) diff --git a/R/fda-table_13.R b/R/fda-table_13.R index d2e6c507..663043d4 100644 --- a/R/fda-table_13.R +++ b/R/fda-table_13.R @@ -33,7 +33,7 @@ make_table_13 <- function(adae, lbl_overall = NULL, risk_diff = NULL, annotations = NULL) { - checkmate::assert_subset(c(id_var, arm_var, saffl_var, pref_var), names(adae)) + assert_subset(c(id_var, arm_var, saffl_var, pref_var), names(adae)) assert_flag_variables(adae, saffl_var) adae <- adae %>% diff --git a/R/fda-table_14.R b/R/fda-table_14.R index 904cc4e4..ea588715 100644 --- a/R/fda-table_14.R +++ b/R/fda-table_14.R @@ -39,7 +39,7 @@ make_table_14 <- function(adae, prune_0 = FALSE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( id_var, soc_var, arm_var, saffl_var, fmqsc_var, fmqnam_var ), names(adae)) assert_flag_variables(adae, saffl_var) diff --git a/R/fda-table_15.R b/R/fda-table_15.R index 76643f6a..a3305899 100644 --- a/R/fda-table_15.R +++ b/R/fda-table_15.R @@ -51,9 +51,9 @@ make_table_15 <- function(adae, prune_0 = TRUE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) + assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) assert_flag_variables(adae, saffl_var) - checkmate::assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) + assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) fmq_other_sexes <- unique(adae[adae[["SEX"]] != sex_scope, ][[fmqnam_var]]) adae <- adae %>% diff --git a/R/fda-table_16.R b/R/fda-table_16.R index c606a69a..2b482a22 100644 --- a/R/fda-table_16.R +++ b/R/fda-table_16.R @@ -51,9 +51,9 @@ make_table_16 <- function(adae, prune_0 = TRUE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) + assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) assert_flag_variables(adae, saffl_var) - checkmate::assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) + assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) fmq_other_sexes <- unique(adae[adae[["SEX"]] != sex_scope, ][[fmqnam_var]]) adae <- adae %>% diff --git a/R/fda-table_17.R b/R/fda-table_17.R index 45f48e00..5cfbb3ee 100644 --- a/R/fda-table_17.R +++ b/R/fda-table_17.R @@ -54,9 +54,9 @@ make_table_17 <- function(adae, prune_0 = TRUE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) + assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) assert_flag_variables(adae, saffl_var) - checkmate::assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) + assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) fmq_other_sexes <- unique(adae[adae[["SEX"]] != sex_scope, ][[fmqnam_var]]) adae <- adae %>% diff --git a/R/fda-table_18.R b/R/fda-table_18.R index 4a0278f1..a51b3178 100644 --- a/R/fda-table_18.R +++ b/R/fda-table_18.R @@ -54,9 +54,9 @@ make_table_18 <- function(adae, prune_0 = TRUE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) + assert_subset(c("SEX", arm_var, id_var, fmqsc_var, fmqnam_var, saffl_var, pref_var), names(adae)) assert_flag_variables(adae, saffl_var) - checkmate::assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) + assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) fmq_other_sexes <- unique(adae[adae[["SEX"]] != sex_scope, ][[fmqnam_var]]) adae <- adae %>% diff --git a/R/fda-table_20.R b/R/fda-table_20.R index 7e8ba364..ed750b60 100644 --- a/R/fda-table_20.R +++ b/R/fda-table_20.R @@ -41,7 +41,7 @@ make_table_20 <- function(adae, risk_diff = NULL, prune_0 = TRUE, annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "AESEV", "AESER", "AESDTH", "EOSSTT", "AEREL", id_var, pref_var, aesifl_var, aelabfl_var, arm_var, saffl_var ), names(adae)) assert_flag_variables(adae, c(saffl_var, aesifl_var, aelabfl_var)) diff --git a/R/fda-table_21.R b/R/fda-table_21.R index fd9035bc..c73455d9 100644 --- a/R/fda-table_21.R +++ b/R/fda-table_21.R @@ -51,7 +51,7 @@ make_table_21 <- function(df, lbl_vars = formatters::var_labels(df, fill = TRUE)[vars], prune_0 = FALSE, annotations = NULL) { - checkmate::assert_subset(c(vars, id_var, arm_var, saffl_var), names(df)) + assert_subset(c(vars, id_var, arm_var, saffl_var), names(df)) assert_flag_variables(df, c(saffl_var, "ASER")) df <- df %>% diff --git a/R/fda-table_22.R b/R/fda-table_22.R index f6082888..a6ebd3b6 100644 --- a/R/fda-table_22.R +++ b/R/fda-table_22.R @@ -18,18 +18,16 @@ #' @examples #' library(dplyr) #' -#' adsl <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adsl") %>% +#' adsl <- random.cdisc.data::cadsl %>% #' mutate(AGEGR1 = as.factor(case_when( #' AGE >= 17 & AGE < 65 ~ ">=17 to <65", #' AGE >= 65 ~ ">=65", #' AGE >= 65 & AGE < 75 ~ ">=65 to <75", #' AGE >= 75 ~ ">=75" #' )) %>% formatters::with_label("Age Group, years")) %>% -#' formatters::var_relabel( -#' AGE = "Age, years" -#' ) +#' formatters::var_relabel(AGE = "Age, years") #' -#' adae <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adae") +#' adae <- random.cdisc.data::cadae #' #' df <- left_join(adsl, adae, by = intersect(names(adsl), names(adae))) #' @@ -48,7 +46,7 @@ make_table_22 <- function(df, lbl_vars = formatters::var_labels(df, fill = TRUE)[vars], prune_0 = FALSE, annotations = NULL) { - checkmate::assert_subset(c(vars, arm_var, saffl_var), names(df)) + assert_subset(c(vars, arm_var, saffl_var), names(df)) df <- df %>% filter(.data[[saffl_var]] == "Y") %>% diff --git a/R/fda-table_32.R b/R/fda-table_32.R index 68b99f23..7ecad8ff 100644 --- a/R/fda-table_32.R +++ b/R/fda-table_32.R @@ -38,7 +38,7 @@ make_table_32 <- function(advs, risk_diff = NULL, prune_0 = FALSE, annotations = NULL) { - checkmate::assert_subset(c( + assert_subset(c( "AVISITN", "PARAMCD", "AVAL", "AVALU", arm_var, id_var, saffl_var ), names(advs)) assert_flag_variables(advs, saffl_var) @@ -89,12 +89,12 @@ make_table_32 <- function(advs, #' #' @export make_table_32_gtsum <- function(advs, - adsl, + alt_counts_df = NULL, id_var = "USUBJID", arm_var = "ARM", saffl_var = "SAFFL", lbl_overall = NULL) { - checkmate::assert_subset(c( + assert_subset(c( saffl_var, "AVISITN", "PARAMCD", "AVAL", "AVALU", arm_var, id_var ), names(advs)) assert_flag_variables(advs, saffl_var) @@ -109,15 +109,38 @@ make_table_32_gtsum <- function(advs, group_by(.data[[id_var]], PARAMCD) %>% mutate(MAX_DIABP = max(AVAL)) %>% ungroup() %>% + distinct(.data[[id_var]], .keep_all = TRUE) %>% + select(all_of(id_var), MAX_DIABP, AVALU, all_of(arm_var)) + + if (!is.null(alt_counts_df)) { + adsl <- alt_counts_df %>% + filter(.data[[saffl_var]] == "Y") %>% + select(all_of(id_var), all_of(arm_var), all_of(saffl_var)) + + advs <- advs %>% select(!all_of(arm_var)) + advs <- + adsl %>% + left_join(advs, by = id_var) + } else { + advs <- advs + } + + advs <- advs %>% mutate( - L60 = with_label(MAX_DIABP < 60, "<60"), - G60 = with_label(MAX_DIABP > 60, ">60"), - G90 = with_label(MAX_DIABP > 90, ">90"), - G110 = with_label(MAX_DIABP > 110, ">110"), - GE120 = with_label(MAX_DIABP >= 120, ">=120") + L60 = case_when(MAX_DIABP < 60 ~ "true", TRUE ~ "false"), + G60 = case_when(MAX_DIABP > 60 ~ "true", TRUE ~ "false"), + G90 = case_when(MAX_DIABP > 90 ~ "true", TRUE ~ "false"), + G110 = case_when(MAX_DIABP > 110 ~ "true", TRUE ~ "false"), + GE120 = case_when(MAX_DIABP >= 120 ~ "true", TRUE ~ "false") ) %>% - distinct(.data[[id_var]], .keep_all = TRUE) %>% - select(L60, G60, G90, G110, GE120, arm_var, AVALU) + mutate( + L60 = with_label(L60 == "true", "<60"), + G60 = with_label(G60 == "true", ">60"), + G90 = with_label(G90 == "true", ">90"), + G110 = with_label(G110 == "true", ">110"), + GE120 = with_label(GE120 == "true", ">=120") + ) %>% + select(L60, G60, G90, G110, GE120, AVALU, arm_var) avalu <- unique(advs$AVALU)[1] advs <- advs %>% select(-AVALU) @@ -126,7 +149,8 @@ make_table_32_gtsum <- function(advs, tbl_summary( by = arm_var, statistic = list(all_categorical() ~ "{n} ({p}%)"), - digits = everything() ~ c(0, 1) + digits = everything() ~ c(0, 1), + missing = "no" ) %>% modify_header(label ~ paste0("**Diastolic Blood Pressure (", avalu, ")**")) %>% modify_header(all_stat_cols() ~ "**{level}** \nN = {n}") %>% diff --git a/R/fda-table_33.R b/R/fda-table_33.R index ebe0ace1..399ee327 100644 --- a/R/fda-table_33.R +++ b/R/fda-table_33.R @@ -34,7 +34,7 @@ make_table_33 <- function(advs, risk_diff = NULL, prune_0 = FALSE, annotations = NULL) { - checkmate::assert_subset(c("AVISITN", "PARAMCD", "AVAL", "AVALU", arm_var, id_var, saffl_var), names(advs)) + assert_subset(c("AVISITN", "PARAMCD", "AVAL", "AVALU", arm_var, id_var, saffl_var), names(advs)) assert_flag_variables(advs, saffl_var) advs <- advs %>% @@ -70,3 +70,101 @@ make_table_33 <- function(advs, tbl } + +#' @describeIn make_table_33 Create FDA table 33 using functions from `gtsummary`. +#' +#' @return +#' * `make_table_33_gtsum` returns a `gt` object +#' +#' @examples +#' tbl <- make_table_33_gtsum(advs = advs) +#' tbl +#' +#' @export +make_table_33_gtsum <- function(advs, + alt_counts_df = NULL, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + lbl_overall = NULL) { + assert_subset(c( + saffl_var, "AVISITN", "PARAMCD", "AVAL", "AVALU", arm_var, id_var + ), names(advs)) + assert_flag_variables(advs, saffl_var) + + advs_all <- advs %>% + filter( + .data[[saffl_var]] == "Y", + AVISITN >= 1, + PARAMCD %in% c("DIABP", "SYSBP") + ) %>% + group_by(.data[[id_var]], PARAMCD) %>% + mutate( + MAX_DIABP = if_else(PARAMCD == "DIABP", max(AVAL), NA_real_), + MAX_SYSBP = if_else(PARAMCD == "SYSBP", max(AVAL), NA_real_) + ) %>% + ungroup() %>% + mutate( + SBP90 = if_else(MAX_SYSBP < 90, "SBP <90", "Not", missing = "Not"), + DBP60 = if_else(MAX_DIABP < 60, "DBP <60", "Not", missing = "Not") + ) %>% + mutate( + SBP90 = formatters::with_label(SBP90 == "SBP <90", "SBP <90"), + DBP60 = formatters::with_label(DBP60 == "DBP <60", "DBP <60") + ) + + advs_diabp <- advs_all %>% + filter(PARAMCD == "DIABP") %>% + distinct(.data[[id_var]], .keep_all = TRUE) %>% + select(all_of(c(id_var, "DBP60", "ARM", "AVALU"))) + + advs_sysbp <- advs_all %>% + filter(PARAMCD == "SYSBP") %>% + distinct(.data[[id_var]], .keep_all = TRUE) %>% + select(all_of(c(id_var, "SBP90"))) + + advs_combined <- + full_join(advs_diabp, advs_sysbp, by = id_var) %>% + select(all_of(c("SBP90", "DBP60", "ARM", "AVALU", id_var, arm_var))) + + if (!is.null(alt_counts_df)) { + adsl <- alt_counts_df %>% + filter(.data[[saffl_var]] == "Y") %>% + select(all_of(c(id_var, arm_var, saffl_var))) + + advs_combined <- + advs_combined %>% + select(!all_of(arm_var)) %>% + right_join(adsl, by = id_var) + } else { + advs_combined <- advs_combined + } + + + avalu <- unique(advs_combined$AVALU)[1] + advs_combined <- advs_combined %>% + select(SBP90, DBP60, all_of(arm_var)) + + tbl <- advs_combined %>% + tbl_summary( + by = arm_var, + statistic = list(all_categorical() ~ "{n} ({p}%)"), + digits = everything() ~ c(0, 1), + missing = "no" + ) %>% + modify_header(label ~ paste0("**Blood Pressure (", avalu, ")**")) %>% + modify_header(all_stat_cols() ~ "**{level}** \nN = {n}") %>% + gtsummary::modify_column_alignment(columns = all_stat_cols(), align = "right") + + if (!is.null(lbl_overall)) { + tbl <- tbl %>% + add_overall(last = TRUE, col_label = paste0("**", lbl_overall, "** \n N = {n}")) + } + + tbl <- tbl %>% modify_footnote(update = everything() ~ NA) + + gtsummary::with_gtsummary_theme( + x = gtsummary::theme_gtsummary_compact(), + expr = as_gt(tbl) + ) +} diff --git a/R/fda-table_34.R b/R/fda-table_34.R index e2644bcb..05824c00 100644 --- a/R/fda-table_34.R +++ b/R/fda-table_34.R @@ -3,7 +3,7 @@ #' #' @details #' * `adae` must contain the variables `AEBODSYS`, `AESER`, and the variables specified by -#' `arm_var`, `id_var`, `saffl_var`, `fmqsc_var`, `fmqnam_var`, and `pref_var`. +#' `arm_var`, `id_var`, `saffl_var`, `trtemfl_var`, `fmqsc_var`, `fmqnam_var`, and `pref_var`. #' * If specified, `alt_counts_df` must contain the variables specified by `arm_var`, `id_var`, and `saffl_var`. #' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in #' flag variables are treated as `"N"`. @@ -38,21 +38,26 @@ make_table_34 <- function(adae, id_var = "USUBJID", arm_var = "ARM", saffl_var = "SAFFL", + trtemfl_var = "TRTEMFL", fmqsc_var = "FMQ01SC", fmqnam_var = "FMQ01NAM", fmq_scope = "NARROW", pref_var = "AEDECOD", + lbl_pref_var = formatters::var_labels(adae, fill = TRUE)[pref_var], lbl_overall = NULL, risk_diff = NULL, prune_0 = TRUE, na_level = "", annotations = NULL) { - checkmate::assert_subset(c("AEBODSYS", arm_var, id_var, saffl_var, fmqsc_var, fmqnam_var, pref_var), names(adae)) - assert_flag_variables(adae, saffl_var) + checkmate::assert_subset(c( + "AEBODSYS", arm_var, id_var, saffl_var, trtemfl_var, fmqsc_var, fmqnam_var, + pref_var + ), names(adae)) + assert_flag_variables(adae, saffl_var, trtemfl_var) checkmate::assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) adae <- adae %>% - filter(.data[[saffl_var]] == "Y", AESER == "Y", .data[[fmqsc_var]] == fmq_scope) %>% + filter(.data[[saffl_var]] == "Y", AESER == "Y", .data[[trtemfl_var]] == "Y", .data[[fmqsc_var]] == fmq_scope) %>% df_explicit_na(na_level = na_level) adae[[fmqnam_var]] <- with_label(adae[[fmqnam_var]], paste0("FMQ (", tools::toTitleCase(tolower(fmq_scope)), ")")) @@ -63,20 +68,28 @@ make_table_34 <- function(adae, split_rows_by( "AEBODSYS", child_labels = "visible", + split_fun = drop_split_levels, label_pos = "topleft", split_label = obj_label(adae$AEBODSYS) ) %>% split_rows_by( fmqnam_var, - child_labels = "visible", + child_labels = "hidden", label_pos = "topleft", split_label = obj_label(adae[[fmqnam_var]]) ) %>% + summarize_num_patients( + var = id_var, + .stats = "unique", + .labels = c(unique = NULL), + riskdiff = !is.null(risk_diff) + ) %>% count_occurrences( vars = pref_var, drop = FALSE, riskdiff = !is.null(risk_diff) - ) + ) %>% + append_topleft(paste(" ", lbl_pref_var)) tbl <- build_table(lyt, df = adae, alt_counts_df = alt_counts_df) if (prune_0) tbl <- prune_table(tbl) diff --git a/R/fda-table_35.R b/R/fda-table_35.R index 60ac8722..2da4201b 100644 --- a/R/fda-table_35.R +++ b/R/fda-table_35.R @@ -1,4 +1,4 @@ -#' Table 35. Patients With Adverse Events1 by System Organ Class, +#' Table 35. Patients With Adverse Events by System Organ Class, #' Safety Population, Pooled Analysis (or Trial X) #' #' @details @@ -30,7 +30,7 @@ make_table_35 <- function(adae, risk_diff = NULL, prune_0 = FALSE, annotations = NULL) { - checkmate::assert_subset(c(soc_var, arm_var, id_var, saffl_var), names(adae)) + assert_subset(c(soc_var, arm_var, id_var, saffl_var), names(adae)) assert_flag_variables(adae, saffl_var) adae <- adae %>% diff --git a/R/fda-table_36.R b/R/fda-table_36.R new file mode 100644 index 00000000..3d1a4da0 --- /dev/null +++ b/R/fda-table_36.R @@ -0,0 +1,73 @@ +#' Table 36. Patients With Adverse Events by System Organ Class and Preferred Term, Safety +#' Population, Pooled Analysis (or Trial X) +#' +#' @details +#' * `adae` must contain the variables specified by `id_var`, `arm_var`, `saffl_var`, `soc_var`, +#' and `pref_var`. +#' * If specified, `alt_counts_df` must contain the variables specified by `arm_var`, `id_var`, and `saffl_var`. +#' * Columns are split by arm. Overall population column is excluded by default (see `lbl_overall` argument). +#' * Numbers in table represent the absolute numbers of patients and fraction of `N`. +#' * All-zero rows are removed by default (see `prune_0` argument). +#' +#' @inheritParams argument_convention +#' +#' @return +#' * `make_table_36` returns an `rtables` table object. +#' +#' @examples +#' adsl <- random.cdisc.data::cadsl +#' adae <- random.cdisc.data::cadae +#' +#' tbl <- make_table_35(adae = adae, alt_counts_df = adsl) +#' tbl +#' +#' @export +make_table_36 <- function( + adae, + alt_counts_df = NULL, + show_colcounts = TRUE, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + soc_var = "AESOC", + pref_var = "AEDECOD", + lbl_soc_var = formatters::var_labels(adae, fill = TRUE)[soc_var], + lbl_overall = NULL, + risk_diff = NULL, + prune_0 = FALSE, + annotations = NULL) { + adae <- adae %>% + filter(.data[[saffl_var]] == "Y") %>% + df_explicit_na() + + alt_counts_df <- alt_counts_df_preproc( + alt_counts_df, + id_var, + arm_var, + saffl_var + ) + + lyt <- basic_table_annot(show_colcounts, annotations) %>% + split_cols_by_arm(arm_var, lbl_overall, risk_diff) %>% + split_rows_by( + soc_var, + label_pos = "topleft", + split_label = lbl_soc_var + ) %>% + summarize_num_patients( + var = id_var, + riskdiff = !is.null(risk_diff), + .stats = "unique", + .labels = c(unique = NULL) + ) %>% + count_occurrences( + vars = pref_var, + drop = FALSE, + riskdiff = !is.null(risk_diff) + ) + + tbl <- build_table(lyt, df = adae, alt_counts_df = alt_counts_df) + if (prune_0) tbl <- prune_table(tbl) + + tbl +} diff --git a/R/fda-table_38.R b/R/fda-table_38.R new file mode 100644 index 00000000..07d91713 --- /dev/null +++ b/R/fda-table_38.R @@ -0,0 +1,96 @@ +#' FDA Table 38: Patients With Adverse Events by System Organ Class, FDA Medical Query (Broad) and Preferred Term, +#' Safety Population, Pooled Analysis (or Trial X) +#' +#' @details +#' * `adae` must contain the variables `AEBODSYS`, `AESER`, and the variables specified by +#' `arm_var`, `id_var`, `saffl_var`, `trtemfl_var`, `fmqsc_var`, `fmqnam_var`, and `pref_var`. +#' * If specified, `alt_counts_df` must contain the variables specified by `arm_var`, `id_var`, and `saffl_var`. +#' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in +#' flag variables are treated as `"N"`. +#' * Columns are split by arm. Overall population column is excluded by default (see `lbl_overall` argument). +#' * Numbers in table represent the absolute numbers of patients and fraction of `N`. +#' * All-zero rows are removed by default (see `prune_0` argument). +#' +#' @inheritParams argument_convention +#' +#' @examples +#' library(dplyr) +#' +#' adae <- random.cdisc.data::cadae +#' adsl <- random.cdisc.data::cadsl +#' +#' set.seed(1) +#' adae <- adae %>% +#' rename(FMQ01SC = SMQ01SC) %>% +#' mutate( +#' AESER = sample(c("Y", "N"), size = nrow(adae), replace = TRUE), +#' FMQ01NAM = sample(c("FMQ1", "FMQ2", "FMQ3"), size = nrow(adae), replace = TRUE) +#' ) +#' adae$FMQ01SC[is.na(adae$FMQ01SC)] <- "Broad" +#' +#' tbl <- make_table_38(adae = adae, alt_counts_df = adsl) +#' tbl +#' +#' @export +make_table_38 <- function(adae, + alt_counts_df = NULL, + show_colcounts = TRUE, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + trtemfl_var = "TRTEMFL", + fmqsc_var = "FMQ01SC", + fmqnam_var = "FMQ01NAM", + fmq_scope = "BROAD", + pref_var = "AEDECOD", + lbl_overall = NULL, + lbl_pref_var = formatters::var_labels(adae, fill = TRUE)[pref_var], + risk_diff = NULL, + prune_0 = TRUE, + na_level = "", + annotations = NULL) { + assert_subset(c( + "AEBODSYS", arm_var, id_var, saffl_var, trtemfl_var, fmqsc_var, + fmqnam_var, pref_var + ), names(adae)) + assert_flag_variables(adae, saffl_var, trtemfl_var) + assert_subset(toupper(fmq_scope), c("NARROW", "BROAD")) + + adae <- adae %>% + filter(.data[[saffl_var]] == "Y", .data[[trtemfl_var]] == "Y", .data[[fmqsc_var]] == fmq_scope) %>% + df_explicit_na(na_level = na_level) + adae[[fmqnam_var]] <- with_label(adae[[fmqnam_var]], paste0("FMQ (", tools::toTitleCase(tolower(fmq_scope)), ")")) + + alt_counts_df <- alt_counts_df_preproc(alt_counts_df, id_var, arm_var, saffl_var) + + lyt <- basic_table_annot(show_colcounts, annotations) %>% + split_cols_by_arm(arm_var, lbl_overall, risk_diff) %>% + split_rows_by( + var = "AEBODSYS", + split_fun = drop_split_levels, + split_label = obj_label(adae$AEBODSYS), + label_pos = "topleft" + ) %>% + split_rows_by( + fmqnam_var, + child_labels = "hidden", + label_pos = "topleft", + split_label = obj_label(adae[[fmqnam_var]]) + ) %>% + summarize_num_patients( + var = id_var, + .stats = "unique", + .labels = c(unique = NULL), + riskdiff = !is.null(risk_diff) + ) %>% + count_occurrences( + vars = pref_var, + riskdiff = !is.null(risk_diff) + ) %>% + append_topleft(paste(" ", lbl_pref_var)) + + tbl <- build_table(lyt, df = adae, alt_counts_df = alt_counts_df) + if (prune_0) tbl <- prune_table(tbl) + + tbl +} diff --git a/R/utils.R b/R/utils.R index 85ef1000..f433feed 100644 --- a/R/utils.R +++ b/R/utils.R @@ -75,7 +75,7 @@ split_cols_by_arm <- function(lyt, arm_var = "ARM", lbl_overall = NULL, risk_dif #' @export alt_counts_df_preproc <- function(alt_counts_df, id_var = "USUBJID", arm_var = "ARM", saffl_var = NULL) { if (!is.null(alt_counts_df)) { - checkmate::assert_subset(c(id_var, arm_var, saffl_var), names(alt_counts_df)) + assert_subset(c(id_var, arm_var, saffl_var), names(alt_counts_df)) if (!is.null(saffl_var)) { assert_flag_variables(alt_counts_df, saffl_var) alt_counts_df <- alt_counts_df %>% filter(.data[[saffl_var]] == "Y") @@ -101,7 +101,7 @@ alt_counts_df_preproc <- function(alt_counts_df, id_var = "USUBJID", arm_var = " #' @keywords internal assert_flag_variables <- function(df, flag_vars, na_level = "") { all(sapply(flag_vars, function(x) { - checkmate::expect_subset( + expect_subset( as.character(unique(df[[x]])), c("Y", "N", "", NA, na_level), label = paste0("unique(df$", x, ")") ) diff --git a/_quarto.yml b/_quarto.yml index 2701b988..a35bcab5 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -103,8 +103,10 @@ website: - quarto/table-templates/template-table_33.qmd - quarto/table-templates/template-table_34.qmd - quarto/table-templates/template-table_35.qmd + - quarto/table-templates/template-table_36.qmd - quarto/figure-templates/template-fig_01.qmd - quarto/figure-templates/template-fig_02.qmd + - quarto/figure-templates/template-fig_14.qmd - text: About file: quarto/about.qmd - text: Resources diff --git a/inst/WORDLIST b/inst/WORDLIST index 5340238b..d9bf2a30 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -3,12 +3,29 @@ ADEX ADSL ADSUB ADVS +AE +ARD +Abinaya +Assuied CDISC +CDISC's FMQ +Huan Hypotension +Knizia +Korbinian +Koujin Pharmaverse Postbaseline Pre +Rua TLGs +Yichen +Yogasekaram +Yoshito +Yuye datetime +de +ncol +pharmaverse pre diff --git a/man/a_count_occurrences_ser_ae.Rd b/man/a_count_occurrences_ser_ae.Rd index fd44aec1..1086ebe7 100644 --- a/man/a_count_occurrences_ser_ae.Rd +++ b/man/a_count_occurrences_ser_ae.Rd @@ -20,7 +20,7 @@ a_count_occurrences_ser_ae( \item{.var}{(\code{string})\cr single variable name that is passed by \code{rtables} when requested by a statistics function.} -\item{.N_col}{(\code{integer})\cr column-wise N (column count) for the full column being analyzed that is typically +\item{.N_col}{(\code{integer(1)})\cr column-wise N (column count) for the full column being analyzed that is typically passed by \code{rtables}.} \item{df_denom}{(\code{data.frame})\cr Full data frame used to calculate denominator subgroup counts @@ -32,7 +32,7 @@ Note that \code{df} is filtered to only include serious adverse events (\code{AS \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} } \description{ Analysis Function to Calculate Count/Fraction of Serious Adverse Event Occurrences diff --git a/man/a_count_occurrences_trtem_ae.Rd b/man/a_count_occurrences_trtem_ae.Rd index a57f5b8d..1c6cba8b 100644 --- a/man/a_count_occurrences_trtem_ae.Rd +++ b/man/a_count_occurrences_trtem_ae.Rd @@ -20,7 +20,7 @@ a_count_occurrences_trtem_ae( \item{.var}{(\code{string})\cr single variable name that is passed by \code{rtables} when requested by a statistics function.} -\item{.N_col}{(\code{integer})\cr column-wise N (column count) for the full column being analyzed that is typically +\item{.N_col}{(\code{integer(1)})\cr column-wise N (column count) for the full column being analyzed that is typically passed by \code{rtables}.} \item{df_denom}{(\code{data.frame})\cr Full data frame used to calculate denominator subgroup counts @@ -32,7 +32,7 @@ Note that \code{df} is filtered to only include treatment-emergent adverse event \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} } \description{ Analysis Function to Calculate Count/Fraction of Any Adverse Event Occurrences diff --git a/man/alt_counts_df_preproc.Rd b/man/alt_counts_df_preproc.Rd index b4b127f4..d3f216b5 100644 --- a/man/alt_counts_df_preproc.Rd +++ b/man/alt_counts_df_preproc.Rd @@ -16,7 +16,7 @@ alt_counts_df_preproc( \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} } diff --git a/man/argument_convention.Rd b/man/argument_convention.Rd index 210c6481..a555e535 100644 --- a/man/argument_convention.Rd +++ b/man/argument_convention.Rd @@ -4,6 +4,29 @@ \alias{argument_convention} \title{Standard Arguments} \arguments{ +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} + +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} + +\item{ser_var}{(\code{character})\cr Name of the serious adverse event flag variable which must contain at least +"Y" for "Yes".} + +\item{vars}{(\code{vector} of \code{character})\cr Variables from \code{df} to include in the table.} + +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} + +\item{soc_var}{(\code{character})\cr Name of the system organ class variable from \code{adae} to include in the table.} + +\item{.stats}{(\code{character})\cr Statistics to include in the table. Includes statistics for all variable +types (only the statistics that are valid for a given variable's type will be printed). +See \code{\link[tern:analyze_variables]{tern::analyze_vars()}} for options.} + +\item{.formats}{(named \code{list} of \code{character})\cr List of formats corresponding to each value in \code{.stats}. +Each name is a value in \code{.stats} and the corresponding value is the format that should be applied to +that statistic. See \code{\link[formatters:list_formats]{formatters::list_valid_format_labels()}} for a list of valid formats.} + +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} + \item{adae}{(\code{data.frame})\cr dataset (typically ADAE) required to build table.} \item{adex}{(\code{data.frame})\cr dataset (typically ADEX) required to build table.} @@ -18,8 +41,6 @@ annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should use the annotation type as name and the desired string as value.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} - \item{df}{(\code{data.frame})\cr dataset required to build table.} \item{eosdy_var}{(\code{character})\cr variable denoting last recorded (relative) study day.} @@ -49,10 +70,6 @@ in the table. Labels should be ordered according to the order of variables in \c \item{na_rm}{(\code{flag})\cr whether \code{NA} levels should be removed from the table.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} - -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} - \item{risk_diff}{(named \code{list})\cr list of settings to apply to add one or more risk difference columns to the table. Defaults to \code{NULL} (no risk difference column added). See \code{\link[tern:add_riskdiff]{tern::add_riskdiff()}} for more details. List should contain the following elements: @@ -70,24 +87,23 @@ be included in the column labels by default. The length of \code{col_label} must \item{sex_scope}{(\code{character})\cr Level of \code{SEX} to output in table.} -\item{soc_var}{(\code{character})\cr flag variable used to indicate system organ class.} +\item{trtedtm_var}{(\code{character})\cr treatment end datetime variable.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{trtemfl_var}{(\code{character})\cr flag variable used to identify Treatment-emergent AE.} \item{trtsdtm_var}{(\code{character})\cr treatment start datetime variable.} -\item{trtedtm_var}{(\code{character})\cr treatment end datetime variable.} - \item{u_trtdur}{(\code{character})\cr unit for duration of treatment. Options are \code{"days"}, \code{"weeks"}, \code{"months"}, and \code{"years"}.} -\item{vars}{(\code{vector} of \code{character})\cr variables from \code{df} to include in the table.} - \item{xticks}{(\code{vector} of \code{numeric})\cr x-axis tick positions. If \code{NA} (default), tick mark positions are automatically calculated.} \item{x_lab}{(\code{character})\cr x-axis label.} +\item{yticks}{(\code{vector} of \code{numeric})\cr y-axis tick positions. If \code{NA} (default), tick mark positions are +automatically calculated.} + \item{y_lab}{(\code{character})\cr y-axis label.} } \description{ diff --git a/man/basic_table_annot.Rd b/man/basic_table_annot.Rd index f06d7c76..4371f09c 100644 --- a/man/basic_table_annot.Rd +++ b/man/basic_table_annot.Rd @@ -7,7 +7,7 @@ basic_table_annot(show_colcounts = TRUE, annotations = NULL) } \arguments{ -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/calculate_riskdiff.Rd b/man/calculate_riskdiff.Rd deleted file mode 100644 index 817a652b..00000000 --- a/man/calculate_riskdiff.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/fda-table_09.R -\name{calculate_riskdiff} -\alias{calculate_riskdiff} -\title{helper function to calculate the risk difference for table 9} -\usage{ -calculate_riskdiff(x, y, n_x, n_y) -} -\arguments{ -\item{x}{character vector containing all value for the first treatment} - -\item{y}{character vector containing all value for the second treatment} - -\item{n_x}{character vector containing for all values of x the corresponding N} - -\item{n_y}{character vector containing for all values of y the corresponding N} -} -\value{ -vector of characters containing the value for risk difference and -the corresponding 95\% Confidence interval in Brackets -} -\description{ -helper function to calculate the risk difference for table 9 -} diff --git a/man/count_subjects.Rd b/man/count_subjects.Rd deleted file mode 100644 index b6584cfc..00000000 --- a/man/count_subjects.Rd +++ /dev/null @@ -1,48 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/fda-table_09.R -\name{count_subjects} -\alias{count_subjects} -\title{Helper function for \code{create_table_09_data()} -Used for counting subjects per group} -\usage{ -count_subjects( - adae, - arm_var, - id_var, - sub_level_vars = NULL, - lbl_overall = NULL, - risk_diff = NULL -) -} -\arguments{ -\item{adae}{(\code{data.frame})\cr dataset (typically ADAE) required to build table.} - -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} - -\item{id_var}{(\code{character})\cr variable used as unique subject identifier.} - -\item{sub_level_vars}{(\code{NULL} or \code{character}) specifying the sub group for counted subjects} - -\item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with -the given value as the column label.} - -\item{risk_diff}{(named \code{list})\cr list of settings to apply to add one or more risk difference columns to the table. -Defaults to \code{NULL} (no risk difference column added). See \code{\link[tern:add_riskdiff]{tern::add_riskdiff()}} for more details. List should -contain the following elements: -\itemize{ -\item \code{arm_x}: (required) the name of reference arm. -\item \code{arm_y}: (required) the names of the arms to compare to the reference arm. A new column will be added for each -element of \code{arm_y}. -\item \code{col_label}: (optional) labels to use for the risk difference columns. Defaults to -\code{"Risk Difference (\%) (95\% CI)"}. For more than one risk difference column, \code{"arm x vs. arm y"} text will also -be included in the column labels by default. The length of \code{col_label} must be equal to the length of \code{arm_y}. -\item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. -}} -} -\value{ -A \code{data.frame} containing the number of subjects with \code{sub_level_vars} events -} -\description{ -Helper function for \code{create_table_09_data()} -Used for counting subjects per group -} diff --git a/man/create_table_09_data.Rd b/man/create_table_09_data.Rd deleted file mode 100644 index 0bf75733..00000000 --- a/man/create_table_09_data.Rd +++ /dev/null @@ -1,56 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/fda-table_09.R -\name{create_table_09_data} -\alias{create_table_09_data} -\title{Helper function to create the data for \code{make_table09_gtsum()}} -\usage{ -create_table_09_data( - adae, - alt_counts_df, - arm_var, - id_var, - soc_var, - pref_var, - lbl_overall = NULL, - risk_diff = NULL -) -} -\arguments{ -\item{adae}{(\code{data.frame})\cr dataset (typically ADAE) required to build table.} - -\item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} - -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} - -\item{id_var}{(\code{character})\cr variable used as unique subject identifier.} - -\item{soc_var}{(\code{character})\cr flag variable used to indicate system organ class.} - -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} - -\item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with -the given value as the column label.} - -\item{risk_diff}{(named \code{list})\cr list of settings to apply to add one or more risk difference columns to the table. -Defaults to \code{NULL} (no risk difference column added). See \code{\link[tern:add_riskdiff]{tern::add_riskdiff()}} for more details. List should -contain the following elements: -\itemize{ -\item \code{arm_x}: (required) the name of reference arm. -\item \code{arm_y}: (required) the names of the arms to compare to the reference arm. A new column will be added for each -element of \code{arm_y}. -\item \code{col_label}: (optional) labels to use for the risk difference columns. Defaults to -\code{"Risk Difference (\%) (95\% CI)"}. For more than one risk difference column, \code{"arm x vs. arm y"} text will also -be included in the column labels by default. The length of \code{col_label} must be equal to the length of \code{arm_y}. -\item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. -}} -} -\value{ -list containing the counted data to be displayed for table 9 and -a \code{data.frame} containing information about the total N for each group -} -\description{ -Helper function to create the data for \code{make_table09_gtsum()} -} -\details{ -If \code{lbl_overall} is not \code{NULL} only the data for the overall column will be generated -} diff --git a/man/h_make_table_09.Rd b/man/h_make_table_09.Rd new file mode 100644 index 00000000..897b73c6 --- /dev/null +++ b/man/h_make_table_09.Rd @@ -0,0 +1,115 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fda-table_09.R +\name{h_make_table_09} +\alias{h_make_table_09} +\alias{create_table_09_data} +\alias{count_subjects} +\alias{renaming_function} +\alias{calculate_riskdiff} +\title{Helper functions used to construct FDA table 9} +\usage{ +create_table_09_data( + adae, + alt_counts_df, + arm_var, + id_var, + soc_var, + pref_var, + lbl_overall = NULL, + risk_diff = NULL +) + +count_subjects( + adae, + arm_var, + id_var, + sub_level_vars = NULL, + lbl_overall = NULL, + risk_diff = NULL +) + +renaming_function(x) + +calculate_riskdiff(x, y, n_x, n_y) +} +\arguments{ +\item{adae}{(\code{data.frame})\cr dataset (typically ADAE) required to build table.} + +\item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} + +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} + +\item{id_var}{(\code{character})\cr variable used as unique subject identifier.} + +\item{soc_var}{(\code{character})\cr Name of the system organ class variable from \code{adae} to include in the table.} + +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} + +\item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with +the given value as the column label.} + +\item{risk_diff}{(named \code{list})\cr list of settings to apply to add one or more risk difference columns to the table. +Defaults to \code{NULL} (no risk difference column added). See \code{\link[tern:add_riskdiff]{tern::add_riskdiff()}} for more details. List should +contain the following elements: +\itemize{ +\item \code{arm_x}: (required) the name of reference arm. +\item \code{arm_y}: (required) the names of the arms to compare to the reference arm. A new column will be added for each +element of \code{arm_y}. +\item \code{col_label}: (optional) labels to use for the risk difference columns. Defaults to +\code{"Risk Difference (\%) (95\% CI)"}. For more than one risk difference column, \code{"arm x vs. arm y"} text will also +be included in the column labels by default. The length of \code{col_label} must be equal to the length of \code{arm_y}. +\item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. +}} + +\item{sub_level_vars}{(\code{character} or \code{NULL}) the subgroup for counted subjects.} + +\item{x}{(\code{character})\cr vector containing all values for the first treatment.} + +\item{y}{(\code{character})\cr vector containing all values for the second treatment.} + +\item{n_x}{(\code{character})\cr vector containing for all values of \code{x} the corresponding N.} + +\item{n_y}{(\code{character})\cr vector containing for all values of \code{y} the corresponding N.} +} +\value{ +\itemize{ +\item \code{create_table_09_data} returns a list containing the counted data to be displayed for table 9 and +a \code{data.frame} containing information about the total N for each group. +} + +\itemize{ +\item \code{count_subjects} returns a \code{data.frame} containing the number of subjects with \code{sub_level_vars} events. +} + +\itemize{ +\item \code{renaming_function} returns a vector. +} + +\itemize{ +\item \code{calculate_riskdiff} returns a vector of characters containing the value for risk difference and +the corresponding 95\% confidence interval. +} +} +\description{ +Helper functions used to construct FDA table 9 +} +\details{ +\itemize{ +\item \code{create_table_09_data}: If \code{lbl_overall} is non-\code{NULL}, only the data for the overall column will be generated. +} +} +\section{Functions}{ +\itemize{ +\item \code{create_table_09_data()}: Helper function to create the data for \code{\link[=make_table_09_gtsum]{make_table_09_gtsum()}}. + +\item \code{count_subjects()}: Helper function used to count subjects per group. + +\item \code{renaming_function()}: Helper function to rename the combined columns. + +\item \code{calculate_riskdiff()}: Helper function to calculate the risk difference for table 9. + +}} +\seealso{ +\code{\link[=make_table_09]{make_table_09()}}, \code{\link[=make_table_09_tplyr]{make_table_09_tplyr()}}, \code{\link[=make_table_09_gtsum]{make_table_09_gtsum()}} +} +\keyword{internal} diff --git a/man/make_fig_01.Rd b/man/make_fig_01.Rd index 17467ac0..0e8e2adc 100644 --- a/man/make_fig_01.Rd +++ b/man/make_fig_01.Rd @@ -23,7 +23,7 @@ make_fig_01( \arguments{ \item{df}{(\code{data.frame})\cr dataset required to build table.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} diff --git a/man/make_fig_02.Rd b/man/make_fig_02.Rd index 4b64d0fe..6c299d16 100644 --- a/man/make_fig_02.Rd +++ b/man/make_fig_02.Rd @@ -22,7 +22,7 @@ make_fig_02( \arguments{ \item{df}{(\code{data.frame})\cr dataset required to build table.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} diff --git a/man/make_fig_14.Rd b/man/make_fig_14.Rd new file mode 100644 index 00000000..1015faa2 --- /dev/null +++ b/man/make_fig_14.Rd @@ -0,0 +1,79 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fda-fig_14.R +\name{make_fig_14} +\alias{make_fig_14} +\title{FDA Figure 14: Mean and 95\% Confidence Interval of Systolic Blood Pressure Over Time +by Treatment Arm, Safety Population, Trial X} +\usage{ +make_fig_14( + df, + arm_var = "ARM", + saffl_var = "SAFFL", + visit_var = "AVISIT", + paramcd_val = "SYSBP", + add_cond = NULL, + x_lab = "", + y_lab = NULL, + yticks = NA, + ggtheme = NULL, + add_table = TRUE, + annotations = NULL +) +} +\arguments{ +\item{df}{(\code{data.frame})\cr dataset required to build table.} + +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} + +\item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} + +\item{visit_var}{(\code{character})\cr visit variable to put on the x-axis} + +\item{paramcd_val}{(\code{character})\cr value of \code{PARAMCD} to plot} + +\item{add_cond}{(\code{expr})\cr expression that provides additional filters for the analysis +(for instance on \code{ATPT} or \code{VSPOS})} + +\item{x_lab}{(\code{character})\cr x-axis label.} + +\item{y_lab}{(\code{character})\cr y-axis label.} + +\item{yticks}{(\code{vector} of \code{numeric})\cr y-axis tick positions. If \code{NA} (default), tick mark positions are +automatically calculated.} + +\item{ggtheme}{(\code{theme})\cr a graphical theme as provided by \code{ggplot2} to control styling of the \code{ggplot} object.} + +\item{add_table}{(\code{flag})\cr whether "Mean Value" and "Number of Patients" tables should be printed under the plot} + +\item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the figure. Valid annotation types +are \code{title}, \code{subtitles}, and \code{caption}. Each name-value pair should use the annotation type as name and the +desired string as value.} +} +\value{ +A \code{ggplot2} object. +} +\description{ +FDA Figure 14: Mean and 95\% Confidence Interval of Systolic Blood Pressure Over Time +by Treatment Arm, Safety Population, Trial X +} +\details{ +\itemize{ +\item \code{df} must contain the variables \code{AVAL} and \code{PARAMCD}, and the variables specified by \code{arm_var}, +\code{saffl_var}, \code{visit_var}, and \code{add_cond}. +\item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in +flag variables are treated as \code{"N"}. +\item It is assumed that \code{df} contains one unique record per patient. +} +} +\examples{ +advs <- random.cdisc.data::cadvs + +fig <- make_fig_14( + df = advs, + add_cond = bquote("ONTRTFL == 'Y' | ABLFL == 'Y'"), + add_table = TRUE, + yticks = c(135, 140, 145, 150, 155, 160) +) +fig + +} diff --git a/man/make_table_02.Rd b/man/make_table_02.Rd index db762a1d..dc34b673 100644 --- a/man/make_table_02.Rd +++ b/man/make_table_02.Rd @@ -51,13 +51,13 @@ make_table_02_gtsum( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{vars}{(\code{vector} of \code{character})\cr variables from \code{df} to include in the table.} +\item{vars}{(\code{vector} of \code{character})\cr Variables from \code{df} to include in the table.} \item{lbl_vars}{(\code{vector} of \code{character})\cr labels corresponding to variables in \code{vars} to print in the table. Labels should be ordered according to the order of variables in \code{vars}.} @@ -67,7 +67,7 @@ the given value as the column label.} \item{na_rm}{(\code{flag})\cr whether \code{NA} levels should be removed from the table.} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/make_table_03.Rd b/man/make_table_03.Rd index f7f7362a..1eb9c6b3 100644 --- a/man/make_table_03.Rd +++ b/man/make_table_03.Rd @@ -23,9 +23,9 @@ make_table_03( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} @@ -38,7 +38,7 @@ make_table_03( \item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with the given value as the column label.} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/make_table_04.Rd b/man/make_table_04.Rd index 813a19ba..98f0e666 100644 --- a/man/make_table_04.Rd +++ b/man/make_table_04.Rd @@ -23,9 +23,9 @@ make_table_04( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} @@ -37,7 +37,7 @@ in the table. Labels should be ordered according to the order of variables in \c \item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with the given value as the column label.} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{risk_diff}{(named \code{list})\cr list of settings to apply to add one or more risk difference columns to the table. Defaults to \code{NULL} (no risk difference column added). See \code{\link[tern:add_riskdiff]{tern::add_riskdiff()}} for more details. List should diff --git a/man/make_table_05.Rd b/man/make_table_05.Rd index 8c1abf89..5d12f8bd 100644 --- a/man/make_table_05.Rd +++ b/man/make_table_05.Rd @@ -26,9 +26,9 @@ make_table_05( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} @@ -59,7 +59,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/make_table_06.Rd b/man/make_table_06.Rd index 27b59b91..51462843 100644 --- a/man/make_table_06.Rd +++ b/man/make_table_06.Rd @@ -22,9 +22,9 @@ make_table_06( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} @@ -46,7 +46,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/make_table_07.Rd b/man/make_table_07.Rd index f8451591..a3b2d10b 100644 --- a/man/make_table_07.Rd +++ b/man/make_table_07.Rd @@ -23,9 +23,9 @@ make_table_07( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} @@ -47,7 +47,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_08.Rd b/man/make_table_08.Rd index d7282d99..f25621a3 100644 --- a/man/make_table_08.Rd +++ b/man/make_table_08.Rd @@ -22,7 +22,7 @@ make_table_08( \item{adex}{(\code{data.frame})\cr dataset (typically ADEX) required to build table.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} diff --git a/man/make_table_09.Rd b/man/make_table_09.Rd index 33391df0..dd32f724 100644 --- a/man/make_table_09.Rd +++ b/man/make_table_09.Rd @@ -2,6 +2,7 @@ % Please edit documentation in R/fda-table_09.R \name{make_table_09} \alias{make_table_09} +\alias{make_table_09_tplyr} \alias{make_table_09_gtsum} \title{FDA Table 9: Patients With Serious Adverse Events by System Organ Class and Preferred Term, Safety Population, Pooled Analyses} @@ -21,6 +22,25 @@ make_table_09( annotations = NULL ) +make_table_09_tplyr( + adae, + alt_counts_df = NULL, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + ser_var = "AESER", + soc_var = "AESOC", + pref_var = "AEDECOD", + lbl_soc_var = "System Organ Class", + lbl_pref_var = "Reported Term for Adverse Event", + risk_diff_pairs = NULL, + show_colcounts = TRUE, + lbl_overall = NULL, + prune_0 = TRUE, + tplyr_raw = FALSE, + annotations = NULL +) + make_table_09_gtsum( adae, alt_counts_df = NULL, @@ -43,15 +63,15 @@ make_table_09_gtsum( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr safety population flag variable from \code{adae} to include in the table.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{lbl_pref_var}{(\code{character})\cr label corresponding to preferred term variable \code{pref_var} to print in the table.} @@ -62,7 +82,7 @@ the given value as the column label.} of length 2 and contain the name of treatment arms to calculate risk difference and its 95\% CI for. Those names must exist in the \code{arm_var} column of the dataset specified in \code{adae}.} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, and a list of characters called \code{footnotes}. @@ -74,21 +94,33 @@ Each name-value pair should use the annotation type as name and the desired stri \item{lbl_soc_var}{(\code{character})\cr label corresponding to system organ class variable \code{soc_var} to print in the table.} + +\item{risk_diff_pairs}{(\code{list} of \code{character} vectors)\cr Optional. List of character vectors. Each vector must be +of length 2 and contain the name of treatment arms to calculate risk difference and its 95\% CI for. Those names +must exist in the \code{arm_var} column of the dataset specified in \code{adae}.} + +\item{tplyr_raw}{(\code{flag})\cr Boolean. Indicates whether the raw \code{tibble} created using \code{Tplyr} functions should be +returned or a presentation ready \code{gt_table} (default).} } \value{ +\itemize{ +\item \code{make_table_09} returns an \code{rtables} table object. +} + An \code{rtable} object. \itemize{ -\item \code{make_table_32_gtsum} returns a \code{gt} object +\item \code{make_table_09_tplyr()} returns a \code{gt_tbl} object when \code{tplyr_raw = FALSE} (default) and +a \code{tibble} object when \code{tplyr_raw = TRUE}. +} + +\itemize{ +\item \code{make_table_09_gtsum} returns a \code{gt} object. } } \description{ FDA Table 9: Patients With Serious Adverse Events by System Organ Class and Preferred Term, Safety Population, Pooled Analyses - -Function to create FDA Table 9: Patients With Serious Adverse Events -by System Organ Class and Preferred Term, -Safety Population, Pooled Analyses with /code{gt} } \details{ \itemize{ @@ -101,12 +133,38 @@ flag variables are treated as \code{"N"}. \item Numbers in table represent the absolute numbers of patients and fraction of \code{N}. \item All-zero rows are removed by default (see \code{prune_0} argument). } + +For \code{make_table_09_tplyr()} +\itemize{ +\item \code{adae} must contain the variables specified by \code{id_var}, \code{arm_var}, \code{saffl_var}, \code{ser_var}, \code{soc_var}, and +\code{pref_var}. +\item If specified, \code{alt_counts_df} must contain the variables specified by \code{id_var}, \code{saffl_var}, and \code{arm_var}. +\item Flag variables are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in +flag variables are treated as \code{"N"}. +\item Columns are split by the variable specified in \code{arm_var}. Overall population column is excluded by default +(see \code{lbl_overall} argument). +\item Numbers in the table represent the absolute numbers of patients and fraction of \code{N} (total number of patient in +the safety population. +\item All-zero rows are removed by default (see \code{prune_0} argument). +\item Risk difference is calculated by using the default functionality of \code{Tplyr::add_risk_diff()} +} } \section{Functions}{ \itemize{ +\item \code{make_table_09()}: Create FDA table 9 using functions from \code{rtables} and \code{tern}. + +\item \code{make_table_09_tplyr()}: Create FDA table 9 using functions from \code{Tplyr}. + \item \code{make_table_09_gtsum()}: Create FDA table 9 using functions from \code{gt}. }} +\note{ +\itemize{ +\item \code{make_table_09_tplyr()} does not support annotations in case \code{tplyr_raw = TRUE}. +\item \code{make_table_09_tplyr()} raises a warning in case \code{pref_var} or \code{soc_var} is a factor. Those can safely be ignored. +\item \code{make_table_09_tplyr()} does not explicitly handle missings. +} +} \examples{ adsl <- random.cdisc.data::cadsl adae <- random.cdisc.data::cadae @@ -117,6 +175,29 @@ tbl adsl <- random.cdisc.data::cadsl adae <- random.cdisc.data::cadae +# Basic table +make_table_09_tplyr(adae = adae, alt_counts_df = adsl) + +# Activate risk difference column +rd_pairs <- list(c("A: Drug X", "B: Placebo"), c("A: Drug X", "C: Combination")) +make_table_09_tplyr(adae = adae, alt_counts_df = adsl, risk_diff_pairs = rd_pairs) + +# Add overall column +make_table_09_tplyr(adae = adae, alt_counts_df = adsl, lbl_overall = "Total patients") + +# Add titles and footnotes +annot <- list( + title = "Table 9. Patients with Serious Adverse Events by SOC and PT, Safety Population, + Pooled Analyses", + subtitles = c("Only one title, but", "multiple subtitles possible"), + main_footer = c("Main footer 1", "Main footer 2"), + prov_footer = c("Some more information", "E.g. a source note") +) +make_table_09_tplyr(adae = adae, alt_counts_df = adsl, annotations = annot) + +adsl <- random.cdisc.data::cadsl +adae <- random.cdisc.data::cadae + tbl <- make_table_09_gtsum(adae = adae, alt_counts_df = adsl) tbl @@ -136,4 +217,5 @@ tbl <- make_table_09_gtsum( risk_diff = risk_diff ) tbl + } diff --git a/man/make_table_10.Rd b/man/make_table_10.Rd index 69b8f483..d7cc0fa7 100644 --- a/man/make_table_10.Rd +++ b/man/make_table_10.Rd @@ -27,11 +27,11 @@ make_table_10( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} @@ -57,7 +57,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_11.Rd b/man/make_table_11.Rd index 038e31f3..44c2b98a 100644 --- a/man/make_table_11.Rd +++ b/man/make_table_11.Rd @@ -27,11 +27,11 @@ make_table_11( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} @@ -57,7 +57,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_12.Rd b/man/make_table_12.Rd index 375f3c0d..67926716 100644 --- a/man/make_table_12.Rd +++ b/man/make_table_12.Rd @@ -24,15 +24,15 @@ make_table_12( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with the given value as the column label.} @@ -50,7 +50,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/make_table_13.Rd b/man/make_table_13.Rd index 42d7d630..3addbfd0 100644 --- a/man/make_table_13.Rd +++ b/man/make_table_13.Rd @@ -24,17 +24,17 @@ make_table_13( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{min_freq}{(\code{proportion})\cr minimum \% frequency (fraction of \code{N}) required in any column to include each row.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{lbl_pref_var}{(\code{character})\cr label corresponding to preferred term variable \code{pref_var} to print in the table.} diff --git a/man/make_table_14.Rd b/man/make_table_14.Rd index 8f19ce10..f40ed21e 100644 --- a/man/make_table_14.Rd +++ b/man/make_table_14.Rd @@ -27,13 +27,13 @@ make_table_14( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{soc_var}{(\code{character})\cr flag variable used to indicate system organ class.} +\item{soc_var}{(\code{character})\cr Name of the system organ class variable from \code{adae} to include in the table.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} @@ -57,7 +57,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_15.Rd b/man/make_table_15.Rd index 54c7cf2d..7ddccb87 100644 --- a/man/make_table_15.Rd +++ b/man/make_table_15.Rd @@ -29,15 +29,15 @@ make_table_15( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{sex_scope}{(\code{character})\cr Level of \code{SEX} to output in table.} @@ -63,7 +63,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_16.Rd b/man/make_table_16.Rd index 212f6cc1..0eb5e101 100644 --- a/man/make_table_16.Rd +++ b/man/make_table_16.Rd @@ -29,15 +29,15 @@ make_table_16( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{sex_scope}{(\code{character})\cr Level of \code{SEX} to output in table.} @@ -63,7 +63,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_17.Rd b/man/make_table_17.Rd index fbb0fbfe..ce124469 100644 --- a/man/make_table_17.Rd +++ b/man/make_table_17.Rd @@ -29,15 +29,15 @@ make_table_17( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{sex_scope}{(\code{character})\cr Level of \code{SEX} to output in table.} @@ -63,7 +63,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_18.Rd b/man/make_table_18.Rd index ac249b62..218d7e1e 100644 --- a/man/make_table_18.Rd +++ b/man/make_table_18.Rd @@ -29,15 +29,15 @@ make_table_18( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{sex_scope}{(\code{character})\cr Level of \code{SEX} to output in table.} @@ -63,7 +63,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} diff --git a/man/make_table_20.Rd b/man/make_table_20.Rd index 1ee5c73d..502881c7 100644 --- a/man/make_table_20.Rd +++ b/man/make_table_20.Rd @@ -25,15 +25,15 @@ make_table_20( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} \item{aesifl_var}{(\code{character})\cr variable from \code{adae} that indicates adverse events of special interest.} @@ -55,7 +55,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/make_table_21.Rd b/man/make_table_21.Rd index c4adb3de..f5c278d5 100644 --- a/man/make_table_21.Rd +++ b/man/make_table_21.Rd @@ -25,15 +25,15 @@ make_table_21( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{vars}{(\code{vector} of \code{character})\cr variables from \code{df} to include in the table.} +\item{vars}{(\code{vector} of \code{character})\cr Variables from \code{df} to include in the table.} \item{denom}{(\code{character})\cr Denominator to use to calculate fractions. Can be \code{"N_s"} (total \code{df_denom} subgroup/row counts), \code{"N_col"} (total \code{df} column counts), or \code{"n"} (total \code{df} overall patient count). @@ -45,7 +45,7 @@ the given value as the column label.} \item{lbl_vars}{(\code{vector} of \code{character})\cr labels corresponding to variables in \code{vars} to print in the table. Labels should be ordered according to the order of variables in \code{vars}.} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should diff --git a/man/make_table_22.Rd b/man/make_table_22.Rd index 75d52ff3..cc23be80 100644 --- a/man/make_table_22.Rd +++ b/man/make_table_22.Rd @@ -23,13 +23,13 @@ make_table_22( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{vars}{(\code{vector} of \code{character})\cr variables from \code{df} to include in the table.} +\item{vars}{(\code{vector} of \code{character})\cr Variables from \code{df} to include in the table.} \item{denom}{(\code{character})\cr Denominator to use to calculate fractions. Can be \code{"N_s"} (total \code{df_denom} subgroup/row counts), \code{"N_col"} (total \code{df} column counts), or \code{"n"} (total \code{df} overall patient count). @@ -41,7 +41,7 @@ the given value as the column label.} \item{lbl_vars}{(\code{vector} of \code{character})\cr labels corresponding to variables in \code{vars} to print in the table. Labels should be ordered according to the order of variables in \code{vars}.} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should @@ -68,18 +68,16 @@ flag variables are treated as \code{"N"}. \examples{ library(dplyr) -adsl <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adsl") \%>\% +adsl <- random.cdisc.data::cadsl \%>\% mutate(AGEGR1 = as.factor(case_when( AGE >= 17 & AGE < 65 ~ ">=17 to <65", AGE >= 65 ~ ">=65", AGE >= 65 & AGE < 75 ~ ">=65 to <75", AGE >= 75 ~ ">=75" )) \%>\% formatters::with_label("Age Group, years")) \%>\% - formatters::var_relabel( - AGE = "Age, years" - ) + formatters::var_relabel(AGE = "Age, years") -adae <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adae") +adae <- random.cdisc.data::cadae df <- left_join(adsl, adae, by = intersect(names(adsl), names(adae))) diff --git a/man/make_table_32.Rd b/man/make_table_32.Rd index f7798125..742ab5c5 100644 --- a/man/make_table_32.Rd +++ b/man/make_table_32.Rd @@ -21,7 +21,7 @@ make_table_32( make_table_32_gtsum( advs, - adsl, + alt_counts_df = NULL, id_var = "USUBJID", arm_var = "ARM", saffl_var = "SAFFL", @@ -33,11 +33,11 @@ make_table_32_gtsum( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} @@ -57,13 +57,11 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should use the annotation type as name and the desired string as value.} - -\item{adsl}{(\code{data.frame})\cr dataset (typically ADSL) required to build table.} } \value{ \itemize{ diff --git a/man/make_table_33.Rd b/man/make_table_33.Rd index 5f1bf843..d9e2d15d 100644 --- a/man/make_table_33.Rd +++ b/man/make_table_33.Rd @@ -2,6 +2,7 @@ % Please edit documentation in R/fda-table_33.R \name{make_table_33} \alias{make_table_33} +\alias{make_table_33_gtsum} \title{FDA Table 33: Percentage of Patients Meeting Specific Hypotension Levels Postbaseline, Safety Population, Pooled Analysis} \usage{ @@ -17,17 +18,26 @@ make_table_33( prune_0 = FALSE, annotations = NULL ) + +make_table_33_gtsum( + advs, + alt_counts_df = NULL, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + lbl_overall = NULL +) } \arguments{ \item{advs}{(\code{data.frame})\cr dataset (typically ADVS) required to build table.} \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} @@ -47,7 +57,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should @@ -55,6 +65,10 @@ use the annotation type as name and the desired string as value.} } \value{ An \code{rtable} object. + +\itemize{ +\item \code{make_table_33_gtsum} returns a \code{gt} object +} } \description{ FDA Table 33: Percentage of Patients Meeting Specific Hypotension Levels Postbaseline, @@ -72,6 +86,11 @@ flag variables are treated as \code{"N"}. \item All-zero rows are not removed by default (see \code{prune_0} argument). } } +\section{Functions}{ +\itemize{ +\item \code{make_table_33_gtsum()}: Create FDA table 33 using functions from \code{gtsummary}. + +}} \examples{ adsl <- random.cdisc.data::cadsl advs <- random.cdisc.data::cadvs @@ -80,4 +99,7 @@ advs$AVAL <- advs$AVAL - 100 tbl <- make_table_33(advs = advs, alt_counts_df = adsl) tbl +tbl <- make_table_33_gtsum(advs = advs) +tbl + } diff --git a/man/make_table_34.Rd b/man/make_table_34.Rd index 96568b44..6ec7481a 100644 --- a/man/make_table_34.Rd +++ b/man/make_table_34.Rd @@ -12,10 +12,12 @@ make_table_34( id_var = "USUBJID", arm_var = "ARM", saffl_var = "SAFFL", + trtemfl_var = "TRTEMFL", fmqsc_var = "FMQ01SC", fmqnam_var = "FMQ01NAM", fmq_scope = "NARROW", pref_var = "AEDECOD", + lbl_pref_var = formatters::var_labels(adae, fill = TRUE)[pref_var], lbl_overall = NULL, risk_diff = NULL, prune_0 = TRUE, @@ -28,21 +30,25 @@ make_table_34( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} +\item{trtemfl_var}{(\code{character})\cr flag variable used to identify Treatment-emergent AE.} + \item{fmqsc_var}{(\code{character})\cr FMQ scope variable to use in table.} \item{fmqnam_var}{(\code{character})\cr FMQ reference name variable to use in table.} \item{fmq_scope}{(\code{character})\cr FMQ scope ("NARROW" or "BROAD") to output in table.} -\item{pref_var}{(\code{character})\cr preferred term variable from \code{adae} to include in the table.} +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} + +\item{lbl_pref_var}{(\code{character})\cr label corresponding to preferred term variable \code{pref_var} to print in the table.} \item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with the given value as the column label.} @@ -60,7 +66,7 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{na_level}{(\code{character})\cr string to represent missing values.} @@ -75,7 +81,7 @@ Preferred Term, Safety Population, Pooled Analysis (or Trial X) \details{ \itemize{ \item \code{adae} must contain the variables \code{AEBODSYS}, \code{AESER}, and the variables specified by -\code{arm_var}, \code{id_var}, \code{saffl_var}, \code{fmqsc_var}, \code{fmqnam_var}, and \code{pref_var}. +\code{arm_var}, \code{id_var}, \code{saffl_var}, \code{trtemfl_var}, \code{fmqsc_var}, \code{fmqnam_var}, and \code{pref_var}. \item If specified, \code{alt_counts_df} must contain the variables specified by \code{arm_var}, \code{id_var}, and \code{saffl_var}. \item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in flag variables are treated as \code{"N"}. diff --git a/man/make_table_35.Rd b/man/make_table_35.Rd index b0cf3d02..6556f6d6 100644 --- a/man/make_table_35.Rd +++ b/man/make_table_35.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/fda-table_35.R \name{make_table_35} \alias{make_table_35} -\title{Table 35. Patients With Adverse Events1 by System Organ Class, +\title{Table 35. Patients With Adverse Events by System Organ Class, Safety Population, Pooled Analysis (or Trial X)} \usage{ make_table_35( @@ -25,15 +25,15 @@ make_table_35( \item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} -\item{show_colcounts}{(\code{flag})\cr whether column counts should be printed.} +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} \item{id_var}{(\code{character})\cr variable used as unique subject identifier.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} -\item{soc_var}{(\code{character})\cr flag variable used to indicate system organ class.} +\item{soc_var}{(\code{character})\cr Name of the system organ class variable from \code{adae} to include in the table.} \item{lbl_soc_var}{(\code{character})\cr label corresponding to system organ class variable \code{soc_var} to print in the table.} @@ -54,14 +54,14 @@ be included in the column labels by default. The length of \code{col_label} must \item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. }} -\item{prune_0}{(\code{flag})\cr whether all-zero rows should be removed from the table.} +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should use the annotation type as name and the desired string as value.} } \description{ -Table 35. Patients With Adverse Events1 by System Organ Class, +Table 35. Patients With Adverse Events by System Organ Class, Safety Population, Pooled Analysis (or Trial X) } \details{ diff --git a/man/make_table_36.Rd b/man/make_table_36.Rd new file mode 100644 index 00000000..dd74cfa9 --- /dev/null +++ b/man/make_table_36.Rd @@ -0,0 +1,92 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fda-table_36.R +\name{make_table_36} +\alias{make_table_36} +\title{Table 36. Patients With Adverse Events by System Organ Class and Preferred Term, Safety +Population, Pooled Analysis (or Trial X)} +\usage{ +make_table_36( + adae, + alt_counts_df = NULL, + show_colcounts = TRUE, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + soc_var = "AESOC", + pref_var = "AEDECOD", + lbl_soc_var = formatters::var_labels(adae, fill = TRUE)[soc_var], + lbl_overall = NULL, + risk_diff = NULL, + prune_0 = FALSE, + annotations = NULL +) +} +\arguments{ +\item{adae}{(\code{data.frame})\cr dataset (typically ADAE) required to build table.} + +\item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} + +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} + +\item{id_var}{(\code{character})\cr variable used as unique subject identifier.} + +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} + +\item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} + +\item{soc_var}{(\code{character})\cr Name of the system organ class variable from \code{adae} to include in the table.} + +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} + +\item{lbl_soc_var}{(\code{character})\cr label corresponding to system organ class variable \code{soc_var} to print in the +table.} + +\item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with +the given value as the column label.} + +\item{risk_diff}{(named \code{list})\cr list of settings to apply to add one or more risk difference columns to the table. +Defaults to \code{NULL} (no risk difference column added). See \code{\link[tern:add_riskdiff]{tern::add_riskdiff()}} for more details. List should +contain the following elements: +\itemize{ +\item \code{arm_x}: (required) the name of reference arm. +\item \code{arm_y}: (required) the names of the arms to compare to the reference arm. A new column will be added for each +element of \code{arm_y}. +\item \code{col_label}: (optional) labels to use for the risk difference columns. Defaults to +\code{"Risk Difference (\%) (95\% CI)"}. For more than one risk difference column, \code{"arm x vs. arm y"} text will also +be included in the column labels by default. The length of \code{col_label} must be equal to the length of \code{arm_y}. +\item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. +}} + +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} + +\item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid +annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should +use the annotation type as name and the desired string as value.} +} +\value{ +\itemize{ +\item \code{make_table_36} returns an \code{rtables} table object. +} +} +\description{ +Table 36. Patients With Adverse Events by System Organ Class and Preferred Term, Safety +Population, Pooled Analysis (or Trial X) +} +\details{ +\itemize{ +\item \code{adae} must contain the variables specified by \code{id_var}, \code{arm_var}, \code{saffl_var}, \code{soc_var}, +and \code{pref_var}. +\item If specified, \code{alt_counts_df} must contain the variables specified by \code{arm_var}, \code{id_var}, and \code{saffl_var}. +\item Columns are split by arm. Overall population column is excluded by default (see \code{lbl_overall} argument). +\item Numbers in table represent the absolute numbers of patients and fraction of \code{N}. +\item All-zero rows are removed by default (see \code{prune_0} argument). +} +} +\examples{ +adsl <- random.cdisc.data::cadsl +adae <- random.cdisc.data::cadae + +tbl <- make_table_35(adae = adae, alt_counts_df = adsl) +tbl + +} diff --git a/man/make_table_38.Rd b/man/make_table_38.Rd new file mode 100644 index 00000000..830ab619 --- /dev/null +++ b/man/make_table_38.Rd @@ -0,0 +1,111 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fda-table_38.R +\name{make_table_38} +\alias{make_table_38} +\title{FDA Table 38: Patients With Adverse Events by System Organ Class, FDA Medical Query (Broad) and Preferred Term, +Safety Population, Pooled Analysis (or Trial X)} +\usage{ +make_table_38( + adae, + alt_counts_df = NULL, + show_colcounts = TRUE, + id_var = "USUBJID", + arm_var = "ARM", + saffl_var = "SAFFL", + trtemfl_var = "TRTEMFL", + fmqsc_var = "FMQ01SC", + fmqnam_var = "FMQ01NAM", + fmq_scope = "BROAD", + pref_var = "AEDECOD", + lbl_overall = NULL, + lbl_pref_var = formatters::var_labels(adae, fill = TRUE)[pref_var], + risk_diff = NULL, + prune_0 = TRUE, + na_level = "", + annotations = NULL +) +} +\arguments{ +\item{adae}{(\code{data.frame})\cr dataset (typically ADAE) required to build table.} + +\item{alt_counts_df}{(\code{character})\cr alternative dataset (typically ADSL) used only to calculate column counts.} + +\item{show_colcounts}{(\code{flag})\cr Whether column counts should be printed. Boolean.} + +\item{id_var}{(\code{character})\cr variable used as unique subject identifier.} + +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} + +\item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} + +\item{trtemfl_var}{(\code{character})\cr flag variable used to identify Treatment-emergent AE.} + +\item{fmqsc_var}{(\code{character})\cr FMQ scope variable to use in table.} + +\item{fmqnam_var}{(\code{character})\cr FMQ reference name variable to use in table.} + +\item{fmq_scope}{(\code{character})\cr FMQ scope ("NARROW" or "BROAD") to output in table.} + +\item{pref_var}{(\code{character})\cr Name of the preferred term variable from \code{adae} to include in the table.} + +\item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with +the given value as the column label.} + +\item{lbl_pref_var}{(\code{character})\cr label corresponding to preferred term variable \code{pref_var} to print in the table.} + +\item{risk_diff}{(named \code{list})\cr list of settings to apply to add one or more risk difference columns to the table. +Defaults to \code{NULL} (no risk difference column added). See \code{\link[tern:add_riskdiff]{tern::add_riskdiff()}} for more details. List should +contain the following elements: +\itemize{ +\item \code{arm_x}: (required) the name of reference arm. +\item \code{arm_y}: (required) the names of the arms to compare to the reference arm. A new column will be added for each +element of \code{arm_y}. +\item \code{col_label}: (optional) labels to use for the risk difference columns. Defaults to +\code{"Risk Difference (\%) (95\% CI)"}. For more than one risk difference column, \code{"arm x vs. arm y"} text will also +be included in the column labels by default. The length of \code{col_label} must be equal to the length of \code{arm_y}. +\item \code{pct}: (optional) whether the output should be returned as percentages. Defaults to \code{TRUE}. +}} + +\item{prune_0}{(\code{flag})\cr Whether all-zero rows should be removed from the table. Boolean.} + +\item{na_level}{(\code{character})\cr string to represent missing values.} + +\item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the table. Valid +annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should +use the annotation type as name and the desired string as value.} +} +\description{ +FDA Table 38: Patients With Adverse Events by System Organ Class, FDA Medical Query (Broad) and Preferred Term, +Safety Population, Pooled Analysis (or Trial X) +} +\details{ +\itemize{ +\item \code{adae} must contain the variables \code{AEBODSYS}, \code{AESER}, and the variables specified by +\code{arm_var}, \code{id_var}, \code{saffl_var}, \code{trtemfl_var}, \code{fmqsc_var}, \code{fmqnam_var}, and \code{pref_var}. +\item If specified, \code{alt_counts_df} must contain the variables specified by \code{arm_var}, \code{id_var}, and \code{saffl_var}. +\item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in +flag variables are treated as \code{"N"}. +\item Columns are split by arm. Overall population column is excluded by default (see \code{lbl_overall} argument). +\item Numbers in table represent the absolute numbers of patients and fraction of \code{N}. +\item All-zero rows are removed by default (see \code{prune_0} argument). +} +} +\examples{ +library(dplyr) + +adae <- random.cdisc.data::cadae +adsl <- random.cdisc.data::cadsl + +set.seed(1) +adae <- adae \%>\% + rename(FMQ01SC = SMQ01SC) \%>\% + mutate( + AESER = sample(c("Y", "N"), size = nrow(adae), replace = TRUE), + FMQ01NAM = sample(c("FMQ1", "FMQ2", "FMQ3"), size = nrow(adae), replace = TRUE) + ) +adae$FMQ01SC[is.na(adae$FMQ01SC)] <- "Broad" + +tbl <- make_table_38(adae = adae, alt_counts_df = adsl) +tbl + +} diff --git a/man/renaming_function.Rd b/man/renaming_function.Rd deleted file mode 100644 index eede3224..00000000 --- a/man/renaming_function.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/fda-table_09.R -\name{renaming_function} -\alias{renaming_function} -\title{Helper function to rename the combined columns} -\usage{ -renaming_function(x) -} -\arguments{ -\item{x}{character vector containing all column names which start with "combined"} -} -\description{ -Helper function to rename the combined columns -} diff --git a/man/split_cols_by_arm.Rd b/man/split_cols_by_arm.Rd index 08ea9484..36afe6e8 100644 --- a/man/split_cols_by_arm.Rd +++ b/man/split_cols_by_arm.Rd @@ -9,7 +9,7 @@ split_cols_by_arm(lyt, arm_var = "ARM", lbl_overall = NULL, risk_diff = NULL) \arguments{ \item{lyt}{(\code{rtables} layout object)\cr Layout object pre-data used for tabulation.} -\item{arm_var}{(\code{character})\cr arm variable used to split table into columns.} +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} \item{lbl_overall}{(\code{character})\cr if specified, an overall column will be added to the table with the given value as the column label.} diff --git a/quarto/assets/images/logo-bi.png b/quarto/assets/images/logo-bi.png index c93760099f2d87ec35b8a8786d4465c6f56384a6..5bf9cdcf0dedd0fcf6dca81a0caf82094db2beac 100644 GIT binary patch literal 172967 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�f)*(74k zYt~}NsgbeIe@nr~@y`rwT(GEed$z@oL~a?iol8ub#M+`&@Hap`#mYlUVp`u})H%E? z!)k*uh{oR^-|E1X%xKvElqkRb*HH+|hdwJ2Uz^0-$gV%H7-lr<9D%u# z9&HADxj)zg>bj(vl%|BJ6dRch|IQ+OKKex+{X)~Ve7Kpftr!5gzwd2e`#lvQm|~<) zbXQIoKg_xmdXg�SL5Pv4{5}qR~jAT|^2KbIyT(r@mPW?^40`0oI>s&m72Mw(pIq zX)^c5C5&mWP_o@Zw<9*;z6%{5<`c+ab791JQN%8P61|3sis_i=eMdFuKl;vye_fOl zX6!`|MRTEHv%4A{V^~uQmp9PhrK?$tzG)+X3Vu^h=hsAJCCr*Tf^W@C*pwaFh>%Lp zO+5*|x4M)p$w6Vs{_tOgC9_&5u~Ud{g$_u0EvQCVX7K`ARnVRX++3rt##-0VEEXS; zv+BOIpW|9Lud9u|8&g9YY9_EZnf2}MtXuZu0pGbcl6i zNrCz>pK=?lqDhgb1((tt!zvmZ=jx_h2wKaNz9;ffu3oG=&lWkIsUwqaEW^zCWahb< z!=?We9DSfRlF->iZ?Rsb59-Q|gy*+IgSH{2i7F5KCJ2OWWUbF;P(@rp?#uXKtMgeE zaNj(qY*0GNpG6Xn(B}Ld1m=Z!hv&V>uh>}!M=K6 zLh@4|CA8T1q&R%~c5+e4@oGg;h8JUHTC0Y0@~TIN9DLL1a_eKwGFg{Yf3|@}vMjPY z@X18LrC6XqQ`R1YlZre%p)juMT_^r#LB9H$mh8ai5>K-WV5@c?=+~f!t$i82g-dO9 zl0fGL22l3*)7lPfpp$r?WRz@VeAnq{=;6P9o=GR?xNcpAvUAWTz%)0 z>JQ)DwzR-L#X>#aPvpl4gE(J$2@KgeRGwYdbz>U;;L_>61T8%Je5Ul4_*^i(R{!`| z_eSNO zg^4Bq{l5PD^plwi5=s?ZGvS0uC1x`oZ=I3crE=VlX-GXV50j^mdO~nFnn}K2V zNjPyD33FJ4j5t!Cm}Z<1r{!mSifRDCm8Y6DJ;mU9I+DvF@%CuvxjB3>XL@bb8YE^3 zJ+_TODsx0o`bIvqm@B7M@P>o!5Os-=@8S7_#+*RwjpWMk#HG9Z`SqCd(jt&!`5b+-R2$^yGjiBx--JJrZ~BNe_Y z5RSO?b^p2aCSF$1E?JjF`sd|G>tOA-TEzbT6_Q0(mfYP0(P$9FIPVF0tpw6%0A1x`xZww#_)ktZ*5A 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

= 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 literal 160571 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%0D4`t{dIov_y%r!a2;zqdWj{% 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 HHxB-P3m^4B diff --git a/quarto/assets/images/screenshots/fig_14.png b/quarto/assets/images/screenshots/fig_14.png new file mode 100644 index 0000000000000000000000000000000000000000..0c43ef153efb25178a15af1f7ef1bc456af791ce GIT binary patch literal 172903 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 +adsl <- random.cdisc.data::cadsl %>% mutate(AGEGR1 = as.factor(case_when( AGE >= 17 & AGE < 65 ~ ">=17 to <65", AGE >= 65 ~ ">=65", AGE >= 65 & AGE < 75 ~ ">=65 to <75", AGE >= 75 ~ ">=75" )) %>% formatters::with_label("Age Group, years")) %>% - formatters::var_relabel( - AGE = "Age, years" - ) + formatters::var_relabel(AGE = "Age, years") -adae <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adae") +adae <- random.cdisc.data::cadae df <- left_join(adsl, adae, by = intersect(names(adsl), names(adae))) diff --git a/quarto/table-templates/template-table_32.qmd b/quarto/table-templates/template-table_32.qmd index a5b2b332..07a65cb7 100644 --- a/quarto/table-templates/template-table_32.qmd +++ b/quarto/table-templates/template-table_32.qmd @@ -69,7 +69,7 @@ Required variables: | `annotations` | (named `list` of `character`) List of annotations to add to the table. Valid annotation types are `title`, `subtitles`, `main_footer`, and `prov_footer.` Each name-value pair should use the annotation type as name and the desired string as value. | `NULL` | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ -Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_32.R). +Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_32.R#L31). ## gtsummary Table @@ -100,17 +100,19 @@ Required variables: - **`advs`**: `USUBJID`, `AVISITN`, `PARAMCD`, `AVAL`, `AVALU`, and the variables specified by `arm_var` and `saffl_var`. -+---------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ -| Argument | Description | Default | -+:==============+:===================================================================================================================+:=====================+ -| `advs` | (`data.frame`) Dataset (typically ADVS) required to build table. | *No default* | -+---------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ -| `arm_var` | (`character`) Arm variable used to split table into columns. | `"ARM"` | -+---------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ -| `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | -+---------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ -| `lbl_overall` | (`character`) If specified, an overall column will be added to the table with the given value as the column label. | `"Total Population"` | -+---------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ - -Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_32.R). ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| Argument | Description | Default | ++:================+:===================================================================================================================+:=====================+ +| `advs` | (`data.frame`) Dataset (typically ADVS) required to build table. | *No default* | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `alt_counts_df` | (`character`) Alternative dataset (typically ADSL) used only to calculate column counts. | `NULL` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `arm_var` | (`character`) Arm variable used to split table into columns. | `"ARM"` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `lbl_overall` | (`character`) If specified, an overall column will be added to the table with the given value as the column label. | `"Total Population"` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ + +Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_32.R#L91). ::: diff --git a/quarto/table-templates/template-table_33.qmd b/quarto/table-templates/template-table_33.qmd index e78d8ed0..976be34a 100644 --- a/quarto/table-templates/template-table_33.qmd +++ b/quarto/table-templates/template-table_33.qmd @@ -70,5 +70,51 @@ Required variables: | `annotations` | (named `list` of `character`) List of annotations to add to the table. Valid annotation types are `title`, `subtitles`, `main_footer`, and `prov_footer.` Each name-value pair should use the annotation type as name and the desired string as value. | `NULL` | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ -Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_33.R). +Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_33.R#L27). + +## gtsummary Table + +```{r tbl_gtsum, message=FALSE, warning=FALSE} +# Load Libraries & Data +library(falcon) + +adsl <- random.cdisc.data::cadsl +advs <- random.cdisc.data::cadvs +advs$AVAL <- advs$AVAL - 100 + +# Output table +tbl <- make_table_33_gtsum(advs = advs) +tbl +``` + +## gtsummary Table Setup + +```{r tbl_gtsum, eval=FALSE, echo=TRUE} +``` + +## Function Details: `make_table_33_gtsum` + +### `make_table_33_gtsum()` + +------------------------------------------------------------------------ + +Required variables: + +- **`advs`**: `USUBJID`, `AVISITN`, `PARAMCD`, `AVAL`, `AVALU`, and the variables specified by `arm_var` and `saffl_var`. + ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| Argument | Description | Default | ++:================+:===================================================================================================================+:=====================+ +| `advs` | (`data.frame`) Dataset (typically ADVS) required to build table. | *No default* | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `alt_counts_df` | (`character`) Alternative dataset (typically ADSL) used only to calculate column counts. | `NULL` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `arm_var` | (`character`) Arm variable used to split table into columns. | `"ARM"` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ +| `lbl_overall` | (`character`) If specified, an overall column will be added to the table with the given value as the column label. | `"Total Population"` | ++-----------------+--------------------------------------------------------------------------------------------------------------------+----------------------+ + +Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_33.R#L84). ::: diff --git a/quarto/table-templates/template-table_34.qmd b/quarto/table-templates/template-table_34.qmd index 46fbc244..ec4a420c 100644 --- a/quarto/table-templates/template-table_34.qmd +++ b/quarto/table-templates/template-table_34.qmd @@ -50,7 +50,7 @@ make_table_34(adae = adae, alt_counts_df = adsl, pref_var = pref_var, risk_diff Required variables: -- **`adae`**: `USUBJID`, `AEBODSYS`, `AESER`, and the variables specified by `arm_var`, `saffl_var`, `fmqsc_var`, and `fmqnam_var`, and `pref_var`. +- **`adae`**: `USUBJID`, `AEBODSYS`, `AESER`, and the variables specified by `arm_var`, `saffl_var`, `trtemfl_var`, `fmqsc_var`, and `fmqnam_var`, and `pref_var`. - **`alt_counts_df`** (if specified): `USUBJID` and the variables specified by `arm_var` and `saffl_var`. +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+ @@ -66,6 +66,8 @@ Required variables: +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+ | `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+ +| `trtemfl_var` | (`character`) Flag variable used to identify Treatment-emergent AE. | `"TRTEMFL"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+ | `fmqsc_var` | (`character`) FMQ scope variable to use in table. | `"FMQ01SC"` | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+ | `fmqnam_var` | (`character`) FMQ reference name variable to use in table. | `"FMQ01NAM"` | diff --git a/quarto/table-templates/template-table_35.qmd b/quarto/table-templates/template-table_35.qmd index 16822707..469367a5 100644 --- a/quarto/table-templates/template-table_35.qmd +++ b/quarto/table-templates/template-table_35.qmd @@ -1,6 +1,6 @@ --- title: FDA Table 35 -subtitle: Patients With Adverse Events1 by System Organ Class, Safety Population, Pooled Analysis (or Trial X) +subtitle: Patients With Adverse Events by System Organ Class, Safety Population, Pooled Analysis (or Trial X) format: html --- diff --git a/quarto/table-templates/template-table_36.qmd b/quarto/table-templates/template-table_36.qmd new file mode 100644 index 00000000..55e3bd58 --- /dev/null +++ b/quarto/table-templates/template-table_36.qmd @@ -0,0 +1,80 @@ +--- +title: FDA Table 36 +subtitle: Patients With Adverse Events by System Organ Class and Preferred Term, Safety Population, Pooled Analysis (or Trial X) +format: html +--- + +::: panel-tabset +## Spec. Screenshot +![](../assets/images/screenshots/table_36.png){fig-align="center" width="70%"} + +## Table + +```{r tbl, message=FALSE, warning=FALSE} +# Load Libraries & Data +library(random.cdisc.data) +library(falcon) + +adsl <- random.cdisc.data::cadsl +adae <- random.cdisc.data::cadae + +# Output Table +risk_diff <- list(arm_x = "B: Placebo", arm_y = "A: Drug X") # optional +make_table_36(adae = adae, alt_counts_df = adsl, risk_diff = risk_diff) +``` + +## Table Setup + +```{r tbl, eval=FALSE, echo=TRUE} +``` + +## Function Details + +### `make_table_36()` + +------------------------------------------------------------------------ + +Required variables: + +- **`adae`**: The variables specified by `id_var`, `arm_var`, `saffl_var`, `soc_var`, and `pref_var`. +- **`alt_counts_df`** (if specified): The variables specified by `id_var`, `arm_var`, and `saffl_var`. + ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| Argument | Description | Default | ++:=================+:=============================================================================================================================================================================================================================================================+:=====================================================+ +| `adae` | (`data.frame`) Dataset (typically ADAE) required to build table. | *No default* | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `alt_counts_df` | (`character`) Alternative dataset (typically ADSL) used only to calculate column counts. | `NULL` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `show_colcounts` | (`flag`) Whether column counts should be printed. | `TRUE` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `arm_var` | (`character`) Arm variable used to split table into columns. | `"ARM"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `soc_var` | (`character`) SOC variable from `adae` to include in the table. | `"AESOC"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `pref_var` | (`character`) Preferred term variable from `adae` to include in the table. | `"AEDECOD"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `lbl_soc_var` | (`character`) Label corresponding to SOC variable `soc_var` to print in the table. | `formatters::var_labels(adae, fill = TRUE)[soc_var]` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `lbl_overall` | (`character`) If specified, an overall column will be added to the table with the given value as the column label. | `NULL` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `risk_diff` | (named `list`) List of settings to apply to add a risk difference column to the table. See [tern::add_riskdiff()](https://insightsengineering.github.io/tern/main/reference/add_riskdiff.html) for more details. List should contain the following elements: | `NULL` | +| | | | +| | - `arm_x`: (required) the name of reference arm. | | +| | | | +| | - `arm_y`: (required) the name of the arm to compare to the reference arm. | | +| | | | +| | - `col_label`: (optional) label to use for the risk difference column. Defaults to `"Risk Difference (%) (95% CI)"`. | | +| | | | +| | - `pct`: (optional) whether the output should be returned as percentages. Defaults to `TRUE`. | | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `prune_0` | (`flag`) Whether all-zero rows should be removed from the table. | `FALSE` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ +| `annotations` | (named `list` of `character`) List of annotations to add to the table. Valid annotation types are `title`, `subtitles`, `main_footer`, and `prov_footer.` Each name-value pair should use the annotation type as name and the desired string as value. | `NULL` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------+ + +Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_36.R). + +::: diff --git a/quarto/table-templates/template-table_38.qmd b/quarto/table-templates/template-table_38.qmd new file mode 100644 index 00000000..d22cd585 --- /dev/null +++ b/quarto/table-templates/template-table_38.qmd @@ -0,0 +1,103 @@ +--- +title: FDA Table 38 +subtitle: Patients With Adverse Events by System Organ Class, FDA Medical Query (Broad) and Preferred Term, Safety Population, Pooled Analysis (or Trial X) +format: html +--- + +::: panel-tabset +## Spec. Screenshot + +![](../assets/images/screenshots/table_38.png){fig-align="center"} + +## rtables/tern Table + +```{r tbl, message=FALSE, warning=FALSE} +# Load Libraries & Data +library(dplyr) +library(falcon) + +adsl <- random.cdisc.data::cadsl +adae <- random.cdisc.data::cadae + +# Pre-Processing - Ensure required variables fmqsc_var and fmqnam_var exist in adae +set.seed(1) +adae <- adae %>% + rename(FMQ01SC = SMQ01SC) %>% + mutate( + AESER = sample(c("Y", "N"), size = nrow(adae), replace = TRUE), + FMQ01NAM = sample(c("FMQ1", "FMQ2", "FMQ3"), size = nrow(adae), replace = TRUE) + ) +adae$FMQ01SC[is.na(adae$FMQ01SC)] <- "BROAD" + +# Select Preferred Term Variable +pref_var <- "AEDECOD" + +# Output Table +risk_diff <- list(arm_x = "B: Placebo", arm_y = "A: Drug X") # optional +make_table_38(adae = adae, alt_counts_df = adsl, pref_var = pref_var, risk_diff = risk_diff) +``` + +## rtables/tern Table Setup + +```{r tbl, eval=FALSE, echo=TRUE} +``` + +## Function Details + +### `make_table_38()` + +------------------------------------------------------------------------ + +Required variables: + +- **`adae`**: `USUBJID`, `AEBODSYS`, `AESER`, and the variables specified by `arm_var`, `saffl_var`, `trtemfl_var`, `fmqsc_var`, `fmqnam_var`, and `pref_var`. +- **`alt_counts_df`** (if specified): `USUBJID` and the variables specified by `arm_var` and `saffl_var`. + ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| Argument | Description | Default | ++:=================+:=============================================================================================================================================================================================================================================================+:=======================================================+ +| `adae` | (`data.frame`) Dataset (typically ADAE) required to build table. | *No default* | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `alt_counts_df` | (`character`) Alternative dataset used only to calculate column counts. | `NULL` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `show_colcounts` | (`flag`) Whether column counts should be printed. | `TRUE` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `id_var ` | (`character`) variable used as unique subject identifier. | `USUBJID` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `arm_var` | (`character`) Arm variable used to split table into columns. | `"ARM"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `trtemfl_var` | (`character`) Flag variable used to identify Treatment-emergent AE. | `"TRTEMFL"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `fmqsc_var` | (`character`) FMQ scope variable to use in table. | `"FMQ01SC"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `fmqnam_var` | (`character`) FMQ reference name variable to use in table. | `"FMQ01NAM"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `fmq_scope` | (`character`) FMQ scope, can be '"NARROW"' or '"BROAD"'. | `"NARROW"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `pref_var` | (`character`) Preferred term variable from `adae` to include in the table. | `"AEDECOD"` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `lbl_overall` | (`character`) If specified, an overall column will be added to the table with the given value as the column label. | `NULL` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `lbl_pref_var` | (`character`) Label corresponding to preferred term variable `pref_var` to print in the table. | `formatters::var_labels(adae, fill = TRUE)[pref_var]` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `risk_diff` | (named `list`) List of settings to apply to add a risk difference column to the table. See [tern::add_riskdiff()](https://insightsengineering.github.io/tern/main/reference/add_riskdiff.html) for more details. List should contain the following elements: | `NULL` | +| | | | +| | - `arm_x`: (required) the name of reference arm. | | +| | | | +| | - `arm_y`: (required) the name of the arm to compare to the reference arm. | | +| | | | +| | - `col_label`: (optional) label to use for the risk difference column. Defaults to `"Risk Difference (%) (95% CI)"`. | | +| | | | +| | - `pct`: (optional) whether the output should be returned as percentages. Defaults to `TRUE`. | | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `prune_0` | (`flag`) Whether all-zero rows should be removed from the table. | `TRUE` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `na_level` | (`character`) String to represent missing values. | `""` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ +| `annotations` | (named `list` of `character`) List of annotations to add to the table. Valid annotation types are `title`, `subtitles`, `main_footer`, and `prov_footer.` Each name-value pair should use the annotation type as name and the desired string as value. | `NULL` | ++------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+ + +Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-table_38.R). +::: diff --git a/tests/testthat/_snaps/fda-fig_01/fig_01_custom.svg b/tests/testthat/_snaps/fda-fig_01/fig_01_custom.svg index fa271ca6..f48b2e81 100644 --- a/tests/testthat/_snaps/fda-fig_01/fig_01_custom.svg +++ b/tests/testthat/_snaps/fda-fig_01/fig_01_custom.svg @@ -33,62 +33,62 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + -0 -25 -50 -75 -100 - - - - - - - - - - - -0.00 -0.25 -0.50 -0.75 -1.00 -1.10 -Time from first dose (years) -Percent of Patients (%) -Figure 1. Time to Permanent Discontinuation of Study Drug, Safety Population, Pooled Analyses +0 +25 +50 +75 +100 + + + + + + + + + + + +0.00 +0.25 +0.50 +0.75 +1.00 +1.10 +Time from first dose (years) +Percent of Patients (%) +Figure 1. Time to Permanent Discontinuation of Study Drug, Safety Population, Pooled Analyses @@ -101,59 +101,59 @@ - - + + - - - - - - - - - - - - - - - -132 -99 -70 -44 -9 -0 -134 -107 -72 -44 -6 -0 -134 -102 -70 -46 -11 -0 - + + + + + + + + + + + + + + + +132 +99 +70 +44 +9 +0 +134 +107 +72 +44 +6 +0 +134 +102 +70 +46 +11 +0 + -C: Combination -B: Placebo -A: Drug X -Number of Patients - - - - - - - -A: Drug X -B: Placebo -C: Combination +C: Combination +B: Placebo +A: Drug X +Number of Patients + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_01/fig_01_default.svg b/tests/testthat/_snaps/fda-fig_01/fig_01_default.svg index cdf8d544..bcb3d9a9 100644 --- a/tests/testthat/_snaps/fda-fig_01/fig_01_default.svg +++ b/tests/testthat/_snaps/fda-fig_01/fig_01_default.svg @@ -33,57 +33,57 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + -0 -25 -50 -75 -100 - - - - - - - - - - -0 -100 -200 -300 -400 -Time from first dose (days) -Percent of Patients (%) +0 +25 +50 +75 +100 + + + + + + + + + + +0 +100 +200 +300 +400 +Time from first dose (days) +Percent of Patients (%) @@ -91,59 +91,59 @@ - + - - + + - - - - - - - - - - - - - -132 -94 -67 -34 -0 -134 -107 -67 -33 -0 -134 -102 -68 -33 -0 - + + + + + + + + + + + + + +132 +94 +67 +34 +0 +134 +107 +67 +33 +0 +134 +102 +68 +33 +0 + -C: Combination -B: Placebo -A: Drug X -Number of Patients - - - - - - - -A: Drug X -B: Placebo -C: Combination +C: Combination +B: Placebo +A: Drug X +Number of Patients + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_01/fig_01_notbl.svg b/tests/testthat/_snaps/fda-fig_01/fig_01_notbl.svg index b41d577c..585f277b 100644 --- a/tests/testthat/_snaps/fda-fig_01/fig_01_notbl.svg +++ b/tests/testthat/_snaps/fda-fig_01/fig_01_notbl.svg @@ -21,7 +21,7 @@ - + @@ -75,15 +75,15 @@ 400 Time from first dose (days) Percent of Patients (%) - - - - - - - -A: Drug X -B: Placebo -C: Combination + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_01/fig_01_theme.svg b/tests/testthat/_snaps/fda-fig_01/fig_01_theme.svg index 8b85ca50..b364f351 100644 --- a/tests/testthat/_snaps/fda-fig_01/fig_01_theme.svg +++ b/tests/testthat/_snaps/fda-fig_01/fig_01_theme.svg @@ -33,57 +33,57 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + -0 -25 -50 -75 -100 - - - - - - - - - - -0 -100 -200 -300 -400 -Time from first dose (days) -Percent of Patients (%) +0 +25 +50 +75 +100 + + + + + + + + + + +0 +100 +200 +300 +400 +Time from first dose (days) +Percent of Patients (%) @@ -96,60 +96,60 @@ - - + + - - - - - - - - - - - - - - -132 -94 -67 -34 -0 -134 -107 -67 -33 -0 -134 -102 -68 -33 -0 + + + + + + + + + + + + + + +132 +94 +67 +34 +0 +134 +107 +67 +33 +0 +134 +102 +68 +33 +0 -C: Combination -B: Placebo -A: Drug X - - - - - - - - -0 -100 -200 -300 -400 -x -arm -Number of Patients +C: Combination +B: Placebo +A: Drug X + + + + + + + + +0 +100 +200 +300 +400 +x +arm +Number of Patients ARM diff --git a/tests/testthat/_snaps/fda-fig_02/fig_02_custom.svg b/tests/testthat/_snaps/fda-fig_02/fig_02_custom.svg index 763fe8d7..5c57a558 100644 --- a/tests/testthat/_snaps/fda-fig_02/fig_02_custom.svg +++ b/tests/testthat/_snaps/fda-fig_02/fig_02_custom.svg @@ -33,62 +33,62 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + -0 -25 -50 -75 -100 - - - - - - - - - - - -0.00 -0.25 -0.50 -0.75 -1.00 -1.10 -Time from first dose (years) -Percent of Patients (%) -Figure 2. Time to Last Follow Up, Safety Population, Pooled Analyses +0 +25 +50 +75 +100 + + + + + + + + + + + +0.00 +0.25 +0.50 +0.75 +1.00 +1.10 +Time from first dose (years) +Percent of Patients (%) +Figure 2. Time to Last Follow Up, Safety Population, Pooled Analyses @@ -101,59 +101,59 @@ - - + + - - - - - - - - - - - - - - - -132 -99 -70 -44 -9 -0 -134 -107 -72 -44 -6 -0 -134 -102 -70 -46 -11 -0 - + + + + + + + + + + + + + + + +132 +99 +70 +44 +9 +0 +134 +107 +72 +44 +6 +0 +134 +102 +70 +46 +11 +0 + -C: Combination -B: Placebo -A: Drug X -Number of Patients - - - - - - - -A: Drug X -B: Placebo -C: Combination +C: Combination +B: Placebo +A: Drug X +Number of Patients + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_02/fig_02_default.svg b/tests/testthat/_snaps/fda-fig_02/fig_02_default.svg index cdf8d544..bcb3d9a9 100644 --- a/tests/testthat/_snaps/fda-fig_02/fig_02_default.svg +++ b/tests/testthat/_snaps/fda-fig_02/fig_02_default.svg @@ -33,57 +33,57 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + -0 -25 -50 -75 -100 - - - - - - - - - - -0 -100 -200 -300 -400 -Time from first dose (days) -Percent of Patients (%) +0 +25 +50 +75 +100 + + + + + + + + + + +0 +100 +200 +300 +400 +Time from first dose (days) +Percent of Patients (%) @@ -91,59 +91,59 @@ - + - - + + - - - - - - - - - - - - - -132 -94 -67 -34 -0 -134 -107 -67 -33 -0 -134 -102 -68 -33 -0 - + + + + + + + + + + + + + +132 +94 +67 +34 +0 +134 +107 +67 +33 +0 +134 +102 +68 +33 +0 + -C: Combination -B: Placebo -A: Drug X -Number of Patients - - - - - - - -A: Drug X -B: Placebo -C: Combination +C: Combination +B: Placebo +A: Drug X +Number of Patients + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_02/fig_02_notbl.svg b/tests/testthat/_snaps/fda-fig_02/fig_02_notbl.svg index b41d577c..585f277b 100644 --- a/tests/testthat/_snaps/fda-fig_02/fig_02_notbl.svg +++ b/tests/testthat/_snaps/fda-fig_02/fig_02_notbl.svg @@ -21,7 +21,7 @@ - + @@ -75,15 +75,15 @@ 400 Time from first dose (days) Percent of Patients (%) - - - - - - - -A: Drug X -B: Placebo -C: Combination + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_02/fig_02_theme.svg b/tests/testthat/_snaps/fda-fig_02/fig_02_theme.svg index 8b85ca50..b364f351 100644 --- a/tests/testthat/_snaps/fda-fig_02/fig_02_theme.svg +++ b/tests/testthat/_snaps/fda-fig_02/fig_02_theme.svg @@ -33,57 +33,57 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + -0 -25 -50 -75 -100 - - - - - - - - - - -0 -100 -200 -300 -400 -Time from first dose (days) -Percent of Patients (%) +0 +25 +50 +75 +100 + + + + + + + + + + +0 +100 +200 +300 +400 +Time from first dose (days) +Percent of Patients (%) @@ -96,60 +96,60 @@ - - + + - - - - - - - - - - - - - - -132 -94 -67 -34 -0 -134 -107 -67 -33 -0 -134 -102 -68 -33 -0 + + + + + + + + + + + + + + +132 +94 +67 +34 +0 +134 +107 +67 +33 +0 +134 +102 +68 +33 +0 -C: Combination -B: Placebo -A: Drug X - - - - - - - - -0 -100 -200 -300 -400 -x -arm -Number of Patients +C: Combination +B: Placebo +A: Drug X + + + + + + + + +0 +100 +200 +300 +400 +x +arm +Number of Patients ARM diff --git a/tests/testthat/_snaps/fda-fig_14/fig_14_custom.svg b/tests/testthat/_snaps/fda-fig_14/fig_14_custom.svg new file mode 100644 index 00000000..ea67c445 --- /dev/null +++ b/tests/testthat/_snaps/fda-fig_14/fig_14_custom.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +135 +140 +145 +150 +155 +160 + + + + + + + + + + + + +BASELINE +WEEK 1 DAY 8 +WEEK 2 DAY 15 +WEEK 3 DAY 22 +WEEK 4 DAY 29 +WEEK 5 DAY 36 +Analysis Visit +Systolic (unit) +Source: [include source] +Figure 14. Mean and 95% Confidence Interval of Systolic Blood Pressure Over Time by Treatment +Arm, Safety Population, Trial X + + + + + + + + + + + + + + + + + + + + + + + + + + +144.7 +152.7 +151.3 +148.5 +148.6 +150.4 +149.5 +148.0 +146.7 +145.6 +151.7 +150.4 +151.7 +149.6 +150.7 +149.3 +151.2 +151.2 + + + +C: Combination +B: Placebo +A: Drug X +Mean Value + + + + + + + + + + + + + + + + + + + + + + + + + + +132 +132 +132 +132 +132 +132 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 + + + +C: Combination +B: Placebo +A: Drug X +Number of Patients with Data + + + + + + + + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/_snaps/fda-fig_14/fig_14_default.svg b/tests/testthat/_snaps/fda-fig_14/fig_14_default.svg new file mode 100644 index 00000000..18736693 --- /dev/null +++ b/tests/testthat/_snaps/fda-fig_14/fig_14_default.svg @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +140 +145 +150 +155 + + + + + + + + + + + +SCREENING +BASELINE +WEEK 1 DAY 8 +WEEK 2 DAY 15 +WEEK 3 DAY 22 +WEEK 4 DAY 29 +WEEK 5 DAY 36 +Mean Value (95% CI) +Systolic Blood Pressure (Pa) + + + + + + + + + + + + + + + + + + + + + + + + + + + +149.6 +144.7 +152.7 +151.3 +148.5 +148.6 +150.4 +150.4 +149.5 +148.0 +146.7 +145.6 +151.7 +150.4 +153.4 +151.7 +149.6 +150.7 +149.3 +151.2 +151.2 + + + +C: Combination +B: Placebo +A: Drug X +Mean Value + + + + + + + + + + + + + + + + + + + + + + + + + + + +132 +132 +132 +132 +132 +132 +132 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 + + + +C: Combination +B: Placebo +A: Drug X +Number of Patients with Data + + + + + + + + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/_snaps/fda-fig_14/fig_14_notbl.svg b/tests/testthat/_snaps/fda-fig_14/fig_14_notbl.svg new file mode 100644 index 00000000..d16646f9 --- /dev/null +++ b/tests/testthat/_snaps/fda-fig_14/fig_14_notbl.svg @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +140 +145 +150 +155 + + + + + + + + + + + +SCREENING +BASELINE +WEEK 1 DAY 8 +WEEK 2 DAY 15 +WEEK 3 DAY 22 +WEEK 4 DAY 29 +WEEK 5 DAY 36 +Mean Value (95% CI) +Systolic Blood Pressure (Pa) + + + + + + + + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/_snaps/fda-fig_14/fig_14_theme.svg b/tests/testthat/_snaps/fda-fig_14/fig_14_theme.svg new file mode 100644 index 00000000..90220f8d --- /dev/null +++ b/tests/testthat/_snaps/fda-fig_14/fig_14_theme.svg @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +140 +145 +150 +155 + + + + + + + + + + + +SCREENING +BASELINE +WEEK 1 DAY 8 +WEEK 2 DAY 15 +WEEK 3 DAY 22 +WEEK 4 DAY 29 +WEEK 5 DAY 36 +Mean Value (95% CI) +Systolic Blood Pressure (Pa) + + + + + + + + + + + + + + + + + + + + + + + + + + + +149.6 +144.7 +152.7 +151.3 +148.5 +148.6 +150.4 +150.4 +149.5 +148.0 +146.7 +145.6 +151.7 +150.4 +153.4 +151.7 +149.6 +150.7 +149.3 +151.2 +151.2 + + + +C: Combination +B: Placebo +A: Drug X +Mean Value + + + + + + + + + + + + + + + + + + + + + + + + + + + +132 +132 +132 +132 +132 +132 +132 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 +134 + + + +C: Combination +B: Placebo +A: Drug X +Number of Patients with Data + +ARM + + + + + + + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/_snaps/fda-table_09.md b/tests/testthat/_snaps/fda-table_09.md index 02d62118..06ddc620 100644 --- a/tests/testthat/_snaps/fda-table_09.md +++ b/tests/testthat/_snaps/fda-table_09.md @@ -175,3 +175,38 @@ +# make_table_09_tplyr() returns a tibble when tplyr_raw = TRUE + + Code + tbl_out + Output + # A tibble: 9 x 4 + row_label1 `var1_A: Drug X` `var1_B: Placebo` `var1_C: Combination` + + 1 "System Organ Class ~ "A: Drug X\n(N=~ "B: Placebo\n(N=~ "C: Combination\n(N=~ + 2 "Any SAE" "104 (100.0%)" "101 (100.0%)" " 99 (100.0%)" + 3 "cl A" " 48 ( 46.2%)" " 48 ( 47.5%)" " 50 ( 50.5%)" + 4 " dcd A.1.1.1.2" " 48 ( 46.2%)" " 48 ( 47.5%)" " 50 ( 50.5%)" + 5 "cl B" " 79 ( 76.0%)" " 78 ( 77.2%)" " 76 ( 76.8%)" + 6 " dcd B.1.1.1.1" " 47 ( 45.2%)" " 49 ( 48.5%)" " 43 ( 43.4%)" + 7 " dcd B.2.2.3.1" " 48 ( 46.2%)" " 54 ( 53.5%)" " 51 ( 51.5%)" + 8 "cl D" " 50 ( 48.1%)" " 42 ( 41.6%)" " 51 ( 51.5%)" + 9 " dcd D.1.1.1.1" " 50 ( 48.1%)" " 42 ( 41.6%)" " 51 ( 51.5%)" + +# make_table_09_tplyr() returns a gt object when tplyr_raw = FALSE + + Code + tbl_out %>% gt::extract_body() + Output + # A tibble: 8 x 4 + row_label1 `var1_A: Drug X` `var1_B: Placebo` `var1_C: Combination` + + 1 Any SAE "104 (100.0%)" "101 (100.0%)" " 99 (100.0%)" + 2 cl A " 48 (46.2%)" " 48 (47.5%)" " 50 (50.5%)" + 3 dcd A.1.1.1.2 " 48 (46.2%)" " 48 (47.5%)" " 50 (50.5%)" + 4 cl B " 79 (76.0%)" " 78 (77.2%)" " 76 (76.8%)" + 5 dcd B.1.1.1.1 " 47 (45.2%)" " 49 (48.5%)" " 43 (43.4%)" + 6 dcd B.2.2.3.1 " 48 (46.2%)" " 54 (53.5%)" " 51 (51.5%)" + 7 cl D " 50 (48.1%)" " 42 (41.6%)" " 51 (51.5%)" + 8 dcd D.1.1.1.1 " 50 (48.1%)" " 42 (41.6%)" " 51 (51.5%)" + diff --git a/tests/testthat/_snaps/fda-table_22.md b/tests/testthat/_snaps/fda-table_22.md index f76eaef3..cc643ceb 100644 --- a/tests/testthat/_snaps/fda-table_22.md +++ b/tests/testthat/_snaps/fda-table_22.md @@ -23,9 +23,9 @@ OTHER 0 0 0 UNKNOWN 0 0 0 ETHNIC, n (%) - NOT REPORTED 6 (100%) 10 (100%) 10 (90.9%) HISPANIC OR LATINO 13 (86.7%) 17 (94.4%) 13 (86.7%) NOT HISPANIC OR LATINO 95 (91.3%) 94 (91.3%) 93 (92.1%) + NOT REPORTED 6 (100%) 10 (100%) 10 (90.9%) UNKNOWN 8 (88.9%) 2 (66.7%) 4 (80%) # Table 22 generation works with custom values: N_s denominator and overall column @@ -53,9 +53,9 @@ OTHER 0 0 0 0 UNKNOWN 0 0 0 0 ETHNIC, n (%) - NOT REPORTED 6 (100%) 10 (100%) 10 (90.9%) 26 (96.3%) HISPANIC OR LATINO 13 (86.7%) 17 (94.4%) 13 (86.7%) 43 (89.6%) NOT HISPANIC OR LATINO 95 (91.3%) 94 (91.3%) 93 (92.1%) 282 (91.6%) + NOT REPORTED 6 (100%) 10 (100%) 10 (90.9%) 26 (96.3%) UNKNOWN 8 (88.9%) 2 (66.7%) 4 (80%) 14 (82.4%) # Table 22 generation works with custom values: N_col denominator and no overall column @@ -84,16 +84,17 @@ MULTIPLE 0 1 (0.7%) 0 NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER 0 1 (0.7%) 0 ETHNIC, n (%) - NOT REPORTED 6 (4.5%) 10 (7.5%) 10 (7.6%) HISPANIC OR LATINO 13 (9.7%) 17 (12.7%) 13 (9.8%) NOT HISPANIC OR LATINO 95 (70.9%) 94 (70.1%) 93 (70.5%) + NOT REPORTED 6 (4.5%) 10 (7.5%) 10 (7.6%) UNKNOWN 8 (6%) 2 (1.5%) 4 (3%) ———————————————————————————————————————————————————————————————————————————————————————— Source: [include Applicant source, datasets and/or software tools used]. (1) Treatment-emergent adverse event defined as [definition]. MedDRA version X. - Abbreviations: MedDRA, Medical Dictionary for Regulatory Activities.; N, number of patients in treatment arm; n, number of patients with adverse event; + Abbreviations: MedDRA, Medical Dictionary for Regulatory Activities.; + N, number of patients in treatment arm; n, number of patients with adverse event; Ns, total number of patients for each specific subgroup # Table 22 generation works with some NA values diff --git a/tests/testthat/_snaps/fda-table_32.md b/tests/testthat/_snaps/fda-table_32.md index c0eeb111..1c454927 100644 --- a/tests/testthat/_snaps/fda-table_32.md +++ b/tests/testthat/_snaps/fda-table_32.md @@ -92,3 +92,17 @@ 4 G110 dichotomous >110 label >110 123 (91~ 111 (~ 107 (~ 341 (~ 5 GE120 dichotomous >=120 label >=120 88 (65.~ 70 (5~ 76 (5~ 234 (~ +# Table 32 (gtsum) generation missing values and ADSL + + Code + res + Output + # A tibble: 5 x 9 + variable var_type var_label row_type label stat_1 stat_2 stat_3 stat_0 + + 1 L60 dichotomous <60 label <60 0 (0.0%) 0 (0.~ 0 (0.~ 0 (0.~ + 2 G60 dichotomous >60 label >60 114 (85~ 96 (7~ 96 (7~ 306 (~ + 3 G90 dichotomous >90 label >90 114 (85~ 96 (7~ 95 (7~ 305 (~ + 4 G110 dichotomous >110 label >110 103 (76~ 78 (5~ 78 (5~ 259 (~ + 5 GE120 dichotomous >=120 label >=120 71 (53.~ 52 (3~ 53 (4~ 176 (~ + diff --git a/tests/testthat/_snaps/fda-table_33.md b/tests/testthat/_snaps/fda-table_33.md index ff9e9c75..44b9cf8a 100644 --- a/tests/testthat/_snaps/fda-table_33.md +++ b/tests/testthat/_snaps/fda-table_33.md @@ -54,3 +54,36 @@ SBP <90 85 (63.4%) 84 (62.7%) 90 (68.2%) -0.7 (-12.3 - 10.8) DBP <60 133 (99.3%) 134 (100%) 132 (100%) 0.7 (-0.7 - 2.2) +# Table 33 (gtsum) generation works with default values + + Code + res + Output + # A tibble: 2 x 8 + variable var_type var_label row_type label stat_1 stat_2 stat_3 + + 1 SBP90 dichotomous SBP <90 label SBP <90 85 (63.4%) 84 (62~ 90 (6~ + 2 DBP60 dichotomous DBP <60 label DBP <60 133 (99.3%) 134 (1~ 132 (~ + +# Table 33 (gtsum) generation works with custom values + + Code + res + Output + # A tibble: 2 x 9 + variable var_type var_label row_type label stat_1 stat_2 stat_3 stat_0 + + 1 SBP90 dichotomous SBP <90 label SBP <~ 85 (6~ 84 (6~ 90 (6~ 259 (~ + 2 DBP60 dichotomous DBP <60 label DBP <~ 133 (~ 134 (~ 132 (~ 399 (~ + +# Table 33 (gtsum) generation missing values and ADSL + + Code + res + Output + # A tibble: 2 x 9 + variable var_type var_label row_type label stat_1 stat_2 stat_3 stat_0 + + 1 SBP90 dichotomous SBP <90 label SBP <~ 76 (5~ 73 (5~ 80 (6~ 229 (~ + 2 DBP60 dichotomous DBP <60 label DBP <~ 114 (~ 122 (~ 113 (~ 349 (~ + diff --git a/tests/testthat/_snaps/fda-table_34.md b/tests/testthat/_snaps/fda-table_34.md index 05e807df..c7ae10fc 100644 --- a/tests/testthat/_snaps/fda-table_34.md +++ b/tests/testthat/_snaps/fda-table_34.md @@ -3,57 +3,58 @@ Code res Output - Body System or Organ Class A: Drug X B: Placebo C: Combination - FMQ (Narrow) (N=134) (N=134) (N=132) - ————————————————————————————————————————————————————————————————————— - cl A.1 - FMQ1 - dcd A.1.1.1.1 7 (5.2%) 6 (4.5%) 13 (9.8%) - dcd A.1.1.1.2 12 (9.0%) 8 (6.0%) 18 (13.6%) - FMQ2 - dcd A.1.1.1.1 13 (9.7%) 10 (7.5%) 12 (9.1%) - dcd A.1.1.1.2 12 (9.0%) 10 (7.5%) 8 (6.1%) - FMQ3 - dcd A.1.1.1.1 8 (6.0%) 8 (6.0%) 13 (9.8%) - dcd A.1.1.1.2 13 (9.7%) 11 (8.2%) 11 (8.3%) - cl B.1 - FMQ1 - dcd B.1.1.1.1 8 (6.0%) 11 (8.2%) 7 (5.3%) - FMQ2 - dcd B.1.1.1.1 5 (3.7%) 12 (9.0%) 16 (12.1%) - FMQ3 - dcd B.1.1.1.1 10 (7.5%) 7 (5.2%) 5 (3.8%) - cl B.2 - FMQ1 - dcd B.2.1.2.1 13 (9.7%) 15 (11.2%) 9 (6.8%) - FMQ2 - dcd B.2.1.2.1 12 (9.0%) 9 (6.7%) 10 (7.6%) - FMQ3 - dcd B.2.1.2.1 6 (4.5%) 7 (5.2%) 9 (6.8%) - cl C.2 - FMQ1 - dcd C.2.1.2.1 9 (6.7%) 9 (6.7%) 12 (9.1%) - FMQ2 - dcd C.2.1.2.1 6 (4.5%) 8 (6.0%) 8 (6.1%) - FMQ3 - dcd C.2.1.2.1 6 (4.5%) 9 (6.7%) 10 (7.6%) - cl D.1 - FMQ1 - dcd D.1.1.1.1 9 (6.7%) 9 (6.7%) 12 (9.1%) - dcd D.1.1.4.2 14 (10.4%) 10 (7.5%) 16 (12.1%) - FMQ2 - dcd D.1.1.1.1 15 (11.2%) 10 (7.5%) 16 (12.1%) - dcd D.1.1.4.2 10 (7.5%) 10 (7.5%) 10 (7.6%) - FMQ3 - dcd D.1.1.1.1 9 (6.7%) 10 (7.5%) 12 (9.1%) - dcd D.1.1.4.2 6 (4.5%) 11 (8.2%) 9 (6.8%) - cl D.2 - FMQ1 - dcd D.2.1.5.3 8 (6.0%) 11 (8.2%) 9 (6.8%) - FMQ2 - dcd D.2.1.5.3 14 (10.4%) 15 (11.2%) 14 (10.6%) - FMQ3 - dcd D.2.1.5.3 11 (8.2%) 9 (6.7%) 11 (8.3%) + Body System or Organ Class + FMQ (Narrow) A: Drug X B: Placebo C: Combination + Dictionary-Derived Term (N=134) (N=134) (N=132) + —————————————————————————————————————————————————————————————————————— + cl A.1 + FMQ1 17 (12.7%) 14 (10.4%) 29 (22.0%) + dcd A.1.1.1.1 7 (5.2%) 6 (4.5%) 13 (9.8%) + dcd A.1.1.1.2 12 (9.0%) 8 (6.0%) 18 (13.6%) + FMQ2 23 (17.2%) 20 (14.9%) 20 (15.2%) + dcd A.1.1.1.1 13 (9.7%) 10 (7.5%) 12 (9.1%) + dcd A.1.1.1.2 12 (9.0%) 10 (7.5%) 8 (6.1%) + FMQ3 20 (14.9%) 19 (14.2%) 23 (17.4%) + dcd A.1.1.1.1 8 (6.0%) 8 (6.0%) 13 (9.8%) + dcd A.1.1.1.2 13 (9.7%) 11 (8.2%) 11 (8.3%) + cl B.1 + FMQ1 8 (6.0%) 11 (8.2%) 7 (5.3%) + dcd B.1.1.1.1 8 (6.0%) 11 (8.2%) 7 (5.3%) + FMQ2 5 (3.7%) 12 (9.0%) 16 (12.1%) + dcd B.1.1.1.1 5 (3.7%) 12 (9.0%) 16 (12.1%) + FMQ3 10 (7.5%) 7 (5.2%) 5 (3.8%) + dcd B.1.1.1.1 10 (7.5%) 7 (5.2%) 5 (3.8%) + cl B.2 + FMQ1 13 (9.7%) 15 (11.2%) 9 (6.8%) + dcd B.2.1.2.1 13 (9.7%) 15 (11.2%) 9 (6.8%) + FMQ2 12 (9.0%) 9 (6.7%) 10 (7.6%) + dcd B.2.1.2.1 12 (9.0%) 9 (6.7%) 10 (7.6%) + FMQ3 6 (4.5%) 7 (5.2%) 9 (6.8%) + dcd B.2.1.2.1 6 (4.5%) 7 (5.2%) 9 (6.8%) + cl C.2 + FMQ1 9 (6.7%) 9 (6.7%) 12 (9.1%) + dcd C.2.1.2.1 9 (6.7%) 9 (6.7%) 12 (9.1%) + FMQ2 6 (4.5%) 8 (6.0%) 8 (6.1%) + dcd C.2.1.2.1 6 (4.5%) 8 (6.0%) 8 (6.1%) + FMQ3 6 (4.5%) 9 (6.7%) 10 (7.6%) + dcd C.2.1.2.1 6 (4.5%) 9 (6.7%) 10 (7.6%) + cl D.1 + FMQ1 23 (17.2%) 17 (12.7%) 27 (20.5%) + dcd D.1.1.1.1 9 (6.7%) 9 (6.7%) 12 (9.1%) + dcd D.1.1.4.2 14 (10.4%) 10 (7.5%) 16 (12.1%) + FMQ2 22 (16.4%) 20 (14.9%) 25 (18.9%) + dcd D.1.1.1.1 15 (11.2%) 10 (7.5%) 16 (12.1%) + dcd D.1.1.4.2 10 (7.5%) 10 (7.5%) 10 (7.6%) + FMQ3 15 (11.2%) 19 (14.2%) 21 (15.9%) + dcd D.1.1.1.1 9 (6.7%) 10 (7.5%) 12 (9.1%) + dcd D.1.1.4.2 6 (4.5%) 11 (8.2%) 9 (6.8%) + cl D.2 + FMQ1 8 (6.0%) 11 (8.2%) 9 (6.8%) + dcd D.2.1.5.3 8 (6.0%) 11 (8.2%) 9 (6.8%) + FMQ2 14 (10.4%) 15 (11.2%) 14 (10.6%) + dcd D.2.1.5.3 14 (10.4%) 15 (11.2%) 14 (10.6%) + FMQ3 11 (8.2%) 9 (6.7%) 11 (8.3%) + dcd D.2.1.5.3 11 (8.2%) 9 (6.7%) 11 (8.3%) # Table 34 generation works with custom values @@ -63,22 +64,23 @@ Table 34. Patients With Serious Adverse Events(1) by System Organ Class, FDA Medical Query (Broad) and Preferred Term, Safety Population, Pooled Analyses or Trial X(2) —————————————————————————————————————————————————————————————————————————— - Body System or Organ Class(3)(4) A: Drug X B: Placebo C: Combination - FMQ (Broad) (N=134) (N=134) (N=132) + Body System or Organ Class(3)(4) + FMQ (Broad) A: Drug X B: Placebo C: Combination + Dictionary-Derived Term (N=134) (N=134) (N=132) —————————————————————————————————————————————————————————————————————————— cl B.2 - FMQ1 + FMQ1 8 (6.0%) 10 (7.5%) 8 (6.1%) dcd B.2.2.3.1 8 (6.0%) 10 (7.5%) 8 (6.1%) - FMQ2 + FMQ2 12 (9.0%) 12 (9.0%) 13 (9.8%) dcd B.2.2.3.1 12 (9.0%) 12 (9.0%) 13 (9.8%) - FMQ3 + FMQ3 8 (6.0%) 16 (11.9%) 6 (4.5%) dcd B.2.2.3.1 8 (6.0%) 16 (11.9%) 6 (4.5%) cl C.1 - FMQ1 + FMQ1 7 (5.2%) 11 (8.2%) 14 (10.6%) dcd C.1.1.1.3 7 (5.2%) 11 (8.2%) 14 (10.6%) - FMQ2 + FMQ2 10 (7.5%) 16 (11.9%) 7 (5.3%) dcd C.1.1.1.3 10 (7.5%) 16 (11.9%) 7 (5.3%) - FMQ3 + FMQ3 8 (6.0%) 5 (3.7%) 12 (9.1%) dcd C.1.1.1.3 8 (6.0%) 5 (3.7%) 12 (9.1%) —————————————————————————————————————————————————————————————————————————— @@ -97,55 +99,56 @@ Code res Output - Body System or Organ Class A: Drug X B: Placebo C: Combination Risk Difference (%) (95% CI) - FMQ (Narrow) (N=134) (N=134) (N=132) (N=268) - ———————————————————————————————————————————————————————————————————————————————————————————————————— - cl A.1 - FMQ1 - dcd A.1.1.1.1 7 (5.2%) 6 (4.5%) 13 (9.8%) -0.7 (-5.9 - 4.4) - dcd A.1.1.1.2 12 (9.0%) 8 (6.0%) 18 (13.6%) -3.0 (-9.3 - 3.3) - FMQ2 - dcd A.1.1.1.1 13 (9.7%) 10 (7.5%) 12 (9.1%) -2.2 (-8.9 - 4.5) - dcd A.1.1.1.2 12 (9.0%) 10 (7.5%) 8 (6.1%) -1.5 (-8.1 - 5.1) - FMQ3 - dcd A.1.1.1.1 8 (6.0%) 8 (6.0%) 13 (9.8%) 0.0 (-5.7 - 5.7) - dcd A.1.1.1.2 13 (9.7%) 11 (8.2%) 11 (8.3%) -1.5 (-8.3 - 5.3) - cl B.1 - FMQ1 - dcd B.1.1.1.1 8 (6.0%) 11 (8.2%) 7 (5.3%) 2.2 (-3.9 - 8.4) - FMQ2 - dcd B.1.1.1.1 5 (3.7%) 12 (9.0%) 16 (12.1%) 5.2 (-0.6 - 11.0) - FMQ3 - dcd B.1.1.1.1 10 (7.5%) 7 (5.2%) 5 (3.8%) -2.2 (-8.1 - 3.6) - cl B.2 - FMQ1 - dcd B.2.1.2.1 13 (9.7%) 15 (11.2%) 9 (6.8%) 1.5 (-5.8 - 8.8) - FMQ2 - dcd B.2.1.2.1 12 (9.0%) 9 (6.7%) 10 (7.6%) -2.2 (-8.7 - 4.2) - FMQ3 - dcd B.2.1.2.1 6 (4.5%) 7 (5.2%) 9 (6.8%) 0.7 (-4.4 - 5.9) - cl C.2 - FMQ1 - dcd C.2.1.2.1 9 (6.7%) 9 (6.7%) 12 (9.1%) 0.0 (-6.0 - 6.0) - FMQ2 - dcd C.2.1.2.1 6 (4.5%) 8 (6.0%) 8 (6.1%) 1.5 (-3.8 - 6.8) - FMQ3 - dcd C.2.1.2.1 6 (4.5%) 9 (6.7%) 10 (7.6%) 2.2 (-3.3 - 7.7) - cl D.1 - FMQ1 - dcd D.1.1.1.1 9 (6.7%) 9 (6.7%) 12 (9.1%) 0.0 (-6.0 - 6.0) - dcd D.1.1.4.2 14 (10.4%) 10 (7.5%) 16 (12.1%) -3.0 (-9.8 - 3.8) - FMQ2 - dcd D.1.1.1.1 15 (11.2%) 10 (7.5%) 16 (12.1%) -3.7 (-10.7 - 3.2) - dcd D.1.1.4.2 10 (7.5%) 10 (7.5%) 10 (7.6%) 0.0 (-6.3 - 6.3) - FMQ3 - dcd D.1.1.1.1 9 (6.7%) 10 (7.5%) 12 (9.1%) 0.7 (-5.4 - 6.9) - dcd D.1.1.4.2 6 (4.5%) 11 (8.2%) 9 (6.8%) 3.7 (-2.1 - 9.6) - cl D.2 - FMQ1 - dcd D.2.1.5.3 8 (6.0%) 11 (8.2%) 9 (6.8%) 2.2 (-3.9 - 8.4) - FMQ2 - dcd D.2.1.5.3 14 (10.4%) 15 (11.2%) 14 (10.6%) 0.7 (-6.7 - 8.2) - FMQ3 - dcd D.2.1.5.3 11 (8.2%) 9 (6.7%) 11 (8.3%) -1.5 (-7.8 - 4.8) + Body System or Organ Class + FMQ (Narrow) A: Drug X B: Placebo C: Combination Risk Difference (%) (95% CI) + Dictionary-Derived Term (N=134) (N=134) (N=132) (N=268) + ————————————————————————————————————————————————————————————————————————————————————————————————————— + cl A.1 + FMQ1 17 (12.7%) 14 (10.4%) 29 (22.0%) -2.2 (-9.9 - 5.4) + dcd A.1.1.1.1 7 (5.2%) 6 (4.5%) 13 (9.8%) -0.7 (-5.9 - 4.4) + dcd A.1.1.1.2 12 (9.0%) 8 (6.0%) 18 (13.6%) -3.0 (-9.3 - 3.3) + FMQ2 23 (17.2%) 20 (14.9%) 20 (15.2%) -2.2 (-11.0 - 6.5) + dcd A.1.1.1.1 13 (9.7%) 10 (7.5%) 12 (9.1%) -2.2 (-8.9 - 4.5) + dcd A.1.1.1.2 12 (9.0%) 10 (7.5%) 8 (6.1%) -1.5 (-8.1 - 5.1) + FMQ3 20 (14.9%) 19 (14.2%) 23 (17.4%) -0.7 (-9.2 - 7.7) + dcd A.1.1.1.1 8 (6.0%) 8 (6.0%) 13 (9.8%) 0.0 (-5.7 - 5.7) + dcd A.1.1.1.2 13 (9.7%) 11 (8.2%) 11 (8.3%) -1.5 (-8.3 - 5.3) + cl B.1 + FMQ1 8 (6.0%) 11 (8.2%) 7 (5.3%) 2.2 (-3.9 - 8.4) + dcd B.1.1.1.1 8 (6.0%) 11 (8.2%) 7 (5.3%) 2.2 (-3.9 - 8.4) + FMQ2 5 (3.7%) 12 (9.0%) 16 (12.1%) 5.2 (-0.6 - 11.0) + dcd B.1.1.1.1 5 (3.7%) 12 (9.0%) 16 (12.1%) 5.2 (-0.6 - 11.0) + FMQ3 10 (7.5%) 7 (5.2%) 5 (3.8%) -2.2 (-8.1 - 3.6) + dcd B.1.1.1.1 10 (7.5%) 7 (5.2%) 5 (3.8%) -2.2 (-8.1 - 3.6) + cl B.2 + FMQ1 13 (9.7%) 15 (11.2%) 9 (6.8%) 1.5 (-5.8 - 8.8) + dcd B.2.1.2.1 13 (9.7%) 15 (11.2%) 9 (6.8%) 1.5 (-5.8 - 8.8) + FMQ2 12 (9.0%) 9 (6.7%) 10 (7.6%) -2.2 (-8.7 - 4.2) + dcd B.2.1.2.1 12 (9.0%) 9 (6.7%) 10 (7.6%) -2.2 (-8.7 - 4.2) + FMQ3 6 (4.5%) 7 (5.2%) 9 (6.8%) 0.7 (-4.4 - 5.9) + dcd B.2.1.2.1 6 (4.5%) 7 (5.2%) 9 (6.8%) 0.7 (-4.4 - 5.9) + cl C.2 + FMQ1 9 (6.7%) 9 (6.7%) 12 (9.1%) 0.0 (-6.0 - 6.0) + dcd C.2.1.2.1 9 (6.7%) 9 (6.7%) 12 (9.1%) 0.0 (-6.0 - 6.0) + FMQ2 6 (4.5%) 8 (6.0%) 8 (6.1%) 1.5 (-3.8 - 6.8) + dcd C.2.1.2.1 6 (4.5%) 8 (6.0%) 8 (6.1%) 1.5 (-3.8 - 6.8) + FMQ3 6 (4.5%) 9 (6.7%) 10 (7.6%) 2.2 (-3.3 - 7.7) + dcd C.2.1.2.1 6 (4.5%) 9 (6.7%) 10 (7.6%) 2.2 (-3.3 - 7.7) + cl D.1 + FMQ1 23 (17.2%) 17 (12.7%) 27 (20.5%) -4.5 (-13.0 - 4.0) + dcd D.1.1.1.1 9 (6.7%) 9 (6.7%) 12 (9.1%) 0.0 (-6.0 - 6.0) + dcd D.1.1.4.2 14 (10.4%) 10 (7.5%) 16 (12.1%) -3.0 (-9.8 - 3.8) + FMQ2 22 (16.4%) 20 (14.9%) 25 (18.9%) -1.5 (-10.2 - 7.2) + dcd D.1.1.1.1 15 (11.2%) 10 (7.5%) 16 (12.1%) -3.7 (-10.7 - 3.2) + dcd D.1.1.4.2 10 (7.5%) 10 (7.5%) 10 (7.6%) 0.0 (-6.3 - 6.3) + FMQ3 15 (11.2%) 19 (14.2%) 21 (15.9%) 3.0 (-5.0 - 10.9) + dcd D.1.1.1.1 9 (6.7%) 10 (7.5%) 12 (9.1%) 0.7 (-5.4 - 6.9) + dcd D.1.1.4.2 6 (4.5%) 11 (8.2%) 9 (6.8%) 3.7 (-2.1 - 9.6) + cl D.2 + FMQ1 8 (6.0%) 11 (8.2%) 9 (6.8%) 2.2 (-3.9 - 8.4) + dcd D.2.1.5.3 8 (6.0%) 11 (8.2%) 9 (6.8%) 2.2 (-3.9 - 8.4) + FMQ2 14 (10.4%) 15 (11.2%) 14 (10.6%) 0.7 (-6.7 - 8.2) + dcd D.2.1.5.3 14 (10.4%) 15 (11.2%) 14 (10.6%) 0.7 (-6.7 - 8.2) + FMQ3 11 (8.2%) 9 (6.7%) 11 (8.3%) -1.5 (-7.8 - 4.8) + dcd D.2.1.5.3 11 (8.2%) 9 (6.7%) 11 (8.3%) -1.5 (-7.8 - 4.8) diff --git a/tests/testthat/_snaps/fda-table_36.md b/tests/testthat/_snaps/fda-table_36.md new file mode 100644 index 00000000..5210a80a --- /dev/null +++ b/tests/testthat/_snaps/fda-table_36.md @@ -0,0 +1,315 @@ +# Table 36 generation works with default values + + Code + res + Output + A: Drug X B: Placebo C: Combination + Primary System Organ Class (N=134) (N=134) (N=132) + ————————————————————————————————————————————————————————————————————— + cl A 78 (58.2%) 75 (56.0%) 89 (67.4%) + dcd A.1.1.1.1 50 (37.3%) 45 (33.6%) 63 (47.7%) + dcd A.1.1.1.2 48 (35.8%) 48 (35.8%) 50 (37.9%) + dcd B.1.1.1.1 0 0 0 + dcd B.2.1.2.1 0 0 0 + dcd B.2.2.3.1 0 0 0 + dcd C.1.1.1.3 0 0 0 + dcd C.2.1.2.1 0 0 0 + dcd D.1.1.1.1 0 0 0 + dcd D.1.1.4.2 0 0 0 + dcd D.2.1.5.3 0 0 0 + cl B 96 (71.6%) 89 (66.4%) 97 (73.5%) + dcd A.1.1.1.1 0 0 0 + dcd A.1.1.1.2 0 0 0 + dcd B.1.1.1.1 47 (35.1%) 49 (36.6%) 43 (32.6%) + dcd B.2.1.2.1 49 (36.6%) 44 (32.8%) 52 (39.4%) + dcd B.2.2.3.1 48 (35.8%) 54 (40.3%) 51 (38.6%) + dcd C.1.1.1.3 0 0 0 + dcd C.2.1.2.1 0 0 0 + dcd D.1.1.1.1 0 0 0 + dcd D.1.1.4.2 0 0 0 + dcd D.2.1.5.3 0 0 0 + cl C 67 (50.0%) 75 (56.0%) 79 (59.8%) + dcd A.1.1.1.1 0 0 0 + dcd A.1.1.1.2 0 0 0 + dcd B.1.1.1.1 0 0 0 + dcd B.2.1.2.1 0 0 0 + dcd B.2.2.3.1 0 0 0 + dcd C.1.1.1.3 43 (32.1%) 46 (34.3%) 43 (32.6%) + dcd C.2.1.2.1 35 (26.1%) 48 (35.8%) 55 (41.7%) + dcd D.1.1.1.1 0 0 0 + dcd D.1.1.4.2 0 0 0 + dcd D.2.1.5.3 0 0 0 + cl D 96 (71.6%) 90 (67.2%) 98 (74.2%) + dcd A.1.1.1.1 0 0 0 + dcd A.1.1.1.2 0 0 0 + dcd B.1.1.1.1 0 0 0 + dcd B.2.1.2.1 0 0 0 + dcd B.2.2.3.1 0 0 0 + dcd C.1.1.1.3 0 0 0 + dcd C.2.1.2.1 0 0 0 + dcd D.1.1.1.1 50 (37.3%) 42 (31.3%) 51 (38.6%) + dcd D.1.1.4.2 48 (35.8%) 42 (31.3%) 50 (37.9%) + dcd D.2.1.5.3 47 (35.1%) 58 (43.3%) 57 (43.2%) + +# Table 36 generation works with custom values + + Code + res + Output + Table 36. Patients With Adverse Events by System Organ Class and Preferred Term, Safety + Population, Pooled Analysis (or Trial X) + + ——————————————————————————————————————————————————————————————————————————————————— + A: Drug X B: Placebo C: Combination Total + Primary System Organ Class (N=134) (N=134) (N=132) (N=400) + ——————————————————————————————————————————————————————————————————————————————————— + cl A 78 (58.2%) 75 (56.0%) 89 (67.4%) 242 (60.5%) + dcd A.1.1.1.1 50 (37.3%) 45 (33.6%) 63 (47.7%) 158 (39.5%) + dcd A.1.1.1.2 48 (35.8%) 48 (35.8%) 50 (37.9%) 146 (36.5%) + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl B 96 (71.6%) 89 (66.4%) 97 (73.5%) 282 (70.5%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 47 (35.1%) 49 (36.6%) 43 (32.6%) 139 (34.8%) + dcd B.2.1.2.1 49 (36.6%) 44 (32.8%) 52 (39.4%) 145 (36.2%) + dcd B.2.2.3.1 48 (35.8%) 54 (40.3%) 51 (38.6%) 153 (38.2%) + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl C 67 (50.0%) 75 (56.0%) 79 (59.8%) 221 (55.2%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 43 (32.1%) 46 (34.3%) 43 (32.6%) 132 (33.0%) + dcd C.2.1.2.1 35 (26.1%) 48 (35.8%) 55 (41.7%) 138 (34.5%) + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl D 96 (71.6%) 90 (67.2%) 98 (74.2%) 284 (71.0%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 50 (37.3%) 42 (31.3%) 51 (38.6%) 143 (35.8%) + dcd D.1.1.4.2 48 (35.8%) 42 (31.3%) 50 (37.9%) 140 (35.0%) + dcd D.2.1.5.3 47 (35.1%) 58 (43.3%) 57 (43.2%) 162 (40.5%) + ——————————————————————————————————————————————————————————————————————————————————— + + Source: [include Applicant source, datasets and/or software tools used]. + 1 Duration = [e.g., X week double-blind treatment period or median and a range + indicating pooled trial durations]. + 2 Treatment-emergent adverse event defined as [definition]. MedDRA version X. + 3 Difference is shown between [treatment arms] (e.g., difference is shown + between Drug Name dosage X vs. placebo). + 4 Table display is ordered by the risk difference. + + Abbreviations: CI, confidence interval; MedDRA, Medical Dictionary for Regulatory Activities; + N, number of patients in treatment arm; n, number of patients with at least one event; + PT, preferred term; SOC, System Organ Class + +# Table 36 generation works with risk difference column + + Code + res + Output + A: Drug X B: Placebo C: Combination Risk Difference (%) (95% CI) + Primary System Organ Class (N=134) (N=134) (N=132) (N=268) + ———————————————————————————————————————————————————————————————————————————————————————————————————— + cl A 78 (58.2%) 75 (56.0%) 89 (67.4%) -2.2 (-14.1 - 9.6) + dcd A.1.1.1.1 50 (37.3%) 45 (33.6%) 63 (47.7%) -3.7 (-15.2 - 7.7) + dcd A.1.1.1.2 48 (35.8%) 48 (35.8%) 50 (37.9%) 0.0 (-11.5 - 11.5) + dcd B.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd B.2.1.2.1 0 0 0 0.0 (0.0 - 0.0) + dcd B.2.2.3.1 0 0 0 0.0 (0.0 - 0.0) + dcd C.1.1.1.3 0 0 0 0.0 (0.0 - 0.0) + dcd C.2.1.2.1 0 0 0 0.0 (0.0 - 0.0) + dcd D.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd D.1.1.4.2 0 0 0 0.0 (0.0 - 0.0) + dcd D.2.1.5.3 0 0 0 0.0 (0.0 - 0.0) + cl B 96 (71.6%) 89 (66.4%) 97 (73.5%) -5.2 (-16.3 - 5.8) + dcd A.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd A.1.1.1.2 0 0 0 0.0 (0.0 - 0.0) + dcd B.1.1.1.1 47 (35.1%) 49 (36.6%) 43 (32.6%) 1.5 (-10.0 - 13.0) + dcd B.2.1.2.1 49 (36.6%) 44 (32.8%) 52 (39.4%) -3.7 (-15.1 - 7.7) + dcd B.2.2.3.1 48 (35.8%) 54 (40.3%) 51 (38.6%) 4.5 (-7.1 - 16.1) + dcd C.1.1.1.3 0 0 0 0.0 (0.0 - 0.0) + dcd C.2.1.2.1 0 0 0 0.0 (0.0 - 0.0) + dcd D.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd D.1.1.4.2 0 0 0 0.0 (0.0 - 0.0) + dcd D.2.1.5.3 0 0 0 0.0 (0.0 - 0.0) + cl C 67 (50.0%) 75 (56.0%) 79 (59.8%) 6.0 (-6.0 - 17.9) + dcd A.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd A.1.1.1.2 0 0 0 0.0 (0.0 - 0.0) + dcd B.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd B.2.1.2.1 0 0 0 0.0 (0.0 - 0.0) + dcd B.2.2.3.1 0 0 0 0.0 (0.0 - 0.0) + dcd C.1.1.1.3 43 (32.1%) 46 (34.3%) 43 (32.6%) 2.2 (-9.0 - 13.5) + dcd C.2.1.2.1 35 (26.1%) 48 (35.8%) 55 (41.7%) 9.7 (-1.3 - 20.7) + dcd D.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd D.1.1.4.2 0 0 0 0.0 (0.0 - 0.0) + dcd D.2.1.5.3 0 0 0 0.0 (0.0 - 0.0) + cl D 96 (71.6%) 90 (67.2%) 98 (74.2%) -4.5 (-15.5 - 6.5) + dcd A.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd A.1.1.1.2 0 0 0 0.0 (0.0 - 0.0) + dcd B.1.1.1.1 0 0 0 0.0 (0.0 - 0.0) + dcd B.2.1.2.1 0 0 0 0.0 (0.0 - 0.0) + dcd B.2.2.3.1 0 0 0 0.0 (0.0 - 0.0) + dcd C.1.1.1.3 0 0 0 0.0 (0.0 - 0.0) + dcd C.2.1.2.1 0 0 0 0.0 (0.0 - 0.0) + dcd D.1.1.1.1 50 (37.3%) 42 (31.3%) 51 (38.6%) -6.0 (-17.3 - 5.4) + dcd D.1.1.4.2 48 (35.8%) 42 (31.3%) 50 (37.9%) -4.5 (-15.8 - 6.8) + dcd D.2.1.5.3 47 (35.1%) 58 (43.3%) 57 (43.2%) 8.2 (-3.4 - 19.9) + +# Table 36 generation works with some NA values + + Code + res + Output + A: Drug X B: Placebo C: Combination + Primary System Organ Class (N=134) (N=134) (N=132) + ————————————————————————————————————————————————————————————————————— + cl A 78 (58.2%) 75 (56.0%) 89 (67.4%) + dcd A.1.1.1.1 50 (37.3%) 45 (33.6%) 63 (47.7%) + dcd A.1.1.1.2 48 (35.8%) 48 (35.8%) 50 (37.9%) + dcd B.1.1.1.1 0 0 0 + dcd B.2.1.2.1 0 0 0 + dcd B.2.2.3.1 0 0 0 + dcd C.1.1.1.3 0 0 0 + dcd C.2.1.2.1 0 0 0 + dcd D.1.1.1.1 0 0 0 + dcd D.1.1.4.2 0 0 0 + dcd D.2.1.5.3 0 0 0 + cl B 96 (71.6%) 89 (66.4%) 97 (73.5%) + dcd A.1.1.1.1 0 0 0 + dcd A.1.1.1.2 0 0 0 + dcd B.1.1.1.1 47 (35.1%) 49 (36.6%) 43 (32.6%) + dcd B.2.1.2.1 49 (36.6%) 44 (32.8%) 52 (39.4%) + dcd B.2.2.3.1 48 (35.8%) 54 (40.3%) 51 (38.6%) + dcd C.1.1.1.3 0 0 0 + dcd C.2.1.2.1 0 0 0 + dcd D.1.1.1.1 0 0 0 + dcd D.1.1.4.2 0 0 0 + dcd D.2.1.5.3 0 0 0 + cl C 67 (50.0%) 75 (56.0%) 79 (59.8%) + dcd A.1.1.1.1 0 0 0 + dcd A.1.1.1.2 0 0 0 + dcd B.1.1.1.1 0 0 0 + dcd B.2.1.2.1 0 0 0 + dcd B.2.2.3.1 0 0 0 + dcd C.1.1.1.3 43 (32.1%) 46 (34.3%) 43 (32.6%) + dcd C.2.1.2.1 35 (26.1%) 48 (35.8%) 55 (41.7%) + dcd D.1.1.1.1 0 0 0 + dcd D.1.1.4.2 0 0 0 + dcd D.2.1.5.3 0 0 0 + cl D 96 (71.6%) 90 (67.2%) 98 (74.2%) + dcd A.1.1.1.1 0 0 0 + dcd A.1.1.1.2 0 0 0 + dcd B.1.1.1.1 0 0 0 + dcd B.2.1.2.1 0 0 0 + dcd B.2.2.3.1 0 0 0 + dcd C.1.1.1.3 0 0 0 + dcd C.2.1.2.1 0 0 0 + dcd D.1.1.1.1 50 (37.3%) 42 (31.3%) 51 (38.6%) + dcd D.1.1.4.2 48 (35.8%) 42 (31.3%) 50 (37.9%) + dcd D.2.1.5.3 47 (35.1%) 58 (43.3%) 57 (43.2%) + +# Table 36 generation works with custom values (SOC variable and label) + + Code + res + Output + A: Drug X B: Placebo C: Combination Total + Label for AEBODSYS (N=134) (N=134) (N=132) (N=400) + ——————————————————————————————————————————————————————————————————————————— + cl A.1 78 (58.2%) 75 (56.0%) 89 (67.4%) 242 (60.5%) + dcd A.1.1.1.1 50 (37.3%) 45 (33.6%) 63 (47.7%) 158 (39.5%) + dcd A.1.1.1.2 48 (35.8%) 48 (35.8%) 50 (37.9%) 146 (36.5%) + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl B.1 47 (35.1%) 49 (36.6%) 43 (32.6%) 139 (34.8%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 47 (35.1%) 49 (36.6%) 43 (32.6%) 139 (34.8%) + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl B.2 79 (59.0%) 74 (55.2%) 85 (64.4%) 238 (59.5%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 49 (36.6%) 44 (32.8%) 52 (39.4%) 145 (36.2%) + dcd B.2.2.3.1 48 (35.8%) 54 (40.3%) 51 (38.6%) 153 (38.2%) + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl C.1 43 (32.1%) 46 (34.3%) 43 (32.6%) 132 (33.0%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 43 (32.1%) 46 (34.3%) 43 (32.6%) 132 (33.0%) + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl C.2 35 (26.1%) 48 (35.8%) 55 (41.7%) 138 (34.5%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 35 (26.1%) 48 (35.8%) 55 (41.7%) 138 (34.5%) + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 0 0 0 0 + cl D.1 79 (59.0%) 67 (50.0%) 80 (60.6%) 226 (56.5%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 50 (37.3%) 42 (31.3%) 51 (38.6%) 143 (35.8%) + dcd D.1.1.4.2 48 (35.8%) 42 (31.3%) 50 (37.9%) 140 (35.0%) + dcd D.2.1.5.3 0 0 0 0 + cl D.2 47 (35.1%) 58 (43.3%) 57 (43.2%) 162 (40.5%) + dcd A.1.1.1.1 0 0 0 0 + dcd A.1.1.1.2 0 0 0 0 + dcd B.1.1.1.1 0 0 0 0 + dcd B.2.1.2.1 0 0 0 0 + dcd B.2.2.3.1 0 0 0 0 + dcd C.1.1.1.3 0 0 0 0 + dcd C.2.1.2.1 0 0 0 0 + dcd D.1.1.1.1 0 0 0 0 + dcd D.1.1.4.2 0 0 0 0 + dcd D.2.1.5.3 47 (35.1%) 58 (43.3%) 57 (43.2%) 162 (40.5%) + diff --git a/tests/testthat/_snaps/fda-table_38.md b/tests/testthat/_snaps/fda-table_38.md new file mode 100644 index 00000000..22000cb6 --- /dev/null +++ b/tests/testthat/_snaps/fda-table_38.md @@ -0,0 +1,120 @@ +# Table 38 generation works with default values + + Code + res + Output + Body System or Organ Class + FMQ (Broad) A: Drug X B: Placebo C: Combination + Dictionary-Derived Term (N=134) (N=134) (N=132) + —————————————————————————————————————————————————————————————————————— + cl B.2 + FMQ1 20 (14.9%) 17 (12.7%) 22 (16.7%) + dcd B.2.2.3.1 20 (14.9%) 17 (12.7%) 22 (16.7%) + FMQ2 22 (16.4%) 25 (18.7%) 21 (15.9%) + dcd B.2.2.3.1 22 (16.4%) 25 (18.7%) 21 (15.9%) + FMQ3 18 (13.4%) 24 (17.9%) 23 (17.4%) + dcd B.2.2.3.1 18 (13.4%) 24 (17.9%) 23 (17.4%) + cl C.1 + FMQ1 14 (10.4%) 19 (14.2%) 21 (15.9%) + dcd C.1.1.1.3 14 (10.4%) 19 (14.2%) 21 (15.9%) + FMQ2 17 (12.7%) 22 (16.4%) 19 (14.4%) + dcd C.1.1.1.3 17 (12.7%) 22 (16.4%) 19 (14.4%) + FMQ3 20 (14.9%) 16 (11.9%) 19 (14.4%) + dcd C.1.1.1.3 20 (14.9%) 16 (11.9%) 19 (14.4%) + +# Table 38 generation works with custom values + + Code + res + Output + Table 38. Patients With Adverse Events by System Organ Class, FDA Medical Query (Narrow)(1) + and Preferred Term, Safety Population, Pooled Analysis (or Trial X)(2) + + ———————————————————————————————————————————————————————————————————————— + Body System or Organ Class(3) + FMQ (Narrow) A: Drug X B: Placebo C: Combination + Dictionary-Derived Term (N=134) (N=134) (N=132) + ———————————————————————————————————————————————————————————————————————— + cl A.1 + FMQ1 32 (23.9%) 29 (21.6%) 48 (36.4%) + dcd A.1.1.1.1 17 (12.7%) 13 (9.7%) 29 (22.0%) + dcd A.1.1.1.2 20 (14.9%) 20 (14.9%) 26 (19.7%) + FMQ2 35 (26.1%) 40 (29.9%) 39 (29.5%) + dcd A.1.1.1.1 24 (17.9%) 25 (18.7%) 30 (22.7%) + dcd A.1.1.1.2 18 (13.4%) 18 (13.4%) 13 (9.8%) + FMQ3 37 (27.6%) 39 (29.1%) 38 (28.8%) + dcd A.1.1.1.1 19 (14.2%) 18 (13.4%) 21 (15.9%) + dcd A.1.1.1.2 21 (15.7%) 23 (17.2%) 23 (17.4%) + cl B.1 + FMQ1 19 (14.2%) 21 (15.7%) 21 (15.9%) + dcd B.1.1.1.1 19 (14.2%) 21 (15.7%) 21 (15.9%) + FMQ2 14 (10.4%) 21 (15.7%) 24 (18.2%) + dcd B.1.1.1.1 14 (10.4%) 21 (15.7%) 24 (18.2%) + FMQ3 21 (15.7%) 16 (11.9%) 10 (7.6%) + dcd B.1.1.1.1 21 (15.7%) 16 (11.9%) 10 (7.6%) + cl B.2 + FMQ1 22 (16.4%) 22 (16.4%) 20 (15.2%) + dcd B.2.1.2.1 22 (16.4%) 22 (16.4%) 20 (15.2%) + FMQ2 20 (14.9%) 15 (11.2%) 24 (18.2%) + dcd B.2.1.2.1 20 (14.9%) 15 (11.2%) 24 (18.2%) + FMQ3 16 (11.9%) 17 (12.7%) 20 (15.2%) + dcd B.2.1.2.1 16 (11.9%) 17 (12.7%) 20 (15.2%) + cl C.2 + FMQ1 17 (12.7%) 15 (11.2%) 23 (17.4%) + dcd C.2.1.2.1 17 (12.7%) 15 (11.2%) 23 (17.4%) + FMQ2 12 (9.0%) 19 (14.2%) 19 (14.4%) + dcd C.2.1.2.1 12 (9.0%) 19 (14.2%) 19 (14.4%) + FMQ3 12 (9.0%) 16 (11.9%) 19 (14.4%) + dcd C.2.1.2.1 12 (9.0%) 16 (11.9%) 19 (14.4%) + cl D.1 + FMQ1 37 (27.6%) 30 (22.4%) 44 (33.3%) + dcd D.1.1.1.1 18 (13.4%) 17 (12.7%) 21 (15.9%) + dcd D.1.1.4.2 23 (17.2%) 15 (11.2%) 25 (18.9%) + FMQ2 35 (26.1%) 33 (24.6%) 40 (30.3%) + dcd D.1.1.1.1 22 (16.4%) 18 (13.4%) 26 (19.7%) + dcd D.1.1.4.2 18 (13.4%) 16 (11.9%) 18 (13.6%) + FMQ3 30 (22.4%) 28 (20.9%) 37 (28.0%) + dcd D.1.1.1.1 15 (11.2%) 13 (9.7%) 19 (14.4%) + dcd D.1.1.4.2 16 (11.9%) 18 (13.4%) 18 (13.6%) + cl D.2 + FMQ1 17 (12.7%) 27 (20.1%) 22 (16.7%) + dcd D.2.1.5.3 17 (12.7%) 27 (20.1%) 22 (16.7%) + FMQ2 25 (18.7%) 21 (15.7%) 24 (18.2%) + dcd D.2.1.5.3 25 (18.7%) 21 (15.7%) 24 (18.2%) + FMQ3 13 (9.7%) 20 (14.9%) 19 (14.4%) + dcd D.2.1.5.3 13 (9.7%) 20 (14.9%) 19 (14.4%) + ———————————————————————————————————————————————————————————————————————— + + Source: [include Applicant source, datasets and/or software tools used] + (1) Duration = [e.g., X week double-blind treatment period or median and a range indicating pooled trial durations]. + (2) Treatment-emergent adverse event defined as [definition]. MedDRA version X. + (3) Each FMQ is aligned to a single SOC based on clinical judgment. However, + please be aware that some FMQs may contain PTs from more than one SOC. + + Abbreviations: CI, confidence interval; FMQ, FDA Medical Query; N, number of patients in treatment arm; + n, number of patients with at least one event; SOC, System Organ Class + +# Table 38 generation works with risk difference column + + Code + res + Output + Body System or Organ Class + FMQ (Broad) A: Drug X B: Placebo C: Combination Risk Difference (%) (95% CI) + Dictionary-Derived Term (N=134) (N=134) (N=132) (N=268) + ————————————————————————————————————————————————————————————————————————————————————————————————————— + cl B.2 + FMQ1 20 (14.9%) 17 (12.7%) 22 (16.7%) -2.2 (-10.5 - 6.0) + dcd B.2.2.3.1 20 (14.9%) 17 (12.7%) 22 (16.7%) -2.2 (-10.5 - 6.0) + FMQ2 22 (16.4%) 25 (18.7%) 21 (15.9%) 2.2 (-6.9 - 11.3) + dcd B.2.2.3.1 22 (16.4%) 25 (18.7%) 21 (15.9%) 2.2 (-6.9 - 11.3) + FMQ3 18 (13.4%) 24 (17.9%) 23 (17.4%) 4.5 (-4.2 - 13.2) + dcd B.2.2.3.1 18 (13.4%) 24 (17.9%) 23 (17.4%) 4.5 (-4.2 - 13.2) + cl C.1 + FMQ1 14 (10.4%) 19 (14.2%) 21 (15.9%) 3.7 (-4.1 - 11.6) + dcd C.1.1.1.3 14 (10.4%) 19 (14.2%) 21 (15.9%) 3.7 (-4.1 - 11.6) + FMQ2 17 (12.7%) 22 (16.4%) 19 (14.4%) 3.7 (-4.7 - 12.2) + dcd C.1.1.1.3 17 (12.7%) 22 (16.4%) 19 (14.4%) 3.7 (-4.7 - 12.2) + FMQ3 20 (14.9%) 16 (11.9%) 19 (14.4%) -3.0 (-11.1 - 5.2) + dcd C.1.1.1.3 20 (14.9%) 16 (11.9%) 19 (14.4%) -3.0 (-11.1 - 5.2) + diff --git a/tests/testthat/setup-options.R b/tests/testthat/setup-options.R new file mode 100644 index 00000000..78be1f9b --- /dev/null +++ b/tests/testthat/setup-options.R @@ -0,0 +1,20 @@ +# `opts_partial_match_old` is left for exclusions due to partial matching in dependent packages (i.e. not fixable here) +# it might happen that it is not used right now, but it is left for possible future use +# use with: `withr::with_options(opts_partial_match_old, { ... })` inside the test +opts_partial_match_old <- list( + warnPartialMatchDollar = getOption("warnPartialMatchDollar"), + warnPartialMatchArgs = getOption("warnPartialMatchArgs"), + warnPartialMatchAttr = getOption("warnPartialMatchAttr") +) +opts_partial_match_new <- list( + warnPartialMatchDollar = TRUE, + warnPartialMatchArgs = TRUE, + warnPartialMatchAttr = TRUE +) + +if (isFALSE(getFromNamespace("on_cran", "testthat")()) && requireNamespace("withr", quietly = TRUE)) { + withr::local_options( + opts_partial_match_new, + .local_envir = testthat::teardown_env() + ) +} diff --git a/tests/testthat/setup.R b/tests/testthat/setup.R index e8427c79..2e25feda 100644 --- a/tests/testthat/setup.R +++ b/tests/testthat/setup.R @@ -1,4 +1,5 @@ library(dplyr) +library(ggplot2) adsl_raw <- random.cdisc.data::cadsl adae_raw <- random.cdisc.data::cadae @@ -24,11 +25,15 @@ adae_raw$ETHNIC <- formatters::with_label(factor(adae_raw$ETHNIC, levels = sort( # expect_snapshot_ggplot - set custom plot dimensions expect_snapshot_ggplot <- function(title, fig, width = NA, height = NA) { - skip_if_not_installed("svglite") + testthat::skip_on_ci() + testthat::skip_if_not_installed("svglite") name <- paste0(title, ".svg") path <- tempdir() - suppressMessages(ggplot2::ggsave(name, fig, path = path, width = width, height = height)) + withr::with_options( + opts_partial_match_old, + suppressMessages(ggplot2::ggsave(name, fig, path = path, width = width, height = height)) + ) path <- file.path(path, name) testthat::announce_snapshot_file(name = name) diff --git a/tests/testthat/test-fda-fig_01.R b/tests/testthat/test-fda-fig_01.R index b658f119..df89edb8 100644 --- a/tests/testthat/test-fda-fig_01.R +++ b/tests/testthat/test-fda-fig_01.R @@ -4,34 +4,46 @@ adsl$TRTSDTM <- adsl$TRTSDTM[1] adsl$TRTEDTM <- adsl$TRTSDTM + lubridate::days(sample(0:400, nrow(adsl), replace = TRUE)) test_that("Figure 01 generation works with default values", { - fig_01_default <- make_fig_01(adsl) + fig_01_default <- withr::with_options( + opts_partial_match_old, + make_fig_01(adsl) + ) expect_snapshot_ggplot("fig_01_default", fig_01_default, width = 8, height = 5) }) test_that("Figure 01 generation works with no table", { - fig_01_notbl <- make_fig_01(adsl, add_table = FALSE) + fig_01_notbl <- withr::with_options( + opts_partial_match_old, + make_fig_01(adsl, add_table = FALSE) + ) expect_snapshot_ggplot("fig_01_notbl", fig_01_notbl, width = 8, height = 3) }) test_that("Figure 01 generation works with custom values", { - fig_01_custom <- make_fig_01( - adsl, - u_trtdur = "years", - annotations = list( - title = "Figure 1. Time to Permanent Discontinuation of Study Drug, Safety Population, Pooled Analyses" - ), - xticks = c(0, 0.25, 0.5, 0.75, 1, 1.1) + fig_01_custom <- withr::with_options( + opts_partial_match_old, + make_fig_01( + adsl, + u_trtdur = "years", + annotations = list( + title = "Figure 1. Time to Permanent Discontinuation of Study Drug, Safety Population, Pooled Analyses" + ), + xticks = c(0, 0.25, 0.5, 0.75, 1, 1.1) + ) ) expect_snapshot_ggplot("fig_01_custom", fig_01_custom, width = 10, height = 5) }) test_that("Figure 01 generation works with ggtheme argument specified", { - fig_01_theme <- make_fig_01( - adsl, - ggtheme = theme_dark() + fig_01_theme <- withr::with_options( + opts_partial_match_old, + make_fig_01( + adsl, + ggtheme = theme_dark() + ) ) expect_snapshot_ggplot("fig_01_theme", fig_01_theme, width = 10, height = 6) diff --git a/tests/testthat/test-fda-fig_02.R b/tests/testthat/test-fda-fig_02.R index 978aad8b..314e0219 100644 --- a/tests/testthat/test-fda-fig_02.R +++ b/tests/testthat/test-fda-fig_02.R @@ -3,34 +3,46 @@ adsl <- adsl_raw adsl$EOSDY <- sample(0:400, nrow(adsl), replace = TRUE) test_that("Figure 02 generation works with default values", { - fig_02_default <- make_fig_02(adsl) + fig_02_default <- withr::with_options( + opts_partial_match_old, + make_fig_02(adsl) + ) expect_snapshot_ggplot("fig_02_default", fig_02_default, width = 8, height = 5) }) test_that("Figure 02 generation works with no table", { - fig_02_notbl <- make_fig_02(adsl, add_table = FALSE) + fig_02_notbl <- withr::with_options( + opts_partial_match_old, + make_fig_02(adsl, add_table = FALSE) + ) expect_snapshot_ggplot("fig_02_notbl", fig_02_notbl, width = 8, height = 3) }) test_that("Figure 02 generation works with custom values", { - fig_02_custom <- make_fig_02( - adsl, - u_trtdur = "years", - annotations = list( - title = "Figure 2. Time to Last Follow Up, Safety Population, Pooled Analyses" - ), - xticks = c(0, 0.25, 0.5, 0.75, 1, 1.1) + fig_02_custom <- withr::with_options( + opts_partial_match_old, + make_fig_02( + adsl, + u_trtdur = "years", + annotations = list( + title = "Figure 2. Time to Last Follow Up, Safety Population, Pooled Analyses" + ), + xticks = c(0, 0.25, 0.5, 0.75, 1, 1.1) + ) ) expect_snapshot_ggplot("fig_02_custom", fig_02_custom, width = 10, height = 5) }) test_that("Figure 02 generation works with ggtheme argument specified", { - fig_02_theme <- make_fig_02( - adsl, - ggtheme = theme_dark() + fig_02_theme <- withr::with_options( + opts_partial_match_old, + make_fig_02( + adsl, + ggtheme = theme_dark() + ) ) expect_snapshot_ggplot("fig_02_theme", fig_02_theme, width = 10, height = 6) diff --git a/tests/testthat/test-fda-fig_14.R b/tests/testthat/test-fda-fig_14.R new file mode 100644 index 00000000..f1bfcd39 --- /dev/null +++ b/tests/testthat/test-fda-fig_14.R @@ -0,0 +1,53 @@ +test_that("Figure 14 generation works with default values", { + fig_14_default <- withr::with_options( + opts_partial_match_old, + make_fig_14(advs_raw) + ) + + expect_snapshot_ggplot("fig_14_default", fig_14_default, width = 8, height = 6) +}) + +test_that("Figure 14 generation works with no table", { + fig_14_notbl <- withr::with_options( + opts_partial_match_old, + make_fig_14(advs_raw, add_table = FALSE) + ) + + expect_snapshot_ggplot("fig_14_notbl", fig_14_notbl, width = 8, height = 4) +}) + +test_that("Figure 14 generation works with custom values", { + fig_14_custom <- withr::with_options( + opts_partial_match_old, + make_fig_14( + advs_raw, + paramcd_val = "SYSBP", + add_cond = bquote("ONTRTFL == 'Y' | ABLFL == 'Y'"), + x_lab = "Analysis Visit", + y_lab = "Systolic (unit)", + annotations = list( + title = paste( + "Figure 14. Mean and 95% Confidence Interval of Systolic Blood Pressure Over Time by Treatment", + "Arm, Safety Population, Trial X", + sep = "\n" + ), + subtitle = "Source: [include source]" + ), + yticks = c(135, 140, 145, 150, 155, 160) + ) + ) + + expect_snapshot_ggplot("fig_14_custom", fig_14_custom, width = 10, height = 6) +}) + +test_that("Figure 14 generation works with ggtheme argument specified", { + fig_14_theme <- withr::with_options( + opts_partial_match_old, + make_fig_14( + advs_raw, + ggtheme = theme_dark() + ) + ) + + expect_snapshot_ggplot("fig_14_theme", fig_14_theme, width = 10, height = 6) +}) diff --git a/tests/testthat/test-fda-table_02.R b/tests/testthat/test-fda-table_02.R index 671e2ec1..56bf742b 100644 --- a/tests/testthat/test-fda-table_02.R +++ b/tests/testthat/test-fda-table_02.R @@ -53,7 +53,10 @@ test_that("Table 02 generation works with some NA values", { test_that("Table 02 generation (tplyr) works with default values", { options(pillar.print_max = 50, width = 200) - result <- make_table_02_tplyr(adsl) + result <- withr::with_options( + opts_partial_match_old, + make_table_02_tplyr(adsl) + ) res <- expect_silent(result[["_data"]]) expect_snapshot(res) @@ -62,7 +65,10 @@ test_that("Table 02 generation (tplyr) works with default values", { test_that("Table 02 generation (tplyr) works with `tplyr_raw` = TRUE", { options(pillar.print_max = 50, width = 200) - result <- make_table_02_tplyr(adsl, tplyr_raw = TRUE) + result <- withr::with_options( + opts_partial_match_old, + make_table_02_tplyr(adsl, tplyr_raw = TRUE) + ) res <- expect_silent(result) expect_snapshot(res) @@ -77,18 +83,21 @@ test_that("Table 02 generation (tplyr) works with custom values", { anl <- dplyr::left_join(adsl, advs, by = "USUBJID") %>% df_explicit_na() - result <- make_table_02_tplyr( - anl, - vars = c("SEX", "AGE", "AGEGR1", "RACE", "ETHNIC", "COUNTRY", "AVAL"), - lbl_vars = c( - "Sex", "Age, years", "Age Group, years", "Race", "Ethnicity", - "Country of Participation", "Baseline Temperature (C)" - ), - na_rm = TRUE, - annotations = list( - title = "Table 2. Baseline Demographic and Clinical Characteristics Safety Population, Pooled Analyses" - ), - prune_0 = FALSE + result <- withr::with_options( + opts_partial_match_old, + make_table_02_tplyr( + anl, + vars = c("SEX", "AGE", "AGEGR1", "RACE", "ETHNIC", "COUNTRY", "AVAL"), + lbl_vars = c( + "Sex", "Age, years", "Age Group, years", "Race", "Ethnicity", + "Country of Participation", "Baseline Temperature (C)" + ), + na_rm = TRUE, + annotations = list( + title = "Table 2. Baseline Demographic and Clinical Characteristics Safety Population, Pooled Analyses" + ), + prune_0 = FALSE + ) ) res <- expect_silent(result[["_data"]]) @@ -106,7 +115,10 @@ test_that("Table 02 generation (tplyr) works with some NA values", { adsl <- adsl %>% df_explicit_na() - result <- make_table_02_tplyr(adsl, vars = "SEX", lbl_vars = "Sex") + result <- withr::with_options( + opts_partial_match_old, + make_table_02_tplyr(adsl, vars = "SEX", lbl_vars = "Sex") + ) res <- expect_silent(result[["_data"]]) expect_snapshot(res) diff --git a/tests/testthat/test-fda-table_09.R b/tests/testthat/test-fda-table_09.R index 279c77b2..aed9ef05 100644 --- a/tests/testthat/test-fda-table_09.R +++ b/tests/testthat/test-fda-table_09.R @@ -87,3 +87,264 @@ test_that("Table 09 (gt) generation works with custom values", { ) expect_snapshot(res) }) + +# Test make_table_09_tplyr() ---- + +test_that("make_table_09_tplyr() returns a tibble when tplyr_raw = TRUE", { + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, tplyr_raw = TRUE) + ) + expect_tibble(tbl_out) # verify expected type + + expect_silent(tbl_out) # expect no messages or warnings + expect_snapshot(tbl_out) # verify that the content didn't change compared to the last run +}) + +test_that("make_table_09_tplyr() returns a gt object when tplyr_raw = FALSE", { + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, tplyr_raw = FALSE) + ) + expect_class(tbl_out, "gt_tbl") # verify expected type + + expect_silent(tbl_out) # expect no messages or warnings + expect_snapshot(tbl_out %>% gt::extract_body()) # verify that the content didn't change compared to the last run +}) + +# As we have now verified visually (due to the snapshots) that tplyr table and gt table are the same content-wise, +# we can use the tplyr data.frame to verify the content. However, the cell content is not tested, since +# we trust that {tplyr} functionality works as expected +test_that("make_table_09_tplyr() provides total column counts based on the alt_count_df parameter", { + # Use adsl for alternative column counts + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, alt_counts_df = adsl, tplyr_raw = TRUE) + ) + + # Extract column counts + counts_row <- tbl_out[1, ][2:ncol(tbl_out)] + counts_out <- data.frame( + arm = gsub("var1_", "", names(counts_row)), + n_out = as.numeric(gsub("[^0-9]", "", counts_row)) + ) + + # Compare expected counts to actual counts + counts_exp <- adsl %>% + dplyr::group_by(ARM) %>% + dplyr::summarize(n_exp = n()) %>% + dplyr::full_join(counts_out, by = c("ARM" = "arm")) %>% + dplyr::mutate(equal = (n_exp == n_out)) + + expect_true(all(counts_exp[["equal"]])) + + # Repeat procedure for the case that no alt_counts_df is specified + tbl_out_n <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, tplyr_raw = TRUE) + ) + counts_row_n <- tbl_out_n[1, ][2:ncol(tbl_out_n)] + counts_out_n <- data.frame( + arm = gsub("var1_", "", names(counts_row_n)), + n_out = as.numeric(gsub("[^0-9]", "", counts_row_n)) + ) + + counts_exp <- adae %>% + dplyr::group_by(ARM) %>% + dplyr::filter(AESER == "Y", SAFFL == "Y") %>% + dplyr::summarize(n_exp = n()) %>% + dplyr::full_join(counts_out_n, by = c("ARM" = "arm")) %>% + dplyr::mutate(equal = (n_exp == n_out)) + + expect_true(all(counts_exp[["equal"]])) +}) + +test_that("make_table_09_tplyr() assigns column headers correctly to the arm groups", { + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae, tplyr_raw = TRUE) + ) + arm_col_names <- colnames(tbl_out)[-1] |> sub(pattern = "var1_", replacement = "") + arm_headers <- unlist(tbl_out[1, -1]) + position_valid <- sapply(seq_along(length(arm_col_names)), function(i) grepl(arm_col_names[i], arm_headers[i])) + expect_true(all(position_valid)) + + # Alternate levels order + adae_alt <- adae %>% + dplyr::mutate(ARM = factor(ARM, levels = unique(adae[["ARM"]]))) + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae_alt, tplyr_raw = TRUE) + ) + arm_col_names <- colnames(tbl_out)[-1] |> sub(pattern = "var1_", replacement = "") + arm_headers <- unlist(tbl_out[1, -1]) + position_valid <- sapply(seq_along(length(arm_col_names)), function(i) grepl(arm_col_names[i], arm_headers[i])) + expect_true(all(position_valid)) + + # Test with character column instead factor column + adae_chr <- adae %>% + dplyr::mutate(ARM = as.character(ARM)) + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae_chr, tplyr_raw = TRUE) + ) + arm_col_names <- colnames(tbl_out)[-1] |> sub(pattern = "var1_", replacement = "") + arm_headers <- unlist(tbl_out[1, -1]) + position_valid <- sapply(seq_along(length(arm_col_names)), function(i) grepl(arm_col_names[i], arm_headers[i])) + expect_true(all(position_valid)) +}) + +# nolint start +test_that("make_table_09_tplyr() provides risk difference columns based on the risk_diff_pairs parameter", { + # Test for display of one comparison + rd <- list(c("A: Drug X", "B: Placebo")) + tbl_out <- expect_warning( + withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, alt_counts_df = adsl, risk_diff_pairs = rd, tplyr_raw = TRUE) + ) + ) + # rdiff_index <- grep("rdiff_", colnames(tbl_out)) + # expect_length(rdiff_index, length(rd)) + + # Test for display of multiple comparisons + rd_pairs <- list(c("A: Drug X", "B: Placebo"), c("A: Drug X", "C: Combination")) + tbl_out <- expect_warning( + withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, alt_counts_df = adsl, risk_diff_pairs = rd_pairs, tplyr_raw = TRUE) + ) + ) + # rdiff_index <- grep("rdiff_", colnames(tbl_out)) + # expect_length(rdiff_index, length(rd_pairs)) + + # Check correct assignment of header_string + # rd_tbl <- tbl_out %>% + # dplyr::select(tidyr::starts_with("rdiff_")) + # + # names_out <- colnames(rd_tbl) |> + # sub(pattern = "rdiff_", replacement = "RD: ") |> + # sub(pattern = "_", replacement = " - ") + # + # expect_equal(names_out, unlist(rd_tbl[1, ]), ignore_attr = TRUE) +}) +# nolint end + +test_that("make_table_09_tplyr() provides a total column based on the lbl_overall parameter", { + # Check that overall column exists and the header string is assigned correctly to it + lbl <- "Total Pat." + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, alt_counts_df = adsl, lbl_overall = lbl, tplyr_raw = TRUE) %>% + dplyr::select(tidyr::ends_with(lbl)) + ) + + lbl_out <- sub("var1_", "", colnames(tbl_out)) + expect_equal(lbl_out, lbl) + expect_true(grepl(lbl_out, unlist(tbl_out[1, ]))) + + # Check that no overall column is presented, if lbl_overall parameter is NULL + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, alt_counts_df = adsl, lbl_overall = NULL, tplyr_raw = TRUE) %>% + dplyr::select(tidyr::ends_with(lbl)) + ) + expect_equal(ncol(tbl_out), 0) +}) + +test_that("make_table_09_tplyr() prunes all-zero-rows based on the prune_0 parameter", { + # Check that zeros are pruned if prune_0 = TRUE + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, prune_0 = TRUE, tplyr_raw = TRUE) %>% + dplyr::mutate( + is_zero_a = dplyr::if_else(`var1_A: Drug X` == " 0 ( 0.0%)", TRUE, FALSE), + is_zero_b = dplyr::if_else(`var1_B: Placebo` == " 0 ( 0.0%)", TRUE, FALSE), + is_zero_c = dplyr::if_else(`var1_C: Combination` == " 0 ( 0.0%)", TRUE, FALSE), + all_zero = is_zero_a & is_zero_b & is_zero_c + ) + ) + + expect_false(any(tbl_out[["all_zero"]])) + + # Check that zeros are pruned if prune_0 = FALSE + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, prune_0 = FALSE, tplyr_raw = TRUE) %>% + dplyr::mutate( + is_zero_a = dplyr::if_else(`var1_A: Drug X` == " 0 ( 0.0%)", TRUE, FALSE), + is_zero_b = dplyr::if_else(`var1_B: Placebo` == " 0 ( 0.0%)", TRUE, FALSE), + is_zero_c = dplyr::if_else(`var1_C: Combination` == " 0 ( 0.0%)", TRUE, FALSE), + all_zero = is_zero_a & is_zero_b & is_zero_c + ) + ) + + expect_true(any(tbl_out[["all_zero"]])) +}) + +test_that("make_table_09_tplyr() shows column counts based on the show_colcounts parameter", { + # Check that column counts are visible if specified such + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, show_colcounts = TRUE, tplyr_raw = TRUE) + ) + header_row <- unlist(tbl_out[1, 2:ncol(tbl_out)]) + expect_true(all(grepl("\\(N=", header_row))) + + # Check that column counts are omitted if specified such + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, show_colcounts = FALSE, tplyr_raw = TRUE) + ) + header_row <- unlist(tbl_out[1, 2:ncol(tbl_out)]) + expect_false(all(grepl("\\(N=", header_row))) +}) + +test_that("make_table_09_tplyr() considers lbl_soc_var and lbl_pref_var parameters", { + soc_lbl <- "SOC label" + pt_lbl <- "PT label" + + # Check labels for Tplyr output + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, lbl_soc_var = soc_lbl, lbl_pref_var = pt_lbl, tplyr_raw = TRUE) + ) + lbl_out <- tbl_out[[1, 1]] + expect_true(grepl(soc_lbl, lbl_out)) + expect_true(grepl(pt_lbl, lbl_out)) + + # Check labels for gt output + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, lbl_soc_var = soc_lbl, lbl_pref_var = pt_lbl, tplyr_raw = FALSE) + ) + lbl_out <- tbl_out[["_stubhead"]][["label"]] + expect_true(grepl(soc_lbl, lbl_out)) + expect_true(grepl(pt_lbl, lbl_out)) +}) + +test_that("make_table_09_tplyr() considers annotations if tplyr_raw = FALSE", { + # Add titles and footnotes + annot <- list( + title = "Table 9. Patients with Serious Adverse Events by SOC and PT, Safety Population, Pooled Analyses", + subtitles = c("Only one title, but", "multiple subtitles possible"), + main_footer = c("Main footer 1", "Main footer 2"), + prov_footer = c("Some more information", "E.g. a source note") + ) + tbl_out <- withr::with_options( + opts_partial_match_old, + make_table_09_tplyr(adae = adae, annotations = annot) + ) + title_out <- tbl_out[["_heading"]][["title"]] + subtitle_out <- tbl_out[["_heading"]][["subtitle"]] + main_footer_out <- tbl_out[["_footnotes"]][["footnotes"]][[1]] + prov_footer_out <- tbl_out[["_source_notes"]][[1]] + + expect_true(grepl(annot[["title"]], title_out)) + expect_true(grepl(annot[["subtitles"]][[1]], subtitle_out)) + expect_true(grepl(annot[["subtitles"]][[2]], subtitle_out)) + expect_true(grepl(annot[["main_footer"]][[1]], main_footer_out)) + expect_true(grepl(annot[["main_footer"]][[2]], main_footer_out)) + expect_true(grepl(annot[["prov_footer"]][[1]], prov_footer_out)) + expect_true(grepl(annot[["prov_footer"]][[2]], prov_footer_out)) +}) diff --git a/tests/testthat/test-fda-table_22.R b/tests/testthat/test-fda-table_22.R index fa180878..4e934ab5 100644 --- a/tests/testthat/test-fda-table_22.R +++ b/tests/testthat/test-fda-table_22.R @@ -1,4 +1,4 @@ -adsl <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adsl") %>% +adsl <- random.cdisc.data::cadsl %>% mutate(AGEGR1 = as.factor(case_when( AGE >= 17 & AGE < 65 ~ ">=17 to <65", AGE >= 65 ~ ">=65", @@ -10,7 +10,7 @@ adsl <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adsl") %>% AGE = "Age, years" ) -adae <- scda::synthetic_cdisc_dataset("rcd_2022_10_13", "adae") +adae <- random.cdisc.data::cadae df <- left_join(adsl, adae, by = intersect(names(adsl), names(adae))) @@ -41,13 +41,17 @@ test_that("Table 22 generation works with custom values: N_col denominator and n lbl_overall = NULL, prune_0 = TRUE, annotations = list( - title = "Table 22. Overview of Adverse Events1 by Demographic Subgroup, Safety Population, Pooled Analysis (or Trial X)", + title = paste( + "Table 22. Overview of Adverse Events1 by Demographic Subgroup, Safety Population, Pooled Analysis", + "(or Trial X)" + ), main_footer = c( "Source: [include Applicant source, datasets and/or software tools used].", "(1) Treatment-emergent adverse event defined as [definition]. MedDRA version X." ), prov_footer = c( - "Abbreviations: MedDRA, Medical Dictionary for Regulatory Activities.; N, number of patients in treatment arm; n, number of patients with adverse event;", + "Abbreviations: MedDRA, Medical Dictionary for Regulatory Activities.;", + "N, number of patients in treatment arm; n, number of patients with adverse event;", "Ns, total number of patients for each specific subgroup" ) ) diff --git a/tests/testthat/test-fda-table_32.R b/tests/testthat/test-fda-table_32.R index 00f275d8..07d66fb8 100644 --- a/tests/testthat/test-fda-table_32.R +++ b/tests/testthat/test-fda-table_32.R @@ -1,5 +1,11 @@ adsl <- adsl_raw advs <- advs_raw +advs_missing <- advs %>% + filter(PARAMCD == "DIABP" & AVISITN >= 1) +set.seed(2) +advs_missing[sample(seq_len(nrow(advs_missing)), 100), "AVAL"] <- NA +advs_missing <- advs_missing %>% + df_explicit_na() test_that("Table 32 generation works with default values", { result <- make_table_32(advs, adsl) @@ -59,3 +65,17 @@ test_that("Table 32 (gtsum) generation works with custom values", { res <- expect_silent(result) expect_snapshot(res) }) + +test_that("Table 32 (gtsum) generation missing values and ADSL", { + result <- suppressWarnings( + make_table_32_gtsum( + advs = advs_missing, + alt_counts_df = adsl, + lbl_overall = "Total Population" + ) %>% + gt::extract_body() + ) + + res <- expect_silent(result) + expect_snapshot(res) +}) diff --git a/tests/testthat/test-fda-table_33.R b/tests/testthat/test-fda-table_33.R index 47064c14..3fcb60e8 100644 --- a/tests/testthat/test-fda-table_33.R +++ b/tests/testthat/test-fda-table_33.R @@ -1,6 +1,11 @@ adsl <- adsl_raw -advs <- advs_raw %>% - mutate(AVAL = AVAL - 100) +advs <- advs_raw %>% mutate(AVAL = AVAL - 100) +advs_missing <- advs %>% + filter(PARAMCD %in% c("DIABP", "SYSBP") & AVISITN >= 1) +set.seed(2) +advs_missing[sample(seq_len(nrow(advs_missing)), 100), "AVAL"] <- NA +advs_missing <- advs_missing %>% + df_explicit_na() test_that("Table 33 generation works with default values", { result <- make_table_33(advs, adsl) @@ -50,3 +55,32 @@ test_that("Table 33 generation works with risk difference column", { res <- expect_silent(result) expect_snapshot(res) }) + +test_that("Table 33 (gtsum) generation works with default values", { + result <- suppressWarnings(make_table_33_gtsum(advs = advs) %>% gt::extract_body()) + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 33 (gtsum) generation works with custom values", { + result <- suppressWarnings( + make_table_33_gtsum(advs = advs, lbl_overall = "Total Population") %>% gt::extract_body() + ) + + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 33 (gtsum) generation missing values and ADSL", { + result <- suppressWarnings( + make_table_33_gtsum( + advs = advs_missing, + alt_counts_df = adsl, + lbl_overall = "Total Population" + ) %>% + gt::extract_body() + ) + + res <- expect_silent(result) + expect_snapshot(res) +}) diff --git a/tests/testthat/test-fda-table_36.R b/tests/testthat/test-fda-table_36.R new file mode 100644 index 00000000..93f38a3c --- /dev/null +++ b/tests/testthat/test-fda-table_36.R @@ -0,0 +1,71 @@ +adsl <- adsl_raw +adae <- adae_raw + +test_that("Table 36 generation works with default values", { + result <- make_table_36(adae, adsl) + + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 36 generation works with custom values", { + annotations <- list( + title = "Table 36. Patients With Adverse Events by System Organ Class and Preferred Term, Safety + Population, Pooled Analysis (or Trial X)", + main_footer = c( + "Source: [include Applicant source, datasets and/or software tools used].", + "1 Duration = [e.g., X week double-blind treatment period or median and a range + indicating pooled trial durations].", + "2 Treatment-emergent adverse event defined as [definition]. MedDRA version X.", + "3 Difference is shown between [treatment arms] (e.g., difference is shown + between Drug Name dosage X vs. placebo).", + "4 Table display is ordered by the risk difference." + ), + prov_footer = c( + "Abbreviations: CI, confidence interval; MedDRA, Medical Dictionary for Regulatory Activities;", + "N, number of patients in treatment arm; n, number of patients with at least one event;", + "PT, preferred term; SOC, System Organ Class " + ) + ) + + result <- make_table_36( + adae, + adsl, + lbl_overall = "Total", + annotations = annotations + ) + + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 36 generation works with risk difference column", { + risk_diff <- list(arm_x = "B: Placebo", arm_y = "A: Drug X") + result <- make_table_36(adae, adsl, risk_diff = risk_diff) + + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 36 generation works with some NA values", { + set.seed(5) + adae[sample(seq_len(nrow(adae)), 10), "AEBODSYS"] <- NA + + result <- make_table_36(adae, adsl) + + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 36 generation works with custom values (SOC variable and label)", { + result <- make_table_36( + adae, + adsl, + lbl_overall = "Total", + soc_var = "AEBODSYS", + lbl_soc_var = "Label for AEBODSYS" + ) + + res <- expect_silent(result) + expect_snapshot(res) +}) diff --git a/tests/testthat/test-fda-table_38.R b/tests/testthat/test-fda-table_38.R new file mode 100644 index 00000000..81f4e546 --- /dev/null +++ b/tests/testthat/test-fda-table_38.R @@ -0,0 +1,57 @@ +adsl <- adsl_raw +adae <- adae_raw + +set.seed(1) +adae <- adae %>% + dplyr::rename(FMQ01SC = SMQ01SC) %>% + dplyr::mutate( + AESER = sample(c("Y", "N"), size = nrow(adae), replace = TRUE), + FMQ01NAM = sample(c("FMQ1", "FMQ2", "FMQ3"), size = nrow(adae), replace = TRUE) + ) +adae$FMQ01SC[is.na(adae$FMQ01SC)] <- "NARROW" + + +test_that("Table 38 generation works with default values", { + result <- make_table_38(adae = adae, alt_counts_df = adsl) + + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 38 generation works with custom values", { + adae <- formatters::var_relabel(adae, AEBODSYS = "Body System or Organ Class(3)") + result <- make_table_38( + adae = adae, + alt_counts_df = adsl, + fmq_scope = "NARROW", + annotations = list( + title = paste( + "Table 38. Patients With Adverse Events by System Organ Class, FDA Medical Query (Narrow)(1)\n", + "and Preferred Term, Safety Population, Pooled Analysis (or Trial X)(2)" + ), + main_footer = paste( + "Source: [include Applicant source, datasets and/or software tools used]\n", + "(1) Duration = [e.g., X week double-blind treatment period or median and a range indicating pooled trial", + "durations].\n", + "(2) Treatment-emergent adverse event defined as [definition]. MedDRA version X.\n", + "(3) Each FMQ is aligned to a single SOC based on clinical judgment. However,\n", + "please be aware that some FMQs may contain PTs from more than one SOC." + ), + prov_footer = c( + "Abbreviations: CI, confidence interval; FMQ, FDA Medical Query; N, number of patients in treatment arm;", + "n, number of patients with at least one event; SOC, System Organ Class" + ) + ) + ) + + res <- expect_silent(result) + expect_snapshot(res) +}) + +test_that("Table 38 generation works with risk difference column", { + risk_diff <- list(arm_x = "B: Placebo", arm_y = "A: Drug X") + result <- make_table_38(adae, adsl, risk_diff = risk_diff) + + res <- expect_silent(result) + expect_snapshot(res) +}) From ae6977711edef4de27a35a78b6a2fd15dfe831bf Mon Sep 17 00:00:00 2001 From: huanlugwu Date: Wed, 12 Jun 2024 08:04:52 +0000 Subject: [PATCH 02/15] with fda-fig_03 added --- NAMESPACE | 2 + R/fda-fig_03.R | 179 ++++++++++++++ _quarto.yml | 1 + man/make_fig_03.Rd | 79 ++++++ quarto/assets/images/screenshots/fig_03.png | Bin 0 -> 132427 bytes quarto/figure-templates/template-fig_03.qmd | 54 ++++ quarto/index-templates.qmd | 2 + .../_snaps/fda-fig_03/fig_03_custom.svg | 202 +++++++++++++++ .../_snaps/fda-fig_03/fig_03_default.svg | 185 ++++++++++++++ .../_snaps/fda-fig_03/fig_03_notbl.svg | 72 ++++++ .../_snaps/fda-fig_03/fig_03_theme.svg | 231 ++++++++++++++++++ tests/testthat/test-fda-fig_03.R | 49 ++++ 12 files changed, 1056 insertions(+) create mode 100644 R/fda-fig_03.R create mode 100644 man/make_fig_03.Rd create mode 100644 quarto/assets/images/screenshots/fig_03.png create mode 100644 quarto/figure-templates/template-fig_03.qmd create mode 100644 tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg create mode 100644 tests/testthat/_snaps/fda-fig_03/fig_03_default.svg create mode 100644 tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg create mode 100644 tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg create mode 100644 tests/testthat/test-fda-fig_03.R diff --git a/NAMESPACE b/NAMESPACE index b19cae96..d8e12718 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,6 +4,7 @@ export(alt_counts_df_preproc) export(basic_table_annot) export(make_fig_01) export(make_fig_02) +export(make_fig_03) export(make_fig_14) export(make_table_02) export(make_table_02_gtsum) @@ -42,6 +43,7 @@ import(Tplyr) import(checkmate) import(dplyr) import(ggplot2) +import(survminer) import(gt) import(gtsummary) import(rtables) diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R new file mode 100644 index 00000000..c9d70957 --- /dev/null +++ b/R/fda-fig_03.R @@ -0,0 +1,179 @@ +#' FDA Figure 3: Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X +#' +#' @details +#' * `df` must contain the variables specified by `arm_var`, `id_var`, `saffl_var`, `trtsdtm_var`, `trtedtm_var` and `dctreas_var`. +#' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in +#' flag variables are treated as `"N"`. +#' * It is assumed that every record for a unique patient in `df` has the same treatment start and end datetime. +#' * Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal to +#' or greater than the given time (times corresponding to the figure's x-ticks labels). +#' * Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to AEs leading to treatment discontinuation for each arm throughout the trial (times corresponding to the figure's x-ticks labels). +#' * Records with missing treatment start and/or end datetime are excluded from all calculations. +#' +#' @inheritParams argument_convention +#' @param add_table (`flag`)\cr whether "Number of Patients" table should be printed under the plot. +#' @param annotations (named `list` of `character`)\cr list of annotations to add to the figure. Valid annotation types +#' are `title`, `subtitles`, and `caption`. Each name-value pair should use the annotation type as name and the +#' desired string as value. +#' +#' @return A `ggplot2` object. +#' +#' @examples +#' adsl <- random.cdisc.data::cadsl +#' +#' fig <- make_fig_03(df = adsl, dctreas_var = DCSREAS) +#' fig +#' +#' @export +make_fig_03 <- function(df, + arm_var = "ARM", + id_var = "USUBJID", + saffl_var = "SAFFL", + trtsdtm_var = "TRTSDTM", + trtedtm_var = "TRTEDTM", + u_trtdur = "days", + dctreas_var = "DCTREAS", + x_lab = paste0("Time from first dose (", u_trtdur, ")"), + y_lab = "Cumulative Incidence (%)\nAEs Leading to Treatment Discontinuation", + xticks = NA, + ggtheme = NULL, + add_table = TRUE, + annotations = NULL) { + assert_subset(c(arm_var, id_var, saffl_var, trtsdtm_var, trtedtm_var, dctreas_var), names(df)) + assert_choice(u_trtdur, c("days", "weeks", "months", "years")) + assert_flag_variables(df, saffl_var) + + df <- df %>% + filter(.data[[saffl_var]] == "Y") %>% + df_explicit_na() %>% + mutate( + TRTDUR = lubridate::interval(lubridate::ymd_hms(.data[[trtsdtm_var]]), lubridate::ymd_hms(.data[[trtedtm_var]])), + TRTDUR = TRTDUR %>% as.numeric(u_trtdur), + AVALU = u_trtdur, + STATUS = case_when(.data[[dctreas_var]] == "ADVERSE EVENT" ~ 1, TRUE ~ 0) + ) %>% + filter(!is.na(TRTDUR)) %>% + select(all_of(c(id_var, arm_var)), TRTDUR, STATUS) %>% + distinct() %>% + arrange(desc(TRTDUR)) + + max_time <- max(df$TRTDUR) + + formula <- as.formula(paste0("Surv(TRTDUR, STATUS) ~ ", arm_var)) + fit <- survminer::surv_fit(formula, data = df) + survival_plot <- survminer::ggsurvplot(fit, + data = df, + fun = "event", + linetype = c(1, seq(2, length(levels(df[[arm_var]])))), + palette = c("blue", rep("grey", length(levels(df[[arm_var]])) - 1)), + surv.scale = "percent", + censor = FALSE, + legend.labs = levels(df[[arm_var]])) + + g <- survival_plot$plot + + labs( + title = annotations[["title"]], + subtitle = annotations[["subtitle"]], + caption = annotations[["caption"]], + x = x_lab, + y = y_lab + ) + + theme( + legend.position = "bottom", + legend.title = element_blank(), + plot.margin = unit(c(0.05, 0.05, 0, 0.025), "npc") + ) + + if (any(!is.na(xticks))) { + g <- g + + scale_x_continuous(breaks = xticks, limits = c(min(xticks), max(c(xticks, max_time)))) + } + + if (!is.null(ggtheme)) g <- g + ggtheme + + if (add_table) { + # following 2 lines replace `g_legend <- cowplot::get_legend(g)` which is currently broken + legend_pos <- paste0("guide-box-", ifelse(is.null(ggtheme), "bottom", ggtheme$legend.position)) + g_legend <- cowplot::get_plot_component(g, legend_pos, return_all = TRUE) + + g <- g + theme(legend.position = "none") + + xtick_lbls <- ggplot_build(g)$layout$panel_params[[1]]$x$breaks + xtick_lbls <- xtick_lbls[!is.na(xtick_lbls)] + xlims <- ggplot_build(g)$layout$panel_params[[1]]$x$limits + + tbl_n <- expand.grid( + x = xtick_lbls, + arm = rev(levels(df[[arm_var]])), + n = 0 + ) + + g_tbl <- ggplot(tbl_n, aes(x = x, y = arm)) + + theme( + axis.title.x = element_blank(), + axis.title.y = element_blank(), + axis.ticks.x = element_blank(), + axis.ticks.y = element_blank(), + panel.background = element_blank(), + axis.text.x = element_blank(), + axis.text.y = element_text(colour = c(rep("grey", length(levels(df[[arm_var]])) - 1), "blue")), + panel.border = element_rect(color = "black", fill = NA, linewidth = 0.5), + plot.margin = unit(c(0.1, 0.05, 0, 0.025), "npc") + ) + + labs(title = "Number at risk") + + scale_x_continuous(breaks = xtick_lbls, limits = c(min(xlims, xtick_lbls), max(xlims, xtick_lbls))) + + for (i in seq_len(nrow(tbl_n))) { + tbl_n$n[i] <- sum(df$ARM == tbl_n$arm[i] & df$TRTDUR >= tbl_n$x[i]) + colours <- ifelse(tbl_n$arm[i] == levels(df[[arm_var]])[1], "blue", "grey") + g_tbl <- g_tbl + + annotate("text", label = as.character(tbl_n$n[i]), x = tbl_n$x[i], y = tbl_n$arm[i], colour = colours) + } + + tbl_n_cum <- expand.grid( + x = xtick_lbls, + arm = rev(levels(df[[arm_var]])), + n = 0 + ) + + g_tbl_cum <- ggplot(tbl_n_cum, aes(x = x, y = arm)) + + theme( + axis.title.x = element_blank(), + axis.title.y = element_blank(), + axis.ticks.x = element_blank(), + axis.ticks.y = element_blank(), + panel.background = element_blank(), + axis.text.x = element_blank(), + axis.text.y = element_text(colour = c(rep("grey", length(levels(df[[arm_var]])) - 1), "blue")), + panel.border = element_rect(color = "black", fill = NA, linewidth = 0.5), + plot.margin = unit(c(0.1, 0.05, 0, 0.025), "npc") + ) + + labs(title = "Cumulative Number of Patients with Event") + + scale_x_continuous(breaks = xtick_lbls, limits = c(min(xlims, xtick_lbls), max(xlims, xtick_lbls))) + + for (i in seq_len(nrow(tbl_n_cum))) { + tbl_n_cum$n[i] <- sum(df$ARM == tbl_n_cum$arm[i] & df$TRTDUR >= tbl_n_cum$x[i]) + colours <- ifelse(tbl_n_cum$arm[i] == levels(df[[arm_var]])[1], "blue", "grey") + g_tbl_cum <- g_tbl_cum + + annotate("text", label = as.character(tbl_n_cum$n[i]), x = tbl_n_cum$x[i], y = tbl_n_cum$arm[i], colour = colours) + } + + if (!is.null(ggtheme)) { + g_tbl <- g_tbl + ggtheme + g_tbl_cum <- g_tbl_cum + ggtheme + } + + cowplot::plot_grid( + g, + g_tbl, + g_tbl_cum, + g_legend, + align = "v", + axis = "l", + ncol = 1, + rel_heights = c(0.75, 0.25, 0.25, 0.1) + ) + } else { + g + } +} diff --git a/_quarto.yml b/_quarto.yml index a35bcab5..86e912f7 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -106,6 +106,7 @@ website: - quarto/table-templates/template-table_36.qmd - quarto/figure-templates/template-fig_01.qmd - quarto/figure-templates/template-fig_02.qmd + - quarto/figure-templates/template-fig_03.qmd - quarto/figure-templates/template-fig_14.qmd - text: About file: quarto/about.qmd diff --git a/man/make_fig_03.Rd b/man/make_fig_03.Rd new file mode 100644 index 00000000..c9cda6f6 --- /dev/null +++ b/man/make_fig_03.Rd @@ -0,0 +1,79 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fda-fig_03.R +\name{make_fig_03} +\alias{make_fig_03} +\title{FDA Figure 3: Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X} +\usage{ +make_fig_03( + df, + arm_var = "ARM", + id_var = "USUBJID", + saffl_var = "SAFFL", + trtsdtm_var = "TRTSDTM", + trtedtm_var = "TRTEDTM", + u_trtdur = "days", + dctreas_var = "DCTREAS", + x_lab = paste0("Time from first dose (", u_trtdur, ")"), + y_lab = "Cumulative Incidence (\%)\\nAEs Leading to Treatment Discontinuation", + xticks = NA, + ggtheme = NULL, + add_table = TRUE, + annotations = NULL +) +} +\arguments{ +\item{df}{(\code{data.frame})\cr dataset required to build table.} + +\item{arm_var}{(\code{character})\cr Name of the treatment arm variable used to split table into columns.} + +\item{id_var}{(\code{character})\cr variable used as unique subject identifier.} + +\item{saffl_var}{(\code{character})\cr flag variable used to indicate inclusion in safety population.} + +\item{trtsdtm_var}{(\code{character})\cr treatment start datetime variable.} + +\item{trtedtm_var}{(\code{character})\cr treatment end datetime variable.} + +\item{u_trtdur}{(\code{character})\cr unit for duration of treatment. Options are \code{"days"}, \code{"weeks"}, \code{"months"}, +and \code{"years"}.} + +\item{x_lab}{(\code{character})\cr x-axis label.} + +\item{y_lab}{(\code{character})\cr y-axis label.} + +\item{xticks}{(\code{vector} of \code{numeric})\cr x-axis tick positions. If \code{NA} (default), tick mark positions are +automatically calculated.} + +\item{ggtheme}{(\code{theme})\cr a graphical theme as provided by \code{ggplot2} to control styling of the \code{ggplot} object.} + +\item{add_table}{(\code{flag})\cr whether "Number of Patients" table should be printed under the plot.} + +\item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the figure. Valid annotation types +are \code{title}, \code{subtitles}, and \code{caption}. Each name-value pair should use the annotation type as name and the +desired string as value.} +} +\value{ +A \code{ggplot2} object. +} +\description{ +FDA Figure 3: Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X +} +\details{ +\itemize{ +\item \code{df} must contain the variables specified by \code{arm_var}, \code{id_var}, \code{saffl_var}, \code{trtsdtm_var}, \code{trtedtm_var} and \code{dctreas_var}. +\item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in +flag variables are treated as \code{"N"}. +\item It is assumed that every record for a unique patient in \code{df} has the same treatment start and end datetime. +\item Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal to +or greater than the given time (times corresponding to the figure's x-ticks labels). +\item Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to AEs leading to treatment discontinuation for each arm throughout the trial (times corresponding to the figure's x-ticks labels). +\item Records with missing treatment start and/or end datetime are excluded from all calculations. +} +} +\examples{ +adsl <- random.cdisc.data::cadsl + +fig <- make_fig_03(df = adsl, dctreas_var = DCSREAS) +fig + +} diff --git a/quarto/assets/images/screenshots/fig_03.png b/quarto/assets/images/screenshots/fig_03.png new file mode 100644 index 0000000000000000000000000000000000000000..0608685c3171126692051bd7694be61b3ffc58db GIT binary patch literal 132427 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0% +2% +4% +6% + + + + + + + + + + + +0.00 +0.25 +0.50 +0.75 +1.00 +1.10 +Time from first dose (years) +Cumulative Incidence (%) +AEs Leading to Treatment Discontinuation +Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +111 +111 +111 +111 +111 +107 +106 +106 +106 +106 +106 +104 +110 +110 +110 +110 +110 +109 + + + +C: Combination +B: Placebo +A: Drug X +Number at risk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +111 +111 +111 +111 +111 +107 +106 +106 +106 +106 +106 +104 +110 +110 +110 +110 +110 +109 + + + +C: Combination +B: Placebo +A: Drug X +Cumulative Number of Patients with Event + + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg new file mode 100644 index 00000000..1dbcdc80 --- /dev/null +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0% +2% +4% +6% + + + + + + + + + + +0 +250 +500 +750 +1000 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment Discontinuation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +111 +111 +106 +94 +80 +106 +106 +98 +82 +70 +110 +110 +103 +89 +73 + + + +C: Combination +B: Placebo +A: Drug X +Number at risk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +111 +111 +106 +94 +80 +106 +106 +98 +82 +70 +110 +110 +103 +89 +73 + + + +C: Combination +B: Placebo +A: Drug X +Cumulative Number of Patients with Event + + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg new file mode 100644 index 00000000..1656df15 --- /dev/null +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +0% +2% +4% +6% + + + + + + + + + + +0 +250 +500 +750 +1000 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment Discontinuation + + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg new file mode 100644 index 00000000..569e3735 --- /dev/null +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0% +2% +4% +6% + + + + + + + + + +0 +250 +500 +750 +1000 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment Discontinuation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +111 +111 +106 +94 +80 +106 +106 +98 +82 +70 +110 +110 +103 +89 +73 + + +C: Combination +B: Placebo +A: Drug X + + + + + + + + +0 +250 +500 +750 +1000 +x +arm +Number at risk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +111 +111 +106 +94 +80 +106 +106 +98 +82 +70 +110 +110 +103 +89 +73 + + +C: Combination +B: Placebo +A: Drug X + + + + + + + + +0 +250 +500 +750 +1000 +x +arm +Cumulative Number of Patients with Event + +Strata + + + + + + +A: Drug X +B: Placebo +C: Combination + + diff --git a/tests/testthat/test-fda-fig_03.R b/tests/testthat/test-fda-fig_03.R new file mode 100644 index 00000000..63d2ee02 --- /dev/null +++ b/tests/testthat/test-fda-fig_03.R @@ -0,0 +1,49 @@ +adsl <- adsl_raw + +test_that("Figure 03 generation works with default values", { + fig_03_default <- withr::with_options( + opts_partial_match_old, + make_fig_03(adsl, dctreas_var = "DCSREAS") + ) + + expect_snapshot_ggplot("fig_03_default", fig_03_default, width = 8, height = 5) +}) + +test_that("Figure 03 generation works with no table", { + fig_03_notbl <- withr::with_options( + opts_partial_match_old, + make_fig_03(adsl, dctreas_var = "DCSREAS", add_table = FALSE) + ) + + expect_snapshot_ggplot("fig_03_notbl", fig_03_notbl, width = 8, height = 3) +}) + +test_that("Figure 03 generation works with custom values", { + fig_03_custom <- withr::with_options( + opts_partial_match_old, + make_fig_03( + adsl, + dctreas_var = "DCSREAS", + u_trtdur = "years", + annotations = list( + title = "Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X" + ), + xticks = c(0, 0.25, 0.5, 0.75, 1, 1.1) + ) + ) + + expect_snapshot_ggplot("fig_03_custom", fig_03_custom, width = 10, height = 5) +}) + +test_that("Figure 03 generation works with ggtheme argument specified", { + fig_03_theme <- withr::with_options( + opts_partial_match_old, + make_fig_03( + adsl, + dctreas_var = "DCSREAS", + ggtheme = theme_dark() + ) + ) + + expect_snapshot_ggplot("fig_03_theme", fig_03_theme, width = 10, height = 6) +}) From 43aa8cd4f30a547ca10589efc4e5b33ee876e094 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 08:16:21 +0000 Subject: [PATCH 03/15] [skip style] [skip vbump] Restyle files --- R/fda-fig_03.R | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R index c9d70957..a483a188 100644 --- a/R/fda-fig_03.R +++ b/R/fda-fig_03.R @@ -62,13 +62,14 @@ make_fig_03 <- function(df, formula <- as.formula(paste0("Surv(TRTDUR, STATUS) ~ ", arm_var)) fit <- survminer::surv_fit(formula, data = df) survival_plot <- survminer::ggsurvplot(fit, - data = df, - fun = "event", - linetype = c(1, seq(2, length(levels(df[[arm_var]])))), - palette = c("blue", rep("grey", length(levels(df[[arm_var]])) - 1)), - surv.scale = "percent", - censor = FALSE, - legend.labs = levels(df[[arm_var]])) + data = df, + fun = "event", + linetype = c(1, seq(2, length(levels(df[[arm_var]])))), + palette = c("blue", rep("grey", length(levels(df[[arm_var]])) - 1)), + surv.scale = "percent", + censor = FALSE, + legend.labs = levels(df[[arm_var]]) + ) g <- survival_plot$plot + labs( From 2d6c31295436e647ec78aeb88640f5b375e50500 Mon Sep 17 00:00:00 2001 From: huanlugwu Date: Thu, 22 Aug 2024 09:11:45 +0000 Subject: [PATCH 04/15] switch from {survminer} to {ggsurvfit} --- NAMESPACE | 1 - R/fda-fig_03.R | 20 +- .../_snaps/fda-fig_03/fig_03_custom.svg | 110 ++++++---- .../_snaps/fda-fig_03/fig_03_default.svg | 180 ++++++++------- .../_snaps/fda-fig_03/fig_03_notbl.svg | 102 +++++---- .../_snaps/fda-fig_03/fig_03_theme.svg | 207 ++++++++++-------- tests/testthat/test-fda-fig_03.R | 1 + 7 files changed, 351 insertions(+), 270 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index d8e12718..c0d69c5b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -43,7 +43,6 @@ import(Tplyr) import(checkmate) import(dplyr) import(ggplot2) -import(survminer) import(gt) import(gtsummary) import(rtables) diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R index a483a188..2db97db6 100644 --- a/R/fda-fig_03.R +++ b/R/fda-fig_03.R @@ -59,19 +59,13 @@ make_fig_03 <- function(df, max_time <- max(df$TRTDUR) - formula <- as.formula(paste0("Surv(TRTDUR, STATUS) ~ ", arm_var)) - fit <- survminer::surv_fit(formula, data = df) - survival_plot <- survminer::ggsurvplot(fit, - data = df, - fun = "event", - linetype = c(1, seq(2, length(levels(df[[arm_var]])))), - palette = c("blue", rep("grey", length(levels(df[[arm_var]])) - 1)), - surv.scale = "percent", - censor = FALSE, - legend.labs = levels(df[[arm_var]]) - ) - - g <- survival_plot$plot + + fit <- ggsurvfit::survfit2(Surv(TRTDUR, STATUS) ~ ARM, data = df) + + survival_plot <- ggsurvfit(fit, type = "risk", linetype_aes = TRUE) + + scale_color_manual(values = c("blue", rep("grey", length(levels(df[[arm_var]])) - 1))) + + scale_ggsurvfit(y_scales = list()) + + g <- survival_plot + labs( title = annotations[["title"]], subtitle = annotations[["subtitle"]], diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg index 103ac540..fb2bed00 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg @@ -24,52 +24,72 @@ - + - + - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - -0% -2% -4% -6% - - - - - - - - - - - -0.00 -0.25 -0.50 -0.75 -1.00 -1.10 -Time from first dose (years) -Cumulative Incidence (%) -AEs Leading to Treatment Discontinuation -Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X +0% +2% +4% +6% + + + + + + + + + + +0.00 +0.25 +0.50 +0.75 +1.00 +1.10 +Time from first dose (years) +Cumulative Incidence (%) +AEs Leading to Treatment Discontinuation +Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X @@ -188,15 +208,15 @@ B: Placebo A: Drug X Cumulative Number of Patients with Event - - - - - - - -A: Drug X -B: Placebo -C: Combination + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg index 1dbcdc80..8e0ef0b5 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg @@ -28,45 +28,65 @@ - + - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - -0% -2% -4% -6% - - - - - - - - - - -0 -250 -500 -750 -1000 -Time from first dose (days) -Cumulative Incidence (%) -AEs Leading to Treatment Discontinuation +0% +2% +4% +6% + + + + + + + + + + +0 +200 +400 +600 +800 +1000 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment Discontinuation @@ -84,33 +104,38 @@ - - - - - + + + + + + - - - + + + + 111 -111 -106 -94 +111 +107 +103 +92 80 106 -106 -98 -82 +106 +104 +95 +78 70 110 -110 -103 -89 +110 +109 +99 +84 73 @@ -136,33 +161,38 @@ - - - - - + + + + + + - - - + + + + 111 -111 -106 -94 +111 +107 +103 +92 80 106 -106 -98 -82 +106 +104 +95 +78 70 110 -110 -103 -89 +110 +109 +99 +84 73 @@ -171,15 +201,15 @@ B: Placebo A: Drug X Cumulative Number of Patients with Event - - - - - - - -A: Drug X -B: Placebo -C: Combination + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg index 1656df15..58de5f26 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg @@ -21,52 +21,72 @@ - + - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - -0% -2% -4% -6% - - - - - - - - - - -0 -250 -500 -750 -1000 -Time from first dose (days) -Cumulative Incidence (%) -AEs Leading to Treatment Discontinuation - - - - - - - -A: Drug X -B: Placebo -C: Combination +0% +2% +4% +6% + + + + + + + + + + +0 +200 +400 +600 +800 +1000 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment Discontinuation + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg index 569e3735..217e77eb 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg @@ -39,46 +39,50 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + -0% -2% -4% -6% - - - - - - - - - -0 -250 -500 -750 -1000 +0% +2% +4% +6% + + + + + + + + + + +0 +200 +400 +600 +800 +1000 Time from first dose (days) Cumulative Incidence (%) AEs Leading to Treatment Discontinuation @@ -100,33 +104,38 @@ - - - - - + + + + + + - - - + + + + 111 -111 -106 -94 +111 +107 +103 +92 80 106 -106 -98 -82 +106 +104 +95 +78 70 110 -110 -103 -89 +110 +109 +99 +84 73 @@ -137,14 +146,16 @@ - - - + + + + 0 -250 -500 -750 +200 +400 +600 +800 1000 x arm @@ -167,33 +178,38 @@ - - - - - + + + + + + - - - + + + + 111 -111 -106 -94 +111 +107 +103 +92 80 106 -106 -98 -82 +106 +104 +95 +78 70 110 -110 -103 -89 +110 +109 +99 +84 73 @@ -204,28 +220,29 @@ - - - + + + + 0 -250 -500 -750 +200 +400 +600 +800 1000 x arm Cumulative Number of Patients with Event - -Strata - - - - - - -A: Drug X -B: Placebo -C: Combination + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/test-fda-fig_03.R b/tests/testthat/test-fda-fig_03.R index 63d2ee02..56ece69d 100644 --- a/tests/testthat/test-fda-fig_03.R +++ b/tests/testthat/test-fda-fig_03.R @@ -47,3 +47,4 @@ test_that("Figure 03 generation works with ggtheme argument specified", { expect_snapshot_ggplot("fig_03_theme", fig_03_theme, width = 10, height = 6) }) + From f1cb99880018a3a53d0ac5faf786bc6bb094d5b3 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 22 Aug 2024 09:13:40 +0000 Subject: [PATCH 05/15] [skip style] [skip vbump] Restyle files --- tests/testthat/test-fda-fig_03.R | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/testthat/test-fda-fig_03.R b/tests/testthat/test-fda-fig_03.R index 56ece69d..63d2ee02 100644 --- a/tests/testthat/test-fda-fig_03.R +++ b/tests/testthat/test-fda-fig_03.R @@ -47,4 +47,3 @@ test_that("Figure 03 generation works with ggtheme argument specified", { expect_snapshot_ggplot("fig_03_theme", fig_03_theme, width = 10, height = 6) }) - From 4056ac8c1586a1b9103a735cb3780800f5173b52 Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 19:05:30 -0400 Subject: [PATCH 06/15] Clean up aesthetics --- R/fda-fig_03.R | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R index 2db97db6..0a7c0c47 100644 --- a/R/fda-fig_03.R +++ b/R/fda-fig_03.R @@ -34,7 +34,7 @@ make_fig_03 <- function(df, u_trtdur = "days", dctreas_var = "DCTREAS", x_lab = paste0("Time from first dose (", u_trtdur, ")"), - y_lab = "Cumulative Incidence (%)\nAEs Leading to Treatment Discontinuation", + y_lab = "Cumulative Incidence (%)\nAEs Leading to Treatment\nDiscontinuation", xticks = NA, ggtheme = NULL, add_table = TRUE, @@ -59,11 +59,10 @@ make_fig_03 <- function(df, max_time <- max(df$TRTDUR) - fit <- ggsurvfit::survfit2(Surv(TRTDUR, STATUS) ~ ARM, data = df) + fit <- ggsurvfit::survfit2(ggsurvfit::Surv(TRTDUR, STATUS) ~ ARM, data = df) - survival_plot <- ggsurvfit(fit, type = "risk", linetype_aes = TRUE) + - scale_color_manual(values = c("blue", rep("grey", length(levels(df[[arm_var]])) - 1))) + - scale_ggsurvfit(y_scales = list()) + survival_plot <- ggsurvfit::ggsurvfit(fit, type = "risk", linetype_aes = TRUE) + + scale_color_manual(values = c("blue", rep("darkgrey", length(levels(df[[arm_var]])) - 1))) g <- survival_plot + labs( @@ -96,6 +95,7 @@ make_fig_03 <- function(df, xtick_lbls <- ggplot_build(g)$layout$panel_params[[1]]$x$breaks xtick_lbls <- xtick_lbls[!is.na(xtick_lbls)] xlims <- ggplot_build(g)$layout$panel_params[[1]]$x$limits + arm_colors <- c(rep("darkgrey", length(levels(df[[arm_var]])) - 1), "blue") tbl_n <- expand.grid( x = xtick_lbls, @@ -104,25 +104,25 @@ make_fig_03 <- function(df, ) g_tbl <- ggplot(tbl_n, aes(x = x, y = arm)) + - theme( + suppressWarnings(theme( axis.title.x = element_blank(), axis.title.y = element_blank(), axis.ticks.x = element_blank(), axis.ticks.y = element_blank(), panel.background = element_blank(), axis.text.x = element_blank(), - axis.text.y = element_text(colour = c(rep("grey", length(levels(df[[arm_var]])) - 1), "blue")), + axis.text.y = element_text(color = arm_colors), panel.border = element_rect(color = "black", fill = NA, linewidth = 0.5), plot.margin = unit(c(0.1, 0.05, 0, 0.025), "npc") - ) + + )) + labs(title = "Number at risk") + scale_x_continuous(breaks = xtick_lbls, limits = c(min(xlims, xtick_lbls), max(xlims, xtick_lbls))) for (i in seq_len(nrow(tbl_n))) { tbl_n$n[i] <- sum(df$ARM == tbl_n$arm[i] & df$TRTDUR >= tbl_n$x[i]) - colours <- ifelse(tbl_n$arm[i] == levels(df[[arm_var]])[1], "blue", "grey") + colors <- ifelse(tbl_n$arm[i] == levels(df[[arm_var]])[1], "blue", "darkgrey") g_tbl <- g_tbl + - annotate("text", label = as.character(tbl_n$n[i]), x = tbl_n$x[i], y = tbl_n$arm[i], colour = colours) + annotate("text", label = as.character(tbl_n$n[i]), x = tbl_n$x[i], y = tbl_n$arm[i], color = colors) } tbl_n_cum <- expand.grid( @@ -132,25 +132,25 @@ make_fig_03 <- function(df, ) g_tbl_cum <- ggplot(tbl_n_cum, aes(x = x, y = arm)) + - theme( + suppressWarnings(theme( axis.title.x = element_blank(), axis.title.y = element_blank(), axis.ticks.x = element_blank(), axis.ticks.y = element_blank(), panel.background = element_blank(), axis.text.x = element_blank(), - axis.text.y = element_text(colour = c(rep("grey", length(levels(df[[arm_var]])) - 1), "blue")), + axis.text.y = element_text(color = arm_colors), panel.border = element_rect(color = "black", fill = NA, linewidth = 0.5), plot.margin = unit(c(0.1, 0.05, 0, 0.025), "npc") - ) + + )) + labs(title = "Cumulative Number of Patients with Event") + scale_x_continuous(breaks = xtick_lbls, limits = c(min(xlims, xtick_lbls), max(xlims, xtick_lbls))) for (i in seq_len(nrow(tbl_n_cum))) { tbl_n_cum$n[i] <- sum(df$ARM == tbl_n_cum$arm[i] & df$TRTDUR >= tbl_n_cum$x[i]) - colours <- ifelse(tbl_n_cum$arm[i] == levels(df[[arm_var]])[1], "blue", "grey") + colors <- ifelse(tbl_n_cum$arm[i] == levels(df[[arm_var]])[1], "blue", "darkgrey") g_tbl_cum <- g_tbl_cum + - annotate("text", label = as.character(tbl_n_cum$n[i]), x = tbl_n_cum$x[i], y = tbl_n_cum$arm[i], colour = colours) + annotate("text", label = as.character(tbl_n_cum$n[i]), x = tbl_n_cum$x[i], y = tbl_n_cum$arm[i], color = colors) } if (!is.null(ggtheme)) { From a283256006a0bc2a028a2d37ce91509290fa88bb Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 19:05:38 -0400 Subject: [PATCH 07/15] Import ggsurvfit --- DESCRIPTION | 1 + 1 file changed, 1 insertion(+) diff --git a/DESCRIPTION b/DESCRIPTION index cecebf1c..f9b7fcd9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -21,6 +21,7 @@ Imports: dplyr (>= 1.0.0), formatters (>= 0.5.8), ggplot2 (>= 3.5.0), + ggsurvfit (>= 1.1.0), gt (>= 0.10.1), gtsummary (>= 2.0.0), lubridate (>= 1.7.10), From 8b93a81d6644ec276b5a96b1c89e302925a00e54 Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 19:05:44 -0400 Subject: [PATCH 08/15] Update tests --- .../_snaps/fda-fig_03/fig_03_custom.svg | 291 ++++++++--------- .../_snaps/fda-fig_03/fig_03_default.svg | 249 +++++++------- .../_snaps/fda-fig_03/fig_03_notbl.svg | 113 +++---- .../_snaps/fda-fig_03/fig_03_theme.svg | 305 ++++++++---------- tests/testthat/test-fda-fig_03.R | 2 +- 5 files changed, 446 insertions(+), 514 deletions(-) diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg index fb2bed00..23621ef1 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_custom.svg @@ -28,68 +28,69 @@ - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + -0% -2% -4% -6% - - - - - - - - - - -0.00 -0.25 -0.50 -0.75 -1.00 -1.10 -Time from first dose (years) -Cumulative Incidence (%) -AEs Leading to Treatment Discontinuation -Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X +0.00 +0.02 +0.04 +0.06 + + + + + + + + + + +0.00 +0.25 +0.50 +0.75 +1.00 +1.15 +Time from first dose (years) +Cumulative Incidence (%) +AEs Leading to Treatment +Discontinuation +Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X @@ -102,53 +103,53 @@ - - + + - - - - - - - - - - - - - - - - - - -111 -111 -111 -111 -111 -107 -106 -106 -106 -106 -106 -104 -110 -110 -110 -110 -110 -109 - + + + + + + + + + + + + + + + + + + +111 +111 +111 +111 +111 +107 +106 +106 +106 +106 +106 +104 +110 +110 +110 +110 +110 +109 + -C: Combination -B: Placebo -A: Drug X -Number at risk +C: Combination +B: Placebo +A: Drug X +Number at risk @@ -161,62 +162,62 @@ - - + + - - - - - - - - - - - - - - - - - - -111 -111 -111 -111 -111 -107 -106 -106 -106 -106 -106 -104 -110 -110 -110 -110 -110 -109 - + + + + + + + + + + + + + + + + + + +111 +111 +111 +111 +111 +107 +106 +106 +106 +106 +106 +104 +110 +110 +110 +110 +110 +109 + -C: Combination -B: Placebo -A: Drug X -Cumulative Number of Patients with Event +C: Combination +B: Placebo +A: Drug X +Cumulative Number of Patients with Event - + - -A: Drug X -B: Placebo -C: Combination + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg index 8e0ef0b5..f7fb13e0 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_default.svg @@ -28,65 +28,58 @@ - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + -0% -2% -4% -6% - - - - - - - - - - -0 -200 -400 -600 -800 -1000 -Time from first dose (days) -Cumulative Incidence (%) -AEs Leading to Treatment Discontinuation +0.00 +0.02 +0.04 +0.06 + + + + + + + + +0 +300 +600 +900 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment +Discontinuation @@ -99,51 +92,41 @@ - - + + - - - - - - - - - - - - - - - - -111 -111 -107 -103 -92 -80 -106 -106 -104 -95 -78 -70 -110 -110 -109 -99 -84 -73 - + + + + + + + + + + + + +111 +111 +103 +85 +106 +106 +95 +75 +110 +110 +99 +77 + -C: Combination -B: Placebo -A: Drug X -Number at risk +C: Combination +B: Placebo +A: Drug X +Number at risk @@ -156,60 +139,50 @@ - - + + - - - - - - - - - - - - - - - - -111 -111 -107 -103 -92 -80 -106 -106 -104 -95 -78 -70 -110 -110 -109 -99 -84 -73 - + + + + + + + + + + + + +111 +111 +103 +85 +106 +106 +95 +75 +110 +110 +99 +77 + -C: Combination -B: Placebo -A: Drug X -Cumulative Number of Patients with Event +C: Combination +B: Placebo +A: Drug X +Cumulative Number of Patients with Event - + - -A: Drug X -B: Placebo -C: Combination + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg index 58de5f26..8545e12d 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_notbl.svg @@ -24,69 +24,62 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + -0% -2% -4% -6% - - - - - - - - - - -0 -200 -400 -600 -800 -1000 -Time from first dose (days) -Cumulative Incidence (%) -AEs Leading to Treatment Discontinuation - - - - - - - -A: Drug X -B: Placebo -C: Combination +0.00 +0.02 +0.04 +0.06 + + + + + + + + +0 +300 +600 +900 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment +Discontinuation + + + + + + + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg b/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg index 217e77eb..bda586a2 100644 --- a/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg +++ b/tests/testthat/_snaps/fda-fig_03/fig_03_theme.svg @@ -33,59 +33,52 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + -0% -2% -4% -6% - - - - - - - - - - -0 -200 -400 -600 -800 -1000 -Time from first dose (days) -Cumulative Incidence (%) -AEs Leading to Treatment Discontinuation +0.00 +0.02 +0.04 +0.06 + + + + + + + + +0 +300 +600 +900 +Time from first dose (days) +Cumulative Incidence (%) +AEs Leading to Treatment +Discontinuation @@ -98,68 +91,54 @@ - - + + - - - - - - - - - - - - - - - - - -111 -111 -107 -103 -92 -80 -106 -106 -104 -95 -78 -70 -110 -110 -109 -99 -84 -73 + + + + + + + + + + + + + +111 +111 +103 +85 +106 +106 +95 +75 +110 +110 +99 +77 -C: Combination -B: Placebo -A: Drug X - - - - - - - - - -0 -200 -400 -600 -800 -1000 -x -arm -Number at risk +C: Combination +B: Placebo +A: Drug X + + + + + + + +0 +300 +600 +900 +x +arm +Number at risk @@ -172,77 +151,63 @@ - - + + - - - - - - - - - - - - - - - - - -111 -111 -107 -103 -92 -80 -106 -106 -104 -95 -78 -70 -110 -110 -109 -99 -84 -73 + + + + + + + + + + + + + +111 +111 +103 +85 +106 +106 +95 +75 +110 +110 +99 +77 -C: Combination -B: Placebo -A: Drug X - - - - - - - - - -0 -200 -400 -600 -800 -1000 -x -arm -Cumulative Number of Patients with Event +C: Combination +B: Placebo +A: Drug X + + + + + + + +0 +300 +600 +900 +x +arm +Cumulative Number of Patients with Event - + - -A: Drug X -B: Placebo -C: Combination + +A: Drug X +B: Placebo +C: Combination diff --git a/tests/testthat/test-fda-fig_03.R b/tests/testthat/test-fda-fig_03.R index 63d2ee02..dc5a8987 100644 --- a/tests/testthat/test-fda-fig_03.R +++ b/tests/testthat/test-fda-fig_03.R @@ -28,7 +28,7 @@ test_that("Figure 03 generation works with custom values", { annotations = list( title = "Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X" ), - xticks = c(0, 0.25, 0.5, 0.75, 1, 1.1) + xticks = c(0, 0.25, 0.5, 0.75, 1, 1.15) ) ) From 0e79d23040d877537d230714e5d9aa783495dfab Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 19:08:07 -0400 Subject: [PATCH 09/15] Refresh template table --- quarto/figure-templates/template-fig_03.qmd | 28 ++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/quarto/figure-templates/template-fig_03.qmd b/quarto/figure-templates/template-fig_03.qmd index 19602250..cfd88dc8 100644 --- a/quarto/figure-templates/template-fig_03.qmd +++ b/quarto/figure-templates/template-fig_03.qmd @@ -34,20 +34,20 @@ Required variables: - **`df`**: The variables specified by `arm_var`, `id_var`, `saffl_var`, `trtsdtm_var`, `trtedtm_var` and `dctreas_var`. -| Argument | Description | Default | -|:--------------|:------------------------------------------|:--------------| -| `df` | (`data.frame`) Dataset (typically ADSL) required to build figure. | *No default* | -| `arm_var` | (`character`) Arm variable used to split table into columns. | `"ARM"` | -| `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | -| `id_var` | (`character`) Identifier variable used to count the participants within each flag. | `"USUBJID"` | -| `trtsdtm_var` | (`character`) Treatment start datetime variable in df. | `"TRTSDTM"` | -| `trtedtm_var` | (`character`) Treatment end datetime variable in df. | `"TRTEDTM"` | -| `u_trtdur` | (`character`) Unit for duration of treatment. Options are `"days"`, `"weeks"`, `"months"` and `"years"`. | `"days"` | -| `dctreas_var` | (`character`) Reason for treatment discontinuation variable used to split figure into lines. | `"DCTREAS"` | -| `x_lab` | (`character`) x-axis label. | `paste0("Time from first dose (", u_trtdur, ")")` | -| `y_lab` | (`character`) y-axis label. | `"Percent of Patients (%)"` | -| `xticks` | (`vector` of `numeric`) x-axis tick positions. If `NA` (default), tick mark positions are automatically calculated. | `NA` | -| `add_table` | (`flag`) whether "Number of Patients" table should be printed under the plot. | `TRUE` | +| Argument | Description | Default | +|:--------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------| +| `df` | (`data.frame`) Dataset (typically ADSL) required to build figure. | *No default* | +| `arm_var` | (`character`) Arm variable used to split table into columns. | `"ARM"` | +| `saffl_var` | (`character`) Flag variable used to indicate inclusion in safety population. | `"SAFFL"` | +| `id_var` | (`character`) Identifier variable used to count the participants within each flag. | `"USUBJID"` | +| `trtsdtm_var` | (`character`) Treatment start datetime variable in df. | `"TRTSDTM"` | +| `trtedtm_var` | (`character`) Treatment end datetime variable in df. | `"TRTEDTM"` | +| `u_trtdur` | (`character`) Unit for duration of treatment. Options are `"days"`, `"weeks"`, `"months"` and `"years"`. | `"days"` | +| `dctreas_var` | (`character`) Reason for treatment discontinuation variable used to split figure into lines. | `"DCTREAS"` | +| `x_lab` | (`character`) x-axis label. | `paste0("Time from first dose (", u_trtdur, ")")` | +| `y_lab` | (`character`) y-axis label. | `"Percent of Patients (%)"` | +| `xticks` | (`vector` of `numeric`) x-axis tick positions. If `NA` (default), tick mark positions are automatically calculated. | `NA` | +| `add_table` | (`flag`) whether "Number of Patients" table should be printed under the plot. | `TRUE` | | `annotations` | (named `list` of `character`) List of annotations to add to the figure. Valid annotation types are `title`, `subtitles`, and `caption`. Each name-value pair should use the annotation type as name and the desired string as value. | `NULL` | Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-fig_03.R). From d95ab530c551f6f0f338888dd96eb11cd040a8a2 Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 19:10:10 -0400 Subject: [PATCH 10/15] Fix lint --- R/fda-fig_03.R | 10 +++++++--- man/make_fig_03.Rd | 12 ++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R index 0a7c0c47..97656af3 100644 --- a/R/fda-fig_03.R +++ b/R/fda-fig_03.R @@ -1,13 +1,17 @@ #' FDA Figure 3: Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X #' #' @details -#' * `df` must contain the variables specified by `arm_var`, `id_var`, `saffl_var`, `trtsdtm_var`, `trtedtm_var` and `dctreas_var`. +#' * `df` must contain the variables specified by `arm_var`, `id_var`, `saffl_var`, `trtsdtm_var`, `trtedtm_var` and +#' `dctreas_var`. #' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in #' flag variables are treated as `"N"`. #' * It is assumed that every record for a unique patient in `df` has the same treatment start and end datetime. -#' * Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal to +#' * Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal +#' to #' or greater than the given time (times corresponding to the figure's x-ticks labels). -#' * Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to AEs leading to treatment discontinuation for each arm throughout the trial (times corresponding to the figure's x-ticks labels). +#' * Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to +#' AEs leading to treatment discontinuation for each arm throughout the trial (times corresponding to the figure's +#' x-ticks labels). #' * Records with missing treatment start and/or end datetime are excluded from all calculations. #' #' @inheritParams argument_convention diff --git a/man/make_fig_03.Rd b/man/make_fig_03.Rd index c9cda6f6..93d96db1 100644 --- a/man/make_fig_03.Rd +++ b/man/make_fig_03.Rd @@ -14,7 +14,7 @@ make_fig_03( u_trtdur = "days", dctreas_var = "DCTREAS", x_lab = paste0("Time from first dose (", u_trtdur, ")"), - y_lab = "Cumulative Incidence (\%)\\nAEs Leading to Treatment Discontinuation", + y_lab = "Cumulative Incidence (\%)\\nAEs Leading to Treatment\\nDiscontinuation", xticks = NA, ggtheme = NULL, add_table = TRUE, @@ -60,13 +60,17 @@ FDA Figure 3: Time to Adverse Event Leading to Treatment Discontinuation, Safety } \details{ \itemize{ -\item \code{df} must contain the variables specified by \code{arm_var}, \code{id_var}, \code{saffl_var}, \code{trtsdtm_var}, \code{trtedtm_var} and \code{dctreas_var}. +\item \code{df} must contain the variables specified by \code{arm_var}, \code{id_var}, \code{saffl_var}, \code{trtsdtm_var}, \code{trtedtm_var} and +\code{dctreas_var}. \item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in flag variables are treated as \code{"N"}. \item It is assumed that every record for a unique patient in \code{df} has the same treatment start and end datetime. -\item Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal to +\item Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal +to or greater than the given time (times corresponding to the figure's x-ticks labels). -\item Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to AEs leading to treatment discontinuation for each arm throughout the trial (times corresponding to the figure's x-ticks labels). +\item Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to +AEs leading to treatment discontinuation for each arm throughout the trial (times corresponding to the figure's +x-ticks labels). \item Records with missing treatment start and/or end datetime are excluded from all calculations. } } From 7645122ae16ba1b15c8c9c19d21b34beee39967d Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 19:16:51 -0400 Subject: [PATCH 11/15] Fix spelling --- R/fda-fig_03.R | 2 +- man/make_fig_03.Rd | 2 +- quarto/figure-templates/template-fig_03.qmd | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R index 97656af3..71d682f4 100644 --- a/R/fda-fig_03.R +++ b/R/fda-fig_03.R @@ -6,7 +6,7 @@ #' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in #' flag variables are treated as `"N"`. #' * It is assumed that every record for a unique patient in `df` has the same treatment start and end datetime. -#' * Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal +#' * Values in the "Number at risk" table are the number of patients at risk for each arm with treatment duration equal #' to #' or greater than the given time (times corresponding to the figure's x-ticks labels). #' * Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to diff --git a/man/make_fig_03.Rd b/man/make_fig_03.Rd index 93d96db1..6d4bb9e2 100644 --- a/man/make_fig_03.Rd +++ b/man/make_fig_03.Rd @@ -65,7 +65,7 @@ FDA Figure 3: Time to Adverse Event Leading to Treatment Discontinuation, Safety \item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in flag variables are treated as \code{"N"}. \item It is assumed that every record for a unique patient in \code{df} has the same treatment start and end datetime. -\item Values in the "Number ar risk" table are the number of patients at risk for each arm with treatment duration equal +\item Values in the "Number at risk" table are the number of patients at risk for each arm with treatment duration equal to or greater than the given time (times corresponding to the figure's x-ticks labels). \item Values in the "Cumulative Number of Patients with Event" table are the cumulative number of patients given time to diff --git a/quarto/figure-templates/template-fig_03.qmd b/quarto/figure-templates/template-fig_03.qmd index cfd88dc8..adf9524f 100644 --- a/quarto/figure-templates/template-fig_03.qmd +++ b/quarto/figure-templates/template-fig_03.qmd @@ -13,7 +13,7 @@ format: html ```{r fig, message=FALSE, warning=FALSE} # Load Libraries & Data -library(falcon) +library(cardinal) # Output Figure make_fig_03(df = adsl, dctreas_var = "DCSREAS") @@ -50,5 +50,5 @@ Required variables: | `add_table` | (`flag`) whether "Number of Patients" table should be printed under the plot. | `TRUE` | | `annotations` | (named `list` of `character`) List of annotations to add to the figure. Valid annotation types are `title`, `subtitles`, and `caption`. Each name-value pair should use the annotation type as name and the desired string as value. | `NULL` | -Source code for this function is available [here](https://github.com/pharmaverse/falcon/blob/main/R/fda-fig_03.R). +Source code for this function is available [here](https://github.com/pharmaverse/cardinal/blob/main/R/fda-fig_03.R). ::: From 51a09df7e11b1b2017c985a1eb229c34f95bec0e Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 19:39:37 -0400 Subject: [PATCH 12/15] Load data in template --- quarto/figure-templates/template-fig_03.qmd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/quarto/figure-templates/template-fig_03.qmd b/quarto/figure-templates/template-fig_03.qmd index adf9524f..ec67771b 100644 --- a/quarto/figure-templates/template-fig_03.qmd +++ b/quarto/figure-templates/template-fig_03.qmd @@ -15,6 +15,8 @@ format: html # Load Libraries & Data library(cardinal) +adsl <- random.cdisc.data::cadsl + # Output Figure make_fig_03(df = adsl, dctreas_var = "DCSREAS") ``` From c2ef9518da6baf06e38a3ed54097893ea5aa460c Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 20:01:11 -0400 Subject: [PATCH 13/15] Use DCSREAS instead of DCTREAS in figure 3 (and table 4) --- R/fda-fig_03.R | 11 ++++++----- R/fda-table_04.R | 19 +++++++++---------- man/argument_convention.Rd | 2 ++ man/make_fig_03.Rd | 8 +++++--- man/make_table_04.Rd | 5 ++--- quarto/figure-templates/template-fig_03.qmd | 6 +++--- quarto/table-templates/template-table_04.qmd | 5 ++--- tests/testthat/test-fda-fig_03.R | 8 ++++---- tests/testthat/test-fda-table_04.R | 3 +-- 9 files changed, 34 insertions(+), 33 deletions(-) diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R index 71d682f4..2ba12a3c 100644 --- a/R/fda-fig_03.R +++ b/R/fda-fig_03.R @@ -2,7 +2,7 @@ #' #' @details #' * `df` must contain the variables specified by `arm_var`, `id_var`, `saffl_var`, `trtsdtm_var`, `trtedtm_var` and -#' `dctreas_var`. +#' `dcsreas_var`. #' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in #' flag variables are treated as `"N"`. #' * It is assumed that every record for a unique patient in `df` has the same treatment start and end datetime. @@ -15,6 +15,7 @@ #' * Records with missing treatment start and/or end datetime are excluded from all calculations. #' #' @inheritParams argument_convention +#' @param dcsreas_var (`character`)\cr reason for treatment discontinuation variable used to split figure into lines. #' @param add_table (`flag`)\cr whether "Number of Patients" table should be printed under the plot. #' @param annotations (named `list` of `character`)\cr list of annotations to add to the figure. Valid annotation types #' are `title`, `subtitles`, and `caption`. Each name-value pair should use the annotation type as name and the @@ -25,7 +26,7 @@ #' @examples #' adsl <- random.cdisc.data::cadsl #' -#' fig <- make_fig_03(df = adsl, dctreas_var = DCSREAS) +#' fig <- make_fig_03(df = adsl, dcsreas_var = "DCSREAS") #' fig #' #' @export @@ -36,14 +37,14 @@ make_fig_03 <- function(df, trtsdtm_var = "TRTSDTM", trtedtm_var = "TRTEDTM", u_trtdur = "days", - dctreas_var = "DCTREAS", + dcsreas_var = "DCSREAS", x_lab = paste0("Time from first dose (", u_trtdur, ")"), y_lab = "Cumulative Incidence (%)\nAEs Leading to Treatment\nDiscontinuation", xticks = NA, ggtheme = NULL, add_table = TRUE, annotations = NULL) { - assert_subset(c(arm_var, id_var, saffl_var, trtsdtm_var, trtedtm_var, dctreas_var), names(df)) + assert_subset(c(arm_var, id_var, saffl_var, trtsdtm_var, trtedtm_var, dcsreas_var), names(df)) assert_choice(u_trtdur, c("days", "weeks", "months", "years")) assert_flag_variables(df, saffl_var) @@ -54,7 +55,7 @@ make_fig_03 <- function(df, TRTDUR = lubridate::interval(lubridate::ymd_hms(.data[[trtsdtm_var]]), lubridate::ymd_hms(.data[[trtedtm_var]])), TRTDUR = TRTDUR %>% as.numeric(u_trtdur), AVALU = u_trtdur, - STATUS = case_when(.data[[dctreas_var]] == "ADVERSE EVENT" ~ 1, TRUE ~ 0) + STATUS = case_when(.data[[dcsreas_var]] == "ADVERSE EVENT" ~ 1, TRUE ~ 0) ) %>% filter(!is.na(TRTDUR)) %>% select(all_of(c(id_var, arm_var)), TRTDUR, STATUS) %>% diff --git a/R/fda-table_04.R b/R/fda-table_04.R index 9fcda584..302ef540 100644 --- a/R/fda-table_04.R +++ b/R/fda-table_04.R @@ -1,7 +1,7 @@ #' FDA Table 4: Patient Disposition, Pooled Analyses #' #' @details -#' * `df` must contain `EOTSTT`, `DCTREAS`, `EOSSTT`, `DCSREAS` and the variables specified by `arm_var`, `id_var`, +#' * `df` must contain `EOTSTT`, `DCSREAS`, `EOSSTT`, `DCSREAS` and the variables specified by `arm_var`, `id_var`, #' and `pop_vars`. #' * If specified, `alt_counts_df` must contain the variable specified by `arm_var`, `id_var`, and `pop_vars`. #' * Flag variables (i.e. `XXXFL`) are expected to have two levels: `"Y"` (true) and `"N"` (false). Missing values in @@ -28,8 +28,7 @@ #' "ADVERSE EVENT", "LACK OF EFFICACY", "PROTOCOL VIOLATION", #' "DEATH", "WITHDRAWAL BY PARENT/GUARDIAN" #' ), DCSREAS, "OTHER") -#' ) %>% -#' mutate(DCTREAS = DCSREAS) +#' ) #' #' tbl <- make_table_04( #' df = adsl, pop_vars = c("RANDFL", "ITTFL", "SAFFL", "PPROTFL"), @@ -53,7 +52,7 @@ make_table_04 <- function(df, annotations = NULL) { assert_subset(c( id_var, arm_var, pop_vars, - "EOTSTT", "DCTREAS", "EOSSTT", "DCSREAS" + "EOTSTT", "DCSREAS", "EOSSTT", "DCSREAS" ), names(df)) assert_flag_variables(df, pop_vars) @@ -64,12 +63,12 @@ make_table_04 <- function(df, mutate( across(all_of(pop_vars), ~ with_label(. == "Y", lbl_pop_vars[match(cur_column(), pop_vars)])), DISCSD = with_label(EOTSTT == "DISCONTINUED", "Discontinued study drug"), - DISCSD_AE = with_label(EOTSTT == "DISCONTINUED" & DCTREAS == "ADVERSE EVENT", "Adverse event"), - DISCSD_LOE = with_label(EOTSTT == "DISCONTINUED" & DCTREAS == "LACK OF EFFICACY", "Lack of efficacy"), - DISCSD_PD = with_label(EOTSTT == "DISCONTINUED" & DCTREAS == "PROTOCOL DEVIATION", "Protocol deviation"), - DISCSD_DT = with_label(EOTSTT == "DISCONTINUED" & DCTREAS == "DEATH", "Death"), - DISCSD_WBS = with_label(EOTSTT == "DISCONTINUED" & DCTREAS == "WITHDRAWAL BY SUBJECT", "Withdrawal by subject"), - DISCSD_OTH = with_label(EOTSTT == "DISCONTINUED" & DCTREAS == "OTHER", "Other"), + DISCSD_AE = with_label(EOTSTT == "DISCONTINUED" & DCSREAS == "ADVERSE EVENT", "Adverse event"), + DISCSD_LOE = with_label(EOTSTT == "DISCONTINUED" & DCSREAS == "LACK OF EFFICACY", "Lack of efficacy"), + DISCSD_PD = with_label(EOTSTT == "DISCONTINUED" & DCSREAS == "PROTOCOL DEVIATION", "Protocol deviation"), + DISCSD_DT = with_label(EOTSTT == "DISCONTINUED" & DCSREAS == "DEATH", "Death"), + DISCSD_WBS = with_label(EOTSTT == "DISCONTINUED" & DCSREAS == "WITHDRAWAL BY SUBJECT", "Withdrawal by subject"), + DISCSD_OTH = with_label(EOTSTT == "DISCONTINUED" & DCSREAS == "OTHER", "Other"), DISCS = with_label(EOSSTT == "DISCONTINUED", "Discontinued study"), DISCS_DT = with_label(EOSSTT == "DISCONTINUED" & DCSREAS == "DEATH", "Death"), DISCS_LFU = with_label(EOSSTT == "DISCONTINUED" & DCSREAS == "LOST TO FOLLOW-UP", "Lost to follow-up"), diff --git a/man/argument_convention.Rd b/man/argument_convention.Rd index ae652ace..6b99e82b 100644 --- a/man/argument_convention.Rd +++ b/man/argument_convention.Rd @@ -41,6 +41,8 @@ that statistic. See \code{\link[formatters:list_formats]{formatters::list_valid_ annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should use the annotation type as name and the desired string as value.} +\item{dcsreas_var}{(\code{character})\cr Name of the reason for discontinuation from study variable.} + \item{df}{(\code{data.frame})\cr dataset required to build table.} \item{eosdy_var}{(\code{character})\cr variable denoting last recorded (relative) study day.} diff --git a/man/make_fig_03.Rd b/man/make_fig_03.Rd index 6d4bb9e2..b5ba5ffc 100644 --- a/man/make_fig_03.Rd +++ b/man/make_fig_03.Rd @@ -12,7 +12,7 @@ make_fig_03( trtsdtm_var = "TRTSDTM", trtedtm_var = "TRTEDTM", u_trtdur = "days", - dctreas_var = "DCTREAS", + dcsreas_var = "DCSREAS", x_lab = paste0("Time from first dose (", u_trtdur, ")"), y_lab = "Cumulative Incidence (\%)\\nAEs Leading to Treatment\\nDiscontinuation", xticks = NA, @@ -37,6 +37,8 @@ make_fig_03( \item{u_trtdur}{(\code{character})\cr unit for duration of treatment. Options are \code{"days"}, \code{"weeks"}, \code{"months"}, and \code{"years"}.} +\item{dcsreas_var}{(\code{character})\cr Name of the reason for discontinuation from study variable.} + \item{x_lab}{(\code{character})\cr x-axis label.} \item{y_lab}{(\code{character})\cr y-axis label.} @@ -61,7 +63,7 @@ FDA Figure 3: Time to Adverse Event Leading to Treatment Discontinuation, Safety \details{ \itemize{ \item \code{df} must contain the variables specified by \code{arm_var}, \code{id_var}, \code{saffl_var}, \code{trtsdtm_var}, \code{trtedtm_var} and -\code{dctreas_var}. +\code{dcsreas_var}. \item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in flag variables are treated as \code{"N"}. \item It is assumed that every record for a unique patient in \code{df} has the same treatment start and end datetime. @@ -77,7 +79,7 @@ x-ticks labels). \examples{ adsl <- random.cdisc.data::cadsl -fig <- make_fig_03(df = adsl, dctreas_var = DCSREAS) +fig <- make_fig_03(df = adsl, dcsreas_var = "DCSREAS") fig } diff --git a/man/make_table_04.Rd b/man/make_table_04.Rd index 98f0e666..54e7530b 100644 --- a/man/make_table_04.Rd +++ b/man/make_table_04.Rd @@ -64,7 +64,7 @@ FDA Table 4: Patient Disposition, Pooled Analyses } \details{ \itemize{ -\item \code{df} must contain \code{EOTSTT}, \code{DCTREAS}, \code{EOSSTT}, \code{DCSREAS} and the variables specified by \code{arm_var}, \code{id_var}, +\item \code{df} must contain \code{EOTSTT}, \code{DCSREAS}, \code{EOSSTT}, \code{DCSREAS} and the variables specified by \code{arm_var}, \code{id_var}, and \code{pop_vars}. \item If specified, \code{alt_counts_df} must contain the variable specified by \code{arm_var}, \code{id_var}, and \code{pop_vars}. \item Flag variables (i.e. \code{XXXFL}) are expected to have two levels: \code{"Y"} (true) and \code{"N"} (false). Missing values in @@ -85,8 +85,7 @@ adsl <- random.cdisc.data::cadsl \%>\% "ADVERSE EVENT", "LACK OF EFFICACY", "PROTOCOL VIOLATION", "DEATH", "WITHDRAWAL BY PARENT/GUARDIAN" ), DCSREAS, "OTHER") - ) \%>\% - mutate(DCTREAS = DCSREAS) + ) tbl <- make_table_04( df = adsl, pop_vars = c("RANDFL", "ITTFL", "SAFFL", "PPROTFL"), diff --git a/quarto/figure-templates/template-fig_03.qmd b/quarto/figure-templates/template-fig_03.qmd index ec67771b..ff645419 100644 --- a/quarto/figure-templates/template-fig_03.qmd +++ b/quarto/figure-templates/template-fig_03.qmd @@ -18,7 +18,7 @@ library(cardinal) adsl <- random.cdisc.data::cadsl # Output Figure -make_fig_03(df = adsl, dctreas_var = "DCSREAS") +make_fig_03(df = adsl, dcsreas_var = "DCSREAS") ``` ## Figure Setup @@ -34,7 +34,7 @@ make_fig_03(df = adsl, dctreas_var = "DCSREAS") Required variables: -- **`df`**: The variables specified by `arm_var`, `id_var`, `saffl_var`, `trtsdtm_var`, `trtedtm_var` and `dctreas_var`. +- **`df`**: The variables specified by `arm_var`, `id_var`, `saffl_var`, `trtsdtm_var`, `trtedtm_var` and `dcsreas_var`. | Argument | Description | Default | |:--------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------| @@ -45,7 +45,7 @@ Required variables: | `trtsdtm_var` | (`character`) Treatment start datetime variable in df. | `"TRTSDTM"` | | `trtedtm_var` | (`character`) Treatment end datetime variable in df. | `"TRTEDTM"` | | `u_trtdur` | (`character`) Unit for duration of treatment. Options are `"days"`, `"weeks"`, `"months"` and `"years"`. | `"days"` | -| `dctreas_var` | (`character`) Reason for treatment discontinuation variable used to split figure into lines. | `"DCTREAS"` | +| `dcsreas_var` | (`character`) Reason for treatment discontinuation variable used to split figure into lines. | `"DCSREAS"` | | `x_lab` | (`character`) x-axis label. | `paste0("Time from first dose (", u_trtdur, ")")` | | `y_lab` | (`character`) y-axis label. | `"Percent of Patients (%)"` | | `xticks` | (`vector` of `numeric`) x-axis tick positions. If `NA` (default), tick mark positions are automatically calculated. | `NA` | diff --git a/quarto/table-templates/template-table_04.qmd b/quarto/table-templates/template-table_04.qmd index 7e1947f0..e19122c8 100644 --- a/quarto/table-templates/template-table_04.qmd +++ b/quarto/table-templates/template-table_04.qmd @@ -25,8 +25,7 @@ adsl <- random.cdisc.data::cadsl %>% "ADVERSE EVENT", "LACK OF EFFICACY", "PROTOCOL VIOLATION", "DEATH", "WITHDRAWAL BY PARENT/GUARDIAN" ), DCSREAS, "OTHER") - ) %>% - mutate(DCTREAS = DCSREAS) + ) # Output Table risk_diff <- list(arm_x = "B: Placebo", arm_y = "A: Drug X") # optional @@ -51,7 +50,7 @@ tbl Required variables: -- **`df`**: `USUBJID`, `EOTSTT`, `DCTREAS`, `EOSSTT`, `DCSREAS` and the variables specified by `arm_var` and `pop_var`. +- **`df`**: `USUBJID`, `EOTSTT`, `DCSREAS`, `EOSSTT`, `DCSREAS` and the variables specified by `arm_var` and `pop_var`. - **`alt_counts_df`** (if specified): `USUBJID`, and the variable specified by `arm_var` and `pop_var`. diff --git a/tests/testthat/test-fda-fig_03.R b/tests/testthat/test-fda-fig_03.R index dc5a8987..77f173fc 100644 --- a/tests/testthat/test-fda-fig_03.R +++ b/tests/testthat/test-fda-fig_03.R @@ -3,7 +3,7 @@ adsl <- adsl_raw test_that("Figure 03 generation works with default values", { fig_03_default <- withr::with_options( opts_partial_match_old, - make_fig_03(adsl, dctreas_var = "DCSREAS") + make_fig_03(adsl, dcsreas_var = "DCSREAS") ) expect_snapshot_ggplot("fig_03_default", fig_03_default, width = 8, height = 5) @@ -12,7 +12,7 @@ test_that("Figure 03 generation works with default values", { test_that("Figure 03 generation works with no table", { fig_03_notbl <- withr::with_options( opts_partial_match_old, - make_fig_03(adsl, dctreas_var = "DCSREAS", add_table = FALSE) + make_fig_03(adsl, dcsreas_var = "DCSREAS", add_table = FALSE) ) expect_snapshot_ggplot("fig_03_notbl", fig_03_notbl, width = 8, height = 3) @@ -23,7 +23,7 @@ test_that("Figure 03 generation works with custom values", { opts_partial_match_old, make_fig_03( adsl, - dctreas_var = "DCSREAS", + dcsreas_var = "DCSREAS", u_trtdur = "years", annotations = list( title = "Figure 3. Time to Adverse Event Leading to Treatment Discontinuation, Safety Population, Trial X" @@ -40,7 +40,7 @@ test_that("Figure 03 generation works with ggtheme argument specified", { opts_partial_match_old, make_fig_03( adsl, - dctreas_var = "DCSREAS", + dcsreas_var = "DCSREAS", ggtheme = theme_dark() ) ) diff --git a/tests/testthat/test-fda-table_04.R b/tests/testthat/test-fda-table_04.R index ac5231ed..57fc4e6a 100644 --- a/tests/testthat/test-fda-table_04.R +++ b/tests/testthat/test-fda-table_04.R @@ -8,8 +8,7 @@ adsl <- adsl_raw %>% "ADVERSE EVENT", "LACK OF EFFICACY", "PROTOCOL VIOLATION", "DEATH", "WITHDRAWAL BY PARENT/GUARDIAN" ), DCSREAS, "OTHER") - ) %>% - mutate(DCTREAS = DCSREAS) + ) test_that("Table 04 generation works with default values", { result <- make_table_04(adsl) From e7c7e23acf52ae9e4badc8379ca3907d1a773c6d Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 20:01:25 -0400 Subject: [PATCH 14/15] Fix R CMD Check note --- R/cardinal.R | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/R/cardinal.R b/R/cardinal.R index 01b8c756..4e58ccf6 100644 --- a/R/cardinal.R +++ b/R/cardinal.R @@ -20,9 +20,9 @@ NULL utils::globalVariables(c( ".", "AEACN", "AESCONG", "AESDISAB", "AESDTH", "AESER", "AESHOSP", "AESIFL", "AESLIFE", "AESMIE", "AGE", "AGESEX", "AVAL", "AVALU", "AVISITN", "DOSAGE", "DOSDUR", "DTHADY", "DTHCAT", "DTHCAUS", "DTHFL", "DCSREAS", - "MAX_DIABP", "MAX_SYSBP", "PARAMCD", "SEX", "TRTDUR", "TRTDUR_MONTHS", "TRTEDT", "ASER", "DCTREAS", - "EOSSTT", "EOTSTT", "ITTFL", "PPROTFL", "RANDFL", "TRTEMFL", "TRTSDT", "USUBJID", "column", "median", "ord_layer_1", - "ord_layer_2", "ord_layer_index", "param", "pct", "row_label1", "row_label2", "sd", "tbl_lbl", "value", - "ENRLDT", "RANDDT", "G110", "G60", "G90", "GE120", "L60", "N", "val", "id_var", "PT_PCT", "arm", "x", "TLSTFU", - "se", "lower_ci", "upper_ci", "SBP90", "DBP60" + "MAX_DIABP", "MAX_SYSBP", "PARAMCD", "SEX", "TRTDUR", "TRTDUR_MONTHS", "TRTEDT", "ASER", "EOSSTT", "EOTSTT", + "ITTFL", "PPROTFL", "RANDFL", "TRTEMFL", "TRTSDT", "USUBJID", "column", "median", "ord_layer_1", "ord_layer_2", + "ord_layer_index", "param", "pct", "row_label1", "row_label2", "sd", "tbl_lbl", "value", "ENRLDT", "RANDDT", + "G110", "G60", "G90", "GE120", "L60", "N", "val", "id_var", "PT_PCT", "arm", "x", "TLSTFU", "se", "lower_ci", + "upper_ci", "SBP90", "DBP60", "STATUS" )) From 87cf4aa5809a12bf9b25365e29ee72531f4fa75b Mon Sep 17 00:00:00 2001 From: Emily de la Rua Date: Thu, 22 Aug 2024 20:05:07 -0400 Subject: [PATCH 15/15] Fix remaining documentation --- R/fda-fig_01.R | 2 +- R/fda-fig_02.R | 2 +- R/fda-fig_03.R | 4 ++-- R/fda-fig_14.R | 2 +- man/argument_convention.Rd | 2 -- man/make_fig_03.Rd | 4 ++-- 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/R/fda-fig_01.R b/R/fda-fig_01.R index 623744cb..701d1212 100644 --- a/R/fda-fig_01.R +++ b/R/fda-fig_01.R @@ -63,7 +63,7 @@ make_fig_01 <- function(df, geom_line() + labs( title = annotations[["title"]], - subtitle = annotations[["subtitle"]], + subtitle = annotations[["subtitles"]], caption = annotations[["caption"]], x = x_lab, y = y_lab diff --git a/R/fda-fig_02.R b/R/fda-fig_02.R index 7486ffe9..7a5e8b17 100644 --- a/R/fda-fig_02.R +++ b/R/fda-fig_02.R @@ -61,7 +61,7 @@ make_fig_02 <- function(df, geom_line() + labs( title = annotations[["title"]], - subtitle = annotations[["subtitle"]], + subtitle = annotations[["subtitles"]], caption = annotations[["caption"]], x = x_lab, y = y_lab diff --git a/R/fda-fig_03.R b/R/fda-fig_03.R index 2ba12a3c..b860a08d 100644 --- a/R/fda-fig_03.R +++ b/R/fda-fig_03.R @@ -16,7 +16,7 @@ #' #' @inheritParams argument_convention #' @param dcsreas_var (`character`)\cr reason for treatment discontinuation variable used to split figure into lines. -#' @param add_table (`flag`)\cr whether "Number of Patients" table should be printed under the plot. +#' @param add_table (`flag`)\cr whether tables should be printed under the plot. #' @param annotations (named `list` of `character`)\cr list of annotations to add to the figure. Valid annotation types #' are `title`, `subtitles`, and `caption`. Each name-value pair should use the annotation type as name and the #' desired string as value. @@ -72,7 +72,7 @@ make_fig_03 <- function(df, g <- survival_plot + labs( title = annotations[["title"]], - subtitle = annotations[["subtitle"]], + subtitle = annotations[["subtitles"]], caption = annotations[["caption"]], x = x_lab, y = y_lab diff --git a/R/fda-fig_14.R b/R/fda-fig_14.R index ad5783f8..ab8f3a59 100644 --- a/R/fda-fig_14.R +++ b/R/fda-fig_14.R @@ -103,7 +103,7 @@ make_fig_14 <- function(df, ) + labs( title = annotations[["title"]], - subtitle = annotations[["subtitle"]], + subtitle = annotations[["subtitles"]], caption = annotations[["caption"]], x = x_lab, y = y_lab diff --git a/man/argument_convention.Rd b/man/argument_convention.Rd index 6b99e82b..ae652ace 100644 --- a/man/argument_convention.Rd +++ b/man/argument_convention.Rd @@ -41,8 +41,6 @@ that statistic. See \code{\link[formatters:list_formats]{formatters::list_valid_ annotation types are \code{title}, \code{subtitles}, \code{main_footer}, and \code{prov_footer}. Each name-value pair should use the annotation type as name and the desired string as value.} -\item{dcsreas_var}{(\code{character})\cr Name of the reason for discontinuation from study variable.} - \item{df}{(\code{data.frame})\cr dataset required to build table.} \item{eosdy_var}{(\code{character})\cr variable denoting last recorded (relative) study day.} diff --git a/man/make_fig_03.Rd b/man/make_fig_03.Rd index b5ba5ffc..2327e6ad 100644 --- a/man/make_fig_03.Rd +++ b/man/make_fig_03.Rd @@ -37,7 +37,7 @@ make_fig_03( \item{u_trtdur}{(\code{character})\cr unit for duration of treatment. Options are \code{"days"}, \code{"weeks"}, \code{"months"}, and \code{"years"}.} -\item{dcsreas_var}{(\code{character})\cr Name of the reason for discontinuation from study variable.} +\item{dcsreas_var}{(\code{character})\cr reason for treatment discontinuation variable used to split figure into lines.} \item{x_lab}{(\code{character})\cr x-axis label.} @@ -48,7 +48,7 @@ automatically calculated.} \item{ggtheme}{(\code{theme})\cr a graphical theme as provided by \code{ggplot2} to control styling of the \code{ggplot} object.} -\item{add_table}{(\code{flag})\cr whether "Number of Patients" table should be printed under the plot.} +\item{add_table}{(\code{flag})\cr whether tables should be printed under the plot.} \item{annotations}{(named \code{list} of \code{character})\cr list of annotations to add to the figure. Valid annotation types are \code{title}, \code{subtitles}, and \code{caption}. Each name-value pair should use the annotation type as name and the