From e3d0593c3a80256665615d9df984486989289931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Mon, 1 Jun 2026 14:48:50 +0200 Subject: [PATCH 01/13] Conditionally use helper package --- R/add_forest.R | 28 +++++++++++++++------------- man/add_forest.Rd | 28 +++++++++++++++------------- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/R/add_forest.R b/R/add_forest.R index 725b2d3b..67fe6939 100644 --- a/R/add_forest.R +++ b/R/add_forest.R @@ -52,19 +52,21 @@ #' add_forest(table_engine = "gt") #' #' # Realistic example --------------------------------------------------------- -#' trial |> -#' tbl_roche_subgroups( -#' rsp = "response", -#' by = "trt", -#' subgroups = c("grade"), -#' ~ glm(response ~ trt, data = .x) |> -#' gtsummary::tbl_regression( -#' show_single_row = trt, -#' exponentiate = TRUE # , tidy_fun = broom.helpers::tidy_parameters -#' ) -#' ) |> -#' add_forest(pvalue = starts_with("p.value"), table_engine = "flextable") |> -#' flextable::set_header_labels(ggplot = "---------") +#' if (requireNamespace("broom.helpers", quietly = TRUE)) { +#' trial |> +#' tbl_roche_subgroups( +#' rsp = "response", +#' by = "trt", +#' subgroups = c("grade"), +#' ~ glm(response ~ trt, data = .x) |> +#' gtsummary::tbl_regression( +#' show_single_row = trt, +#' exponentiate = TRUE # , tidy_fun = broom.helpers::tidy_parameters +#' ) +#' ) |> +#' add_forest(pvalue = starts_with("p.value"), table_engine = "flextable") |> +#' flextable::set_header_labels(ggplot = "---------") +#' } #' @export add_forest <- function(x, estimate = starts_with("estimate"), diff --git a/man/add_forest.Rd b/man/add_forest.Rd index c7c4dc23..ceb17cec 100644 --- a/man/add_forest.Rd +++ b/man/add_forest.Rd @@ -77,17 +77,19 @@ trial |> add_forest(table_engine = "gt") # Realistic example --------------------------------------------------------- -trial |> - tbl_roche_subgroups( - rsp = "response", - by = "trt", - subgroups = c("grade"), - ~ glm(response ~ trt, data = .x) |> - gtsummary::tbl_regression( - show_single_row = trt, - exponentiate = TRUE # , tidy_fun = broom.helpers::tidy_parameters - ) - ) |> - add_forest(pvalue = starts_with("p.value"), table_engine = "flextable") |> - flextable::set_header_labels(ggplot = "---------") +if (requireNamespace("broom.helpers", quietly = TRUE)) { + trial |> + tbl_roche_subgroups( + rsp = "response", + by = "trt", + subgroups = c("grade"), + ~ glm(response ~ trt, data = .x) |> + gtsummary::tbl_regression( + show_single_row = trt, + exponentiate = TRUE # , tidy_fun = broom.helpers::tidy_parameters + ) + ) |> + add_forest(pvalue = starts_with("p.value"), table_engine = "flextable") |> + flextable::set_header_labels(ggplot = "---------") +} } From 41a2b3069602fea7779c2e542e09f5c68111ee2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Mon, 1 Jun 2026 14:50:20 +0200 Subject: [PATCH 02/13] Remove Remotes --- DESCRIPTION | 4 ---- 1 file changed, 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f2c175d6..f0728a61 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -62,10 +62,6 @@ Suggests: tidyselect, withr (>= 3.0.1), yaml -Remotes: - ddsjoberg/gtsummary@main, - insightsengineering/cards@main, - insightsengineering/cardx@main Config/Needs/check: hms Config/Needs/website: rmarkdown, yaml Config/testthat/edition: 3 From a966f811b5b56a56cb37f28dcce1476f24673d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Mon, 1 Jun 2026 14:51:49 +0200 Subject: [PATCH 03/13] Update version number --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f0728a61..a02c6c8d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: crane Title: Supplements the 'gtsummary' Package for Pharmaceutical Reporting -Version: 0.3.1.9044 +Version: 0.3.2 Authors@R: c( person("Daniel D.", "Sjoberg", , "danield.sjoberg@gmail.com", role = "aut", comment = c(ORCID = "0000-0003-0862-2018", note = "Original creator of the package")), diff --git a/NEWS.md b/NEWS.md index 3e1d775a..bb797c91 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# crane 0.3.1.9044 +# crane 0.3.2 ## New Functions and Functionality From 7c575b7e6e6a6a5d771e0c06dbd826ef06190717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Mon, 1 Jun 2026 15:26:54 +0200 Subject: [PATCH 04/13] Add version on cache to update packages versions available --- .github/workflows/check.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index eabd5fd7..80383a4f 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -37,6 +37,7 @@ jobs: checking Rd .usage sections .* NOTE checking for unstated dependencies in vignettes .* NOTE checking top-level files .* NOTE + cache-version: v2 r-cmd-non-cran: name: R CMD Check (non-CRAN) 🧬 uses: insightsengineering/r.pkg.template/.github/workflows/build-check-install.yaml@main @@ -57,6 +58,7 @@ jobs: checking Rd .usage sections .* NOTE checking for unstated dependencies in vignettes .* NOTE checking top-level files .* NOTE + cache-version: v2 coverage: name: Coverage 📔 uses: insightsengineering/r.pkg.template/.github/workflows/test-coverage.yaml@main From beff37599c203130d165fe5e392d7f377c0dd41b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Mon, 1 Jun 2026 15:52:00 +0200 Subject: [PATCH 05/13] Use a different strategy to install dependencies --- .github/workflows/check.yaml | 2 ++ .github/workflows/release.yaml | 1 + 2 files changed, 3 insertions(+) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 80383a4f..bbfd7656 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -37,6 +37,7 @@ jobs: checking Rd .usage sections .* NOTE checking for unstated dependencies in vignettes .* NOTE checking top-level files .* NOTE + deps-installation-method: setup-r-dependencies cache-version: v2 r-cmd-non-cran: name: R CMD Check (non-CRAN) 🧬 @@ -58,6 +59,7 @@ jobs: checking Rd .usage sections .* NOTE checking for unstated dependencies in vignettes .* NOTE checking top-level files .* NOTE + deps-installation-method: setup-r-dependencies cache-version: v2 coverage: name: Coverage 📔 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b30f402b..e4d3d333 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -44,6 +44,7 @@ jobs: checking examples .* NOTE checking Rd line widths .* NOTE checking top-level files .* NOTE + deps-installation-method: setup-r-dependencies skip-r-cmd-install: true coverage: name: Coverage 📔 From eac316929becd43c6ad493c4435a14c12bfda671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Mon, 1 Jun 2026 16:35:40 +0200 Subject: [PATCH 06/13] Set the released version as a limit --- R/deprecated.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R/deprecated.R b/R/deprecated.R index 59780335..e83110f0 100644 --- a/R/deprecated.R +++ b/R/deprecated.R @@ -25,7 +25,7 @@ tbl_demographics <- function(..., nonmissing = "always") { #' @export g_lineplot <- function(...) { lifecycle::deprecate_soft( - "0.3.1.9017", + "0.3.2", "crane::g_lineplot()", "crane::gg_lineplot" ) @@ -35,7 +35,7 @@ g_lineplot <- function(...) { #' @export g_lineplot_table <- function(...) { lifecycle::deprecate_soft( - "0.3.1.9017", + "0.3.2", "crane::g_lineplot_table()", "crane::annotate_gg()" ) @@ -45,7 +45,7 @@ g_lineplot_table <- function(...) { #' @export preprocess_lineplot_data <- function(...) { lifecycle::deprecate_soft( - "0.3.1.9017", + "0.3.2", "crane::preprocess_lineplot_data()", "crane::annotate_gg()" ) From 172716d35f3776974fda6f5aa80414847003009c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Tue, 2 Jun 2026 11:40:02 +0200 Subject: [PATCH 07/13] Add values and examples to the help pages --- R/adjust_stat_columns_wrap.R | 8 +++++++- R/annotate_gg_pkc.R | 2 +- R/deprecated.R | 3 +++ R/gg_km_utils.R | 4 ++++ R/tbl_coxph.R | 9 +++++++++ R/tbl_listing.R | 2 +- R/tbl_null_report.R | 2 +- man/adjust_stat_columns_wrap.Rd | 8 ++++++++ man/annotate_pkc_df.Rd | 3 +++ man/deprecated.Rd | 6 ++++++ man/dot-format_pvalue.Rd | 3 +++ man/dot-get_single_comp_table.Rd | 8 ++++++++ man/h_tbl_median_surv.Rd | 3 +++ man/h_xticks.Rd | 3 +++ man/tbl_listing.Rd | 3 +++ man/tbl_null_report.Rd | 3 +++ 16 files changed, 66 insertions(+), 4 deletions(-) diff --git a/R/adjust_stat_columns_wrap.R b/R/adjust_stat_columns_wrap.R index db6b7c25..81712fe0 100644 --- a/R/adjust_stat_columns_wrap.R +++ b/R/adjust_stat_columns_wrap.R @@ -16,8 +16,14 @@ #' Defaults to `"protect"`. #' #' @return A modified `gtsummary` object. -#' #' @export +#' @examples +#' tbl <- gtsummary::tbl_summary( +#' trial, +#' by = trt, +#' include = c(age, grade) +#' ) +#' adjust_stat_columns_wrap(tbl, "protect") adjust_stat_columns_wrap <- function(tbl, mode = c("protect", "unprotect")) { # Robustly match the argument (defaults to "protect" if not provided) mode <- rlang::arg_match(mode) diff --git a/R/annotate_gg_pkc.R b/R/annotate_gg_pkc.R index 58fd4104..4d319b8a 100644 --- a/R/annotate_gg_pkc.R +++ b/R/annotate_gg_pkc.R @@ -23,7 +23,7 @@ #' The font size for the table text. Defaults to `3.5`. #' @param rel_height_plot (`numeric`)\cr #' Relative height of the plot vs the table. Defaults to `0.75`. -#' +#' @returns A ggplot2 object: a plot with a table at the bottom. #' @seealso [gg_pkc_lineplot()] for related functionalities. #' @examples #' # Prepare PK Data using the built-in Theoph dataset diff --git a/R/deprecated.R b/R/deprecated.R index e83110f0..3e73db42 100644 --- a/R/deprecated.R +++ b/R/deprecated.R @@ -5,6 +5,9 @@ #' supported. #' #' @name deprecated +#' @returns Warnings +#' @examples +#' NULL #' @keywords internal NULL diff --git a/R/gg_km_utils.R b/R/gg_km_utils.R index 07674418..087ab4ce 100644 --- a/R/gg_km_utils.R +++ b/R/gg_km_utils.R @@ -10,6 +10,8 @@ #' @return A numeric vector of x-axis tick positions. #' #' @keywords internal +#' @examples +#' NULL h_xticks <- function(data, xticks = NULL, max_time = NULL) { if (is.null(xticks)) { if (is.null(max_time)) { @@ -46,6 +48,8 @@ h_xticks <- function(data, xticks = NULL, max_time = NULL) { #' @return A data frame with columns "N", "Median", and the confidence interval label. #' #' @keywords internal +#' @examples +#' NULL h_tbl_median_surv <- function(fit_km, strata_levels = "All") { y <- if (is.null(fit_km$strata)) { as.data.frame(t(summary(fit_km)$table), row.names = strata_levels) diff --git a/R/tbl_coxph.R b/R/tbl_coxph.R index 72a22dc1..752b56b2 100644 --- a/R/tbl_coxph.R +++ b/R/tbl_coxph.R @@ -143,6 +143,13 @@ tbl_coxph <- function(pairwise_df) { #' @return A `gtsummary` object containing the stacked summary statistics. #' #' @keywords internal +#' @examples +#' tbl <- tibble::tibble(comparison_label = "A-B", +#' hr_formatted = "5.21", +#' ci_formatted = "0.25-0.35", +#' pval_formatted = 0.005 +#' ) +#' .get_single_comp_table(tbl, pval_label = "p-val") .get_single_comp_table <- function(data_subset, pval_label = NULL) { # Check which pre-formatted columns made it into the subset has_pval <- "pval_formatted" %in% names(data_subset) @@ -214,6 +221,8 @@ tbl_coxph <- function(pairwise_df) { #' #' @returns A character vector of formatted p-values. #' @keywords internal +#' @examples +#' .format_pvalue(0.000156) .format_pvalue <- function(x) { if (is.character(x)) { return(x) diff --git a/R/tbl_listing.R b/R/tbl_listing.R index dc9ba3ee..2bbad49b 100644 --- a/R/tbl_listing.R +++ b/R/tbl_listing.R @@ -34,7 +34,7 @@ #' parameters used in [gtsummary::tbl_split_by_rows()]. See example 4. #' * Split by columns - you can split the data frame by columns by using `split_by_columns` parameter. Use the same #' parameters from [gtsummary::tbl_split_by_rows()]. See example 5. -#' +#' @returns A table listing of class "tbl_listing". #' @examplesIf crane:::is_pkg_installed("labelled") #' # Load the trial dataset #' trial_data <- trial |> diff --git a/R/tbl_null_report.R b/R/tbl_null_report.R index a86c0ba3..f499d4bb 100644 --- a/R/tbl_null_report.R +++ b/R/tbl_null_report.R @@ -4,7 +4,7 @@ #' #' @param label (`string`)\cr label to display in the header of the null report. It defaults to #' "No observations met the reporting criteria for this output." -#' +#' @returns A gtsummary object of class tbl_null_report. #' @examples #' tbl_null_report(label = "No data available for the selected criteria.") #' diff --git a/man/adjust_stat_columns_wrap.Rd b/man/adjust_stat_columns_wrap.Rd index 0e485e8b..ceb3101c 100644 --- a/man/adjust_stat_columns_wrap.Rd +++ b/man/adjust_stat_columns_wrap.Rd @@ -26,3 +26,11 @@ on a single line when protected. Column headers and labels remain unaffected. For the rare cases when protecting creates ugly squashed label column protection can be reversed using the same function. } +\examples{ +tbl <- gtsummary::tbl_summary( + trial, + by = trt, + include = c(age, grade) +) +adjust_stat_columns_wrap(tbl, "protect") +} diff --git a/man/annotate_pkc_df.Rd b/man/annotate_pkc_df.Rd index 17e5a828..5cbfd46d 100644 --- a/man/annotate_pkc_df.Rd +++ b/man/annotate_pkc_df.Rd @@ -42,6 +42,9 @@ The font size for the table text. Defaults to \code{3.5}.} \item{rel_height_plot}{(\code{numeric})\cr Relative height of the plot vs the table. Defaults to \code{0.75}.} } +\value{ +A ggplot2 object: a plot with a table at the bottom. +} \description{ These functions provide capabilities to annotate Pharmacokinetics plot (\code{\link[=gg_pkc_lineplot]{gg_pkc_lineplot()}}) with additional summary statistics table. diff --git a/man/deprecated.Rd b/man/deprecated.Rd index e6c60500..5a1d0f66 100644 --- a/man/deprecated.Rd +++ b/man/deprecated.Rd @@ -16,9 +16,15 @@ g_lineplot_table(...) preprocess_lineplot_data(...) } +\value{ +Warnings +} \description{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}}\cr Some functions have been deprecated and are no longer being actively supported. } +\examples{ +NULL +} \keyword{internal} diff --git a/man/dot-format_pvalue.Rd b/man/dot-format_pvalue.Rd index 1a2bda3a..e4939301 100644 --- a/man/dot-format_pvalue.Rd +++ b/man/dot-format_pvalue.Rd @@ -18,4 +18,7 @@ to four decimal places. Character input is returned as-is, allowing users to pre-format the p-value column in \code{pairwise_df} before calling \code{\link[=tbl_coxph]{tbl_coxph()}}. } +\examples{ +.format_pvalue(0.000156) +} \keyword{internal} diff --git a/man/dot-get_single_comp_table.Rd b/man/dot-get_single_comp_table.Rd index e7a80f43..8bf91958 100644 --- a/man/dot-get_single_comp_table.Rd +++ b/man/dot-get_single_comp_table.Rd @@ -22,4 +22,12 @@ Internal helper function to build a formatted \code{gtsummary} table for a singl comparison arm. It conditionally extracts available statistics from the subsetted data and stacks them into rows for the final display. } +\examples{ +tbl <- tibble::tibble(comparison_label = "A-B", + hr_formatted = "5.21", + ci_formatted = "0.25-0.35", + pval_formatted = 0.005 +) +.get_single_comp_table(tbl, pval_label = "p-val") +} \keyword{internal} diff --git a/man/h_tbl_median_surv.Rd b/man/h_tbl_median_surv.Rd index 17812e95..cf227ca2 100644 --- a/man/h_tbl_median_surv.Rd +++ b/man/h_tbl_median_surv.Rd @@ -20,4 +20,7 @@ A data frame with columns "N", "Median", and the confidence interval label. Extracts and formats the median survival time and its confidence interval from a fitted Kaplan-Meier object. } +\examples{ +NULL +} \keyword{internal} diff --git a/man/h_xticks.Rd b/man/h_xticks.Rd index e61f4a50..a0807856 100644 --- a/man/h_xticks.Rd +++ b/man/h_xticks.Rd @@ -20,4 +20,7 @@ A numeric vector of x-axis tick positions. \description{ Determines the positions for x-axis ticks based on the data and user input. } +\examples{ +NULL +} \keyword{internal} diff --git a/man/tbl_listing.Rd b/man/tbl_listing.Rd index 90e2207d..8ab2b6d3 100644 --- a/man/tbl_listing.Rd +++ b/man/tbl_listing.Rd @@ -37,6 +37,9 @@ columns to highlight for duplicate values. If \code{NULL}, nothing is done.} \item{value}{(\code{string})\cr string to use for blank values. Defaults to \code{NA}. It should not be changed.} } +\value{ +A table listing of class "tbl_listing". +} \description{ This function creates a listing from a data frame. Common uses rely on few pre-processing steps, such as ensuring unique values in key columns or split diff --git a/man/tbl_null_report.Rd b/man/tbl_null_report.Rd index 9efe8f94..d820609a 100644 --- a/man/tbl_null_report.Rd +++ b/man/tbl_null_report.Rd @@ -12,6 +12,9 @@ tbl_null_report( \item{label}{(\code{string})\cr label to display in the header of the null report. It defaults to "No observations met the reporting criteria for this output."} } +\value{ +A gtsummary object of class tbl_null_report. +} \description{ This function creates a null report for tables or listings without any statistics. } From 035b08c5441e85b1fbfd4e75f4fab3e2aa09321d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Tue, 2 Jun 2026 11:53:22 +0200 Subject: [PATCH 08/13] Update readme --- README.md | 2 +- man/figures/README-tbl_print_simple-1.png | Bin 41400 -> 31372 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7159e0bf..20d7909b 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ tbl <- trial |> tbl_roche_summary(by = trt, include = c(age, grade), nonmissing = "always") ``` - + The package also exports functions for Roche adverse event reporting, functions for shift tables, and others. diff --git a/man/figures/README-tbl_print_simple-1.png b/man/figures/README-tbl_print_simple-1.png index d3d5301d101910e3a98cd050269451a3255a6f61..565c51f6da3293b8df71d21bb277e124275f80c0 100644 GIT binary patch literal 31372 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 r&#+RGG&tdz$_^MrfyC Date: Tue, 2 Jun 2026 14:31:07 +0200 Subject: [PATCH 09/13] Fix examples so they work with internal functions --- R/tbl_coxph.R | 4 ++-- man/dot-format_pvalue.Rd | 2 +- man/dot-get_single_comp_table.Rd | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/R/tbl_coxph.R b/R/tbl_coxph.R index 752b56b2..675cae74 100644 --- a/R/tbl_coxph.R +++ b/R/tbl_coxph.R @@ -149,7 +149,7 @@ tbl_coxph <- function(pairwise_df) { #' ci_formatted = "0.25-0.35", #' pval_formatted = 0.005 #' ) -#' .get_single_comp_table(tbl, pval_label = "p-val") +#' crane:::.get_single_comp_table(tbl, pval_label = "p-val") .get_single_comp_table <- function(data_subset, pval_label = NULL) { # Check which pre-formatted columns made it into the subset has_pval <- "pval_formatted" %in% names(data_subset) @@ -222,7 +222,7 @@ tbl_coxph <- function(pairwise_df) { #' @returns A character vector of formatted p-values. #' @keywords internal #' @examples -#' .format_pvalue(0.000156) +#' crane:::.format_pvalue(0.000156) .format_pvalue <- function(x) { if (is.character(x)) { return(x) diff --git a/man/dot-format_pvalue.Rd b/man/dot-format_pvalue.Rd index e4939301..9d32fd85 100644 --- a/man/dot-format_pvalue.Rd +++ b/man/dot-format_pvalue.Rd @@ -19,6 +19,6 @@ to pre-format the p-value column in \code{pairwise_df} before calling \code{\link[=tbl_coxph]{tbl_coxph()}}. } \examples{ -.format_pvalue(0.000156) +crane:::.format_pvalue(0.000156) } \keyword{internal} diff --git a/man/dot-get_single_comp_table.Rd b/man/dot-get_single_comp_table.Rd index 8bf91958..bdb3238a 100644 --- a/man/dot-get_single_comp_table.Rd +++ b/man/dot-get_single_comp_table.Rd @@ -28,6 +28,6 @@ tbl <- tibble::tibble(comparison_label = "A-B", ci_formatted = "0.25-0.35", pval_formatted = 0.005 ) -.get_single_comp_table(tbl, pval_label = "p-val") +crane:::.get_single_comp_table(tbl, pval_label = "p-val") } \keyword{internal} From b15d202bd777a47c47d5f9e98dd49eb0c66cee36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Tue, 2 Jun 2026 14:34:53 +0200 Subject: [PATCH 10/13] Update versions of packages --- DESCRIPTION | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a02c6c8d..f23abaf8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -28,12 +28,12 @@ URL: https://github.com/insightsengineering/crane, https://insightsengineering.github.io/crane/ BugReports: https://github.com/insightsengineering/crane/issues Depends: - gtsummary (>= 2.5.0), + gtsummary (>= 2.5.1), R (>= 4.2) Imports: broom (>= 1.0.8), - cards (>= 0.7.0), - cardx (>= 0.3.0), + cards (>= 0.8.0), + cardx (>= 0.3.3), cli (>= 3.6.4), cowplot (>= 1.2.0), dplyr (>= 1.2.0), From fdd8fa54060410c2bcc8833b28c34a96c45cbddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Tue, 2 Jun 2026 14:35:29 +0200 Subject: [PATCH 11/13] Remove changes on pipeline --- .github/workflows/check.yaml | 4 ---- .github/workflows/release.yaml | 1 - 2 files changed, 5 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index bbfd7656..eabd5fd7 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -37,8 +37,6 @@ jobs: checking Rd .usage sections .* NOTE checking for unstated dependencies in vignettes .* NOTE checking top-level files .* NOTE - deps-installation-method: setup-r-dependencies - cache-version: v2 r-cmd-non-cran: name: R CMD Check (non-CRAN) 🧬 uses: insightsengineering/r.pkg.template/.github/workflows/build-check-install.yaml@main @@ -59,8 +57,6 @@ jobs: checking Rd .usage sections .* NOTE checking for unstated dependencies in vignettes .* NOTE checking top-level files .* NOTE - deps-installation-method: setup-r-dependencies - cache-version: v2 coverage: name: Coverage 📔 uses: insightsengineering/r.pkg.template/.github/workflows/test-coverage.yaml@main diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index e4d3d333..b30f402b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -44,7 +44,6 @@ jobs: checking examples .* NOTE checking Rd line widths .* NOTE checking top-level files .* NOTE - deps-installation-method: setup-r-dependencies skip-r-cmd-install: true coverage: name: Coverage 📔 From 3a4701a2648ca8bcae142ef24be95e53b2e4021e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Tue, 2 Jun 2026 14:50:16 +0200 Subject: [PATCH 12/13] Style and reduce time of examples --- R/add_forest.R | 2 ++ R/tbl_coxph.R | 9 +++++---- R/tbl_rmpt.R | 2 ++ R/tbl_roche_subgroups.R | 3 ++- man/add_forest.Rd | 2 ++ man/dot-get_single_comp_table.Rd | 9 +++++---- man/tbl_rmpt.Rd | 2 ++ man/tbl_roche_subgroups.Rd | 2 ++ 8 files changed, 22 insertions(+), 9 deletions(-) diff --git a/R/add_forest.R b/R/add_forest.R index 67fe6939..f5242412 100644 --- a/R/add_forest.R +++ b/R/add_forest.R @@ -52,6 +52,7 @@ #' add_forest(table_engine = "gt") #' #' # Realistic example --------------------------------------------------------- +#' \donttest{ #' if (requireNamespace("broom.helpers", quietly = TRUE)) { #' trial |> #' tbl_roche_subgroups( @@ -67,6 +68,7 @@ #' add_forest(pvalue = starts_with("p.value"), table_engine = "flextable") |> #' flextable::set_header_labels(ggplot = "---------") #' } +#' } #' @export add_forest <- function(x, estimate = starts_with("estimate"), diff --git a/R/tbl_coxph.R b/R/tbl_coxph.R index 675cae74..222e3c6c 100644 --- a/R/tbl_coxph.R +++ b/R/tbl_coxph.R @@ -144,10 +144,11 @@ tbl_coxph <- function(pairwise_df) { #' #' @keywords internal #' @examples -#' tbl <- tibble::tibble(comparison_label = "A-B", -#' hr_formatted = "5.21", -#' ci_formatted = "0.25-0.35", -#' pval_formatted = 0.005 +#' tbl <- tibble::tibble( +#' comparison_label = "A-B", +#' hr_formatted = "5.21", +#' ci_formatted = "0.25-0.35", +#' pval_formatted = 0.005 #' ) #' crane:::.get_single_comp_table(tbl, pval_label = "p-val") .get_single_comp_table <- function(data_subset, pval_label = NULL) { diff --git a/R/tbl_rmpt.R b/R/tbl_rmpt.R index 708f2944..5e3b08c7 100644 --- a/R/tbl_rmpt.R +++ b/R/tbl_rmpt.R @@ -84,6 +84,7 @@ #' #' # Example 2 -------------------------------- #' # Add overall column at the end +#' \donttest{ #' tbl_rmpt( #' data = df_adex, #' variable = AVAL_CAT, @@ -103,6 +104,7 @@ #' denominator = df_adsl, #' label = "Treatment Exposure Duration" #' ) +#' } #' NULL #' @rdname tbl_rmpt diff --git a/R/tbl_roche_subgroups.R b/R/tbl_roche_subgroups.R index ca8a9d68..e4b84ef0 100644 --- a/R/tbl_roche_subgroups.R +++ b/R/tbl_roche_subgroups.R @@ -49,6 +49,7 @@ #' # coxph regression ---------------------------------------------------------- #' # please use browser() inside .tbl_fun to check if the coxph model throws an error #' # and use tryCatch to modify the input/output accordingly +#' \donttest{ #' df_adtte |> #' tbl_roche_subgroups( #' rsp = status, @@ -66,7 +67,7 @@ #' ) #' ) |> #' modify_header(starts_with("estimate") ~ "**Hazard Ratio**") -#' +#' } #' @export tbl_roche_subgroups <- function(data, rsp, by, subgroups, .tbl_fun, time_to_event = NULL) { set_cli_abort_call() diff --git a/man/add_forest.Rd b/man/add_forest.Rd index ceb17cec..d8c1e1cd 100644 --- a/man/add_forest.Rd +++ b/man/add_forest.Rd @@ -77,6 +77,7 @@ trial |> add_forest(table_engine = "gt") # Realistic example --------------------------------------------------------- +\donttest{ if (requireNamespace("broom.helpers", quietly = TRUE)) { trial |> tbl_roche_subgroups( @@ -93,3 +94,4 @@ if (requireNamespace("broom.helpers", quietly = TRUE)) { flextable::set_header_labels(ggplot = "---------") } } +} diff --git a/man/dot-get_single_comp_table.Rd b/man/dot-get_single_comp_table.Rd index bdb3238a..86c62c41 100644 --- a/man/dot-get_single_comp_table.Rd +++ b/man/dot-get_single_comp_table.Rd @@ -23,10 +23,11 @@ comparison arm. It conditionally extracts available statistics from the subsetted data and stacks them into rows for the final display. } \examples{ -tbl <- tibble::tibble(comparison_label = "A-B", - hr_formatted = "5.21", - ci_formatted = "0.25-0.35", - pval_formatted = 0.005 +tbl <- tibble::tibble( + comparison_label = "A-B", + hr_formatted = "5.21", + ci_formatted = "0.25-0.35", + pval_formatted = 0.005 ) crane:::.get_single_comp_table(tbl, pval_label = "p-val") } diff --git a/man/tbl_rmpt.Rd b/man/tbl_rmpt.Rd index 08411dda..a5ad0995 100644 --- a/man/tbl_rmpt.Rd +++ b/man/tbl_rmpt.Rd @@ -120,6 +120,7 @@ tbl_rmpt( # Example 2 -------------------------------- # Add overall column at the end +\donttest{ tbl_rmpt( data = df_adex, variable = AVAL_CAT, @@ -139,5 +140,6 @@ tbl_rmpt( denominator = df_adsl, label = "Treatment Exposure Duration" ) +} } diff --git a/man/tbl_roche_subgroups.Rd b/man/tbl_roche_subgroups.Rd index 7ef0744f..3efb1b37 100644 --- a/man/tbl_roche_subgroups.Rd +++ b/man/tbl_roche_subgroups.Rd @@ -67,6 +67,7 @@ df_adtte |> # coxph regression ---------------------------------------------------------- # please use browser() inside .tbl_fun to check if the coxph model throws an error # and use tryCatch to modify the input/output accordingly +\donttest{ df_adtte |> tbl_roche_subgroups( rsp = status, @@ -84,5 +85,6 @@ df_adtte |> ) ) |> modify_header(starts_with("estimate") ~ "**Hazard Ratio**") +} \dontshow{\}) # examplesIf} } From a3322ad86888110f1fb7e3fc03ca48d16b66dad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Wed, 3 Jun 2026 09:56:26 +0200 Subject: [PATCH 13/13] Avoid running the example on CRAN --- R/tbl_roche_subgroups.R | 2 +- man/tbl_roche_subgroups.Rd | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/R/tbl_roche_subgroups.R b/R/tbl_roche_subgroups.R index e4b84ef0..d8506582 100644 --- a/R/tbl_roche_subgroups.R +++ b/R/tbl_roche_subgroups.R @@ -17,7 +17,7 @@ #' #' @returns a 'gtsummary' table #' -#' @examples +#' @examplesIf identical(Sys.getenv("NOT_CRAN"), "true") #' set.seed(1) #' #' # prepare sample data diff --git a/man/tbl_roche_subgroups.Rd b/man/tbl_roche_subgroups.Rd index 3efb1b37..7a81c361 100644 --- a/man/tbl_roche_subgroups.Rd +++ b/man/tbl_roche_subgroups.Rd @@ -36,6 +36,7 @@ a 'gtsummary' table Function adapted from \code{gtforester::tbl_subgroups()}. } \examples{ +\dontshow{if (identical(Sys.getenv("NOT_CRAN"), "true")) withAutoprint(\{ # examplesIf} set.seed(1) # prepare sample data @@ -62,7 +63,7 @@ df_adtte |> ) ) |> modify_header(starts_with("estimate") ~ "**Odds Ratio**") - +\dontshow{\}) # examplesIf} \dontshow{if (rlang::is_installed("survival")) withAutoprint(\{ # examplesIf} # coxph regression ---------------------------------------------------------- # please use browser() inside .tbl_fun to check if the coxph model throws an error