feat: added add difference option to overview
Some checks are pending
pkgdown.yaml / pkgdown (push) Waiting to run

This commit is contained in:
Andreas Gammelgaard Damsbo 2025-12-11 22:48:30 +01:00
parent 208590e91f
commit 2a580965e3
No known key found for this signature in database
22 changed files with 159 additions and 36 deletions

View file

@ -8,7 +8,7 @@ message: 'To cite package "FreesearchR" in publications use:'
type: software type: software
license: AGPL-3.0-or-later license: AGPL-3.0-or-later
title: 'FreesearchR: Easy data analysis for clinicians' title: 'FreesearchR: Easy data analysis for clinicians'
version: 25.12.3 version: 25.12.5
doi: 10.5281/zenodo.14527429 doi: 10.5281/zenodo.14527429
identifiers: identifiers:
- type: url - type: url
@ -1128,6 +1128,18 @@ references:
email: garnier@njit.edu email: garnier@njit.edu
year: '2025' year: '2025'
doi: 10.32614/CRAN.package.viridis doi: 10.32614/CRAN.package.viridis
- type: software
title: smd
abstract: 'smd: Compute Standardized Mean Differences'
notes: Imports
url: https://bsaul.github.io/smd/
repository: https://CRAN.R-project.org/package=smd
authors:
- family-names: Saul
given-names: Bradley
email: bradleysaul@fastmail.com
year: '2025'
doi: 10.32614/CRAN.package.smd
- type: software - type: software
title: styler title: styler
abstract: 'styler: Non-Invasive Pretty Printing of R Code' abstract: 'styler: Non-Invasive Pretty Printing of R Code'

View file

@ -1,6 +1,6 @@
Package: FreesearchR Package: FreesearchR
Title: Easy data analysis for clinicians Title: Easy data analysis for clinicians
Version: 25.12.4 Version: 25.12.5
Authors@R: c( Authors@R: c(
person("Andreas Gammelgaard", "Damsbo",email="agdamsbo@clin.au.dk", role = c("aut", "cre"), person("Andreas Gammelgaard", "Damsbo",email="agdamsbo@clin.au.dk", role = c("aut", "cre"),
comment = c(ORCID = "0000-0002-7559-1154")), comment = c(ORCID = "0000-0002-7559-1154")),
@ -70,7 +70,8 @@ Imports:
shiny.i18n, shiny.i18n,
stRoke, stRoke,
data.table, data.table,
viridis viridis,
smd
Suggests: Suggests:
styler, styler,
devtools, devtools,

View file

@ -1,3 +1,7 @@
# FreesearchR 25.12.5
*NEW* Added option to add pairwise differences in discriptive table.
# FreesearchR 25.12.4 # FreesearchR 25.12.4
Republish 25.12.3 Republish 25.12.3

View file

@ -1 +1 @@
app_version <- function()'25.12.3' app_version <- function()'25.12.5'

View file

@ -37,7 +37,7 @@ baseline_table <- function(data, fun.args = NULL, fun = gtsummary::tbl_summary,
#' mtcars |> create_baseline(by.var = "gear", detail_level = "extended",type = list(gtsummary::all_dichotomous() ~ "categorical"),theme="nejm") #' mtcars |> create_baseline(by.var = "gear", detail_level = "extended",type = list(gtsummary::all_dichotomous() ~ "categorical"),theme="nejm")
#' #'
#' create_baseline(default_parsing(mtcars), by.var = "am", add.p = FALSE, add.overall = FALSE, theme = "lancet") #' create_baseline(default_parsing(mtcars), by.var = "am", add.p = FALSE, add.overall = FALSE, theme = "lancet")
create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALSE, theme = c("jama", "lancet", "nejm", "qjecon"), detail_level = c("minimal", "extended")) { create_baseline <- function(data, ..., by.var, add.p = FALSE, add.diff=FALSE, add.overall = FALSE, theme = c("jama", "lancet", "nejm", "qjecon"), detail_level = c("minimal", "extended")) {
theme <- match.arg(theme) theme <- match.arg(theme)
detail_level <- match.arg(detail_level) detail_level <- match.arg(detail_level)
@ -100,6 +100,10 @@ create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALS
gtsummary::add_p() |> gtsummary::add_p() |>
gtsummary::bold_p() gtsummary::bold_p()
} }
if (isTRUE(add.diff)) {
out <- out |>
gtsummary::add_difference()
}
} }
out out

View file

@ -1 +1 @@
hosted_version <- function()'v25.12.3-251211' hosted_version <- function()'v25.12.5-251211'

Binary file not shown.

View file

@ -400,10 +400,20 @@ ui_elements <- function(selection) {
"Yes" = "yes" "Yes" = "yes"
) )
), ),
shiny::helpText(i18n$t("Option to perform statistical comparisons between strata in baseline table.")) # shiny::helpText(i18n$t("Option to perform statistical comparisons between strata in baseline table.")),
shiny::br(),
shiny::radioButtons(
inputId = "add_diff",
label = i18n$t("Include group differences"),
selected = "no",
inline = TRUE,
choices = list(
"No" = "no",
"Yes" = "yes"
)
)
), ),
shiny::br(), shiny::br(),
shiny::br(),
shiny::actionButton( shiny::actionButton(
inputId = "act_eval", inputId = "act_eval",
label = i18n$t("Evaluate"), label = i18n$t("Evaluate"),

View file

@ -15,7 +15,7 @@
|rstudio |2025.09.2+418 Cucumberleaf Sunflower (desktop) | |rstudio |2025.09.2+418 Cucumberleaf Sunflower (desktop) |
|pandoc |3.6.4 @ /opt/homebrew/bin/ (via rmarkdown) | |pandoc |3.6.4 @ /opt/homebrew/bin/ (via rmarkdown) |
|quarto |1.7.30 @ /usr/local/bin/quarto | |quarto |1.7.30 @ /usr/local/bin/quarto |
|FreesearchR |25.12.3.251211 | |FreesearchR |25.12.5.251211 |
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -44,7 +44,6 @@
|cardx |0.3.1 |2025-12-04 |CRAN (R 4.4.3) | |cardx |0.3.1 |2025-12-04 |CRAN (R 4.4.3) |
|caTools |1.18.3 |2024-09-04 |CRAN (R 4.4.1) | |caTools |1.18.3 |2024-09-04 |CRAN (R 4.4.1) |
|cellranger |1.1.0 |2016-07-27 |CRAN (R 4.4.0) | |cellranger |1.1.0 |2016-07-27 |CRAN (R 4.4.0) |
|cffr |1.2.0 |2025-01-25 |CRAN (R 4.4.1) |
|checkmate |2.3.3 |2025-08-18 |CRAN (R 4.4.1) | |checkmate |2.3.3 |2025-08-18 |CRAN (R 4.4.1) |
|class |7.3-23 |2025-01-01 |CRAN (R 4.4.1) | |class |7.3-23 |2025-01-01 |CRAN (R 4.4.1) |
|classInt |0.4-11 |2025-01-08 |CRAN (R 4.4.1) | |classInt |0.4-11 |2025-01-08 |CRAN (R 4.4.1) |
@ -54,7 +53,6 @@
|colorspace |2.1-2 |2025-09-22 |CRAN (R 4.4.1) | |colorspace |2.1-2 |2025-09-22 |CRAN (R 4.4.1) |
|commonmark |2.0.0 |2025-07-07 |CRAN (R 4.4.1) | |commonmark |2.0.0 |2025-07-07 |CRAN (R 4.4.1) |
|crayon |1.5.3 |2024-06-20 |CRAN (R 4.4.1) | |crayon |1.5.3 |2024-06-20 |CRAN (R 4.4.1) |
|curl |7.0.0 |2025-08-19 |CRAN (R 4.4.1) |
|data.table |1.17.8 |2025-07-10 |CRAN (R 4.4.1) | |data.table |1.17.8 |2025-07-10 |CRAN (R 4.4.1) |
|datamods |1.5.3 |2024-10-02 |CRAN (R 4.4.1) | |datamods |1.5.3 |2024-10-02 |CRAN (R 4.4.1) |
|datawizard |1.3.0 |2025-10-11 |CRAN (R 4.4.1) | |datawizard |1.3.0 |2025-10-11 |CRAN (R 4.4.1) |
@ -85,7 +83,7 @@
|foreach |1.5.2 |2022-02-02 |CRAN (R 4.4.0) | |foreach |1.5.2 |2022-02-02 |CRAN (R 4.4.0) |
|foreign |0.8-90 |2025-03-31 |CRAN (R 4.4.1) | |foreign |0.8-90 |2025-03-31 |CRAN (R 4.4.1) |
|Formula |1.2-5 |2023-02-24 |CRAN (R 4.4.1) | |Formula |1.2-5 |2023-02-24 |CRAN (R 4.4.1) |
|FreesearchR |25.12.3 |NA |NA | |FreesearchR |25.12.5 |NA |NA |
|fs |1.6.6 |2025-04-12 |CRAN (R 4.4.1) | |fs |1.6.6 |2025-04-12 |CRAN (R 4.4.1) |
|gdtools |0.4.4 |2025-10-06 |CRAN (R 4.4.1) | |gdtools |0.4.4 |2025-10-06 |CRAN (R 4.4.1) |
|generics |0.1.4 |2025-05-09 |CRAN (R 4.4.1) | |generics |0.1.4 |2025-05-09 |CRAN (R 4.4.1) |
@ -113,11 +111,9 @@
|iterators |1.0.14 |2022-02-05 |CRAN (R 4.4.1) | |iterators |1.0.14 |2022-02-05 |CRAN (R 4.4.1) |
|jquerylib |0.1.4 |2021-04-26 |CRAN (R 4.4.0) | |jquerylib |0.1.4 |2021-04-26 |CRAN (R 4.4.0) |
|jsonlite |2.0.0 |2025-03-27 |CRAN (R 4.4.1) | |jsonlite |2.0.0 |2025-03-27 |CRAN (R 4.4.1) |
|jsonvalidate |1.5.0 |2025-02-07 |CRAN (R 4.4.1) |
|KernSmooth |2.23-26 |2025-01-01 |CRAN (R 4.4.1) | |KernSmooth |2.23-26 |2025-01-01 |CRAN (R 4.4.1) |
|keyring |1.4.1 |2025-06-15 |CRAN (R 4.4.1) | |keyring |1.4.1 |2025-06-15 |CRAN (R 4.4.1) |
|knitr |1.50 |2025-03-16 |CRAN (R 4.4.1) | |knitr |1.50 |2025-03-16 |CRAN (R 4.4.1) |
|labeling |0.4.3 |2023-08-29 |CRAN (R 4.4.1) |
|later |1.4.4 |2025-08-27 |CRAN (R 4.4.1) | |later |1.4.4 |2025-08-27 |CRAN (R 4.4.1) |
|lattice |0.22-7 |2025-04-02 |CRAN (R 4.4.1) | |lattice |0.22-7 |2025-04-02 |CRAN (R 4.4.1) |
|lifecycle |1.0.4 |2023-11-07 |CRAN (R 4.4.1) | |lifecycle |1.0.4 |2023-11-07 |CRAN (R 4.4.1) |
@ -141,7 +137,6 @@
|openssl |2.3.4 |2025-09-30 |CRAN (R 4.4.1) | |openssl |2.3.4 |2025-09-30 |CRAN (R 4.4.1) |
|openxlsx2 |1.22 |2025-12-07 |CRAN (R 4.4.3) | |openxlsx2 |1.22 |2025-12-07 |CRAN (R 4.4.3) |
|otel |0.2.0 |2025-08-29 |CRAN (R 4.4.1) | |otel |0.2.0 |2025-08-29 |CRAN (R 4.4.1) |
|pak |0.9.1 |2025-12-01 |CRAN (R 4.4.3) |
|parameters |0.28.3 |2025-11-25 |CRAN (R 4.4.3) | |parameters |0.28.3 |2025-11-25 |CRAN (R 4.4.3) |
|patchwork |1.3.2 |2025-08-25 |CRAN (R 4.4.1) | |patchwork |1.3.2 |2025-08-25 |CRAN (R 4.4.1) |
|pbmcapply |1.5.1 |2022-04-28 |CRAN (R 4.4.1) | |pbmcapply |1.5.1 |2022-04-28 |CRAN (R 4.4.1) |
@ -162,14 +157,9 @@
|qqconf |1.3.2 |2023-04-14 |CRAN (R 4.4.0) | |qqconf |1.3.2 |2023-04-14 |CRAN (R 4.4.0) |
|qqplotr |0.0.7 |2025-09-05 |CRAN (R 4.4.1) | |qqplotr |0.0.7 |2025-09-05 |CRAN (R 4.4.1) |
|quarto |1.5.1 |2025-09-04 |CRAN (R 4.4.1) | |quarto |1.5.1 |2025-09-04 |CRAN (R 4.4.1) |
|R.cache |0.17.0 |2025-05-02 |CRAN (R 4.4.1) |
|R.methodsS3 |1.8.2 |2022-06-13 |CRAN (R 4.4.1) |
|R.oo |1.27.1 |2025-05-02 |CRAN (R 4.4.1) |
|R.utils |2.13.0 |2025-02-24 |CRAN (R 4.4.1) |
|R6 |2.6.1 |2025-02-15 |CRAN (R 4.4.1) | |R6 |2.6.1 |2025-02-15 |CRAN (R 4.4.1) |
|ragg |1.5.0 |2025-09-02 |CRAN (R 4.4.1) | |ragg |1.5.0 |2025-09-02 |CRAN (R 4.4.1) |
|rankinPlot |1.1.0 |2023-01-30 |CRAN (R 4.4.0) | |rankinPlot |1.1.0 |2023-01-30 |CRAN (R 4.4.0) |
|rappdirs |0.3.3 |2021-01-31 |CRAN (R 4.4.1) |
|rbibutils |2.4 |2025-11-07 |CRAN (R 4.4.1) | |rbibutils |2.4 |2025-11-07 |CRAN (R 4.4.1) |
|RColorBrewer |1.1-3 |2022-04-03 |CRAN (R 4.4.1) | |RColorBrewer |1.1-3 |2022-04-03 |CRAN (R 4.4.1) |
|Rcpp |1.1.0 |2025-07-02 |CRAN (R 4.4.1) | |Rcpp |1.1.0 |2025-07-02 |CRAN (R 4.4.1) |
@ -206,11 +196,10 @@
|shinyjs |2.1.0 |2021-12-23 |CRAN (R 4.4.0) | |shinyjs |2.1.0 |2021-12-23 |CRAN (R 4.4.0) |
|shinyTime |1.0.3 |2022-08-19 |CRAN (R 4.4.0) | |shinyTime |1.0.3 |2022-08-19 |CRAN (R 4.4.0) |
|shinyWidgets |0.9.0 |2025-02-21 |CRAN (R 4.4.1) | |shinyWidgets |0.9.0 |2025-02-21 |CRAN (R 4.4.1) |
|sourcetools |0.1.7-1 |2023-02-01 |CRAN (R 4.4.1) | |smd |0.8.0 |2025-02-12 |CRAN (R 4.4.1) |
|stringi |1.8.7 |2025-03-27 |CRAN (R 4.4.1) | |stringi |1.8.7 |2025-03-27 |CRAN (R 4.4.1) |
|stringr |1.6.0 |2025-11-04 |CRAN (R 4.4.1) | |stringr |1.6.0 |2025-11-04 |CRAN (R 4.4.1) |
|stRoke |25.9.2 |2025-09-30 |CRAN (R 4.4.1) | |stRoke |25.9.2 |2025-09-30 |CRAN (R 4.4.1) |
|styler |1.11.0 |2025-10-13 |CRAN (R 4.4.1) |
|systemfonts |1.3.1 |2025-10-01 |CRAN (R 4.4.1) | |systemfonts |1.3.1 |2025-10-01 |CRAN (R 4.4.1) |
|testthat |3.3.1 |2025-11-25 |CRAN (R 4.4.3) | |testthat |3.3.1 |2025-11-25 |CRAN (R 4.4.3) |
|textshaping |1.0.4 |2025-10-10 |CRAN (R 4.4.1) | |textshaping |1.0.4 |2025-10-10 |CRAN (R 4.4.1) |
@ -224,9 +213,7 @@
|twosamples |2.0.1 |2023-06-23 |CRAN (R 4.4.1) | |twosamples |2.0.1 |2023-06-23 |CRAN (R 4.4.1) |
|tzdb |0.5.0 |2025-03-15 |CRAN (R 4.4.1) | |tzdb |0.5.0 |2025-03-15 |CRAN (R 4.4.1) |
|usethis |3.2.1 |2025-09-06 |CRAN (R 4.4.1) | |usethis |3.2.1 |2025-09-06 |CRAN (R 4.4.1) |
|utf8 |1.2.6 |2025-06-08 |CRAN (R 4.4.1) |
|uuid |1.2-1 |2024-07-29 |CRAN (R 4.4.1) | |uuid |1.2-1 |2024-07-29 |CRAN (R 4.4.1) |
|V8 |8.0.1 |2025-10-10 |CRAN (R 4.4.1) |
|vctrs |0.6.5 |2023-12-01 |CRAN (R 4.4.0) | |vctrs |0.6.5 |2023-12-01 |CRAN (R 4.4.0) |
|viridis |0.6.5 |2024-01-29 |CRAN (R 4.4.0) | |viridis |0.6.5 |2024-01-29 |CRAN (R 4.4.0) |
|viridisLite |0.4.2 |2023-05-02 |CRAN (R 4.4.1) | |viridisLite |0.4.2 |2023-05-02 |CRAN (R 4.4.1) |

View file

@ -1,7 +1,7 @@
######## ########
#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpT9sPX5/file6c80650aba81.R #### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpftDBtp/file7bf3239dee0a.R
######## ########
i18n_path <- here::here("translations") i18n_path <- here::here("translations")
@ -63,7 +63,7 @@ i18n$set_translation_language("en")
#### Current file: /Users/au301842/FreesearchR/R//app_version.R #### Current file: /Users/au301842/FreesearchR/R//app_version.R
######## ########
app_version <- function()'25.12.3' app_version <- function()'25.12.5'
######## ########
@ -109,7 +109,7 @@ baseline_table <- function(data, fun.args = NULL, fun = gtsummary::tbl_summary,
#' mtcars |> create_baseline(by.var = "gear", detail_level = "extended",type = list(gtsummary::all_dichotomous() ~ "categorical"),theme="nejm") #' mtcars |> create_baseline(by.var = "gear", detail_level = "extended",type = list(gtsummary::all_dichotomous() ~ "categorical"),theme="nejm")
#' #'
#' create_baseline(default_parsing(mtcars), by.var = "am", add.p = FALSE, add.overall = FALSE, theme = "lancet") #' create_baseline(default_parsing(mtcars), by.var = "am", add.p = FALSE, add.overall = FALSE, theme = "lancet")
create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALSE, theme = c("jama", "lancet", "nejm", "qjecon"), detail_level = c("minimal", "extended")) { create_baseline <- function(data, ..., by.var, add.p = FALSE, add.diff=FALSE, add.overall = FALSE, theme = c("jama", "lancet", "nejm", "qjecon"), detail_level = c("minimal", "extended")) {
theme <- match.arg(theme) theme <- match.arg(theme)
detail_level <- match.arg(detail_level) detail_level <- match.arg(detail_level)
@ -172,6 +172,10 @@ create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALS
gtsummary::add_p() |> gtsummary::add_p() |>
gtsummary::bold_p() gtsummary::bold_p()
} }
if (isTRUE(add.diff)) {
out <- out |>
gtsummary::add_difference()
}
} }
out out
@ -4438,7 +4442,7 @@ data_types <- function() {
#### Current file: /Users/au301842/FreesearchR/R//hosted_version.R #### Current file: /Users/au301842/FreesearchR/R//hosted_version.R
######## ########
hosted_version <- function()'v25.12.3-251211' hosted_version <- function()'v25.12.5-251211'
######## ########
@ -10285,10 +10289,20 @@ ui_elements <- function(selection) {
"Yes" = "yes" "Yes" = "yes"
) )
), ),
shiny::helpText(i18n$t("Option to perform statistical comparisons between strata in baseline table.")) # shiny::helpText(i18n$t("Option to perform statistical comparisons between strata in baseline table.")),
shiny::br(),
shiny::radioButtons(
inputId = "add_diff",
label = i18n$t("Include group differences"),
selected = "no",
inline = TRUE,
choices = list(
"No" = "no",
"Yes" = "yes"
)
)
), ),
shiny::br(), shiny::br(),
shiny::br(),
shiny::actionButton( shiny::actionButton(
inputId = "act_eval", inputId = "act_eval",
label = i18n$t("Evaluate"), label = i18n$t("Evaluate"),
@ -13713,6 +13727,7 @@ server <- function(input, output, session) {
by.var = input$strat_var, by.var = input$strat_var,
add.p = input$add_p == "yes", add.p = input$add_p == "yes",
add.overall = TRUE, add.overall = TRUE,
add.diff = input$add_diff == "yes",
# theme = input$baseline_theme, # theme = input$baseline_theme,
detail_level = input$detail_level detail_level = input$detail_level
) )

View file

@ -8397,6 +8397,39 @@
"Maintainer": "Dean Attali <daattali@gmail.com>", "Maintainer": "Dean Attali <daattali@gmail.com>",
"Repository": "CRAN" "Repository": "CRAN"
}, },
"smd": {
"Package": "smd",
"Version": "0.8.0",
"Source": "Repository",
"Type": "Package",
"Title": "Compute Standardized Mean Differences",
"Authors@R": "c(person(\"Bradley\", \"Saul\", role = c(\"aut\", \"cre\"), email = \"bradleysaul@fastmail.com\"), person(\"Alex\", \"Breskin\", role = c(\"ctb\"), email = \"alexbreskin@gmail.com\"), person(\"Catie\", \"Wiener\", role = c(\"ctb\"), email = \"cwiener@live.unc.edu\"), person(\"Matt\", \"Phelan\", role = c(\"ctb\"), email = \"mpphelan1@gmail.com\"), person(\"Daniel\", \"Sjoberg\", role = c(\"ctb\"), email = \"danield.sjoberg@gmail.com\"), person(\"Nuvan\", \"Rathnayaka\", role = c(\"ctb\"), email = \"nuvanrath@proton.me\"), person(\"Malcolm\", \"Barrett\", role = c(\"ctb\"), email = \"malcolmbarrett@gmail.com\") )",
"Description": "Computes standardized mean differences and confidence intervals for multiple data types based on Yang, D., & Dalton, J. E. (2012) <https://support.sas.com/resources/papers/proceedings12/335-2012.pdf>.",
"Imports": [
"MASS (>= 7.3-50)",
"methods (>= 3.5.1)"
],
"Suggests": [
"testthat",
"stddiff",
"tableone",
"knitr",
"dplyr",
"purrr",
"markdown",
"rmarkdown"
],
"License": "MIT + file LICENSE",
"URL": "https://bsaul.github.io/smd/",
"BugReports": "https://github.com/bsaul/smd/issues",
"Encoding": "UTF-8",
"RoxygenNote": "7.3.2",
"VignetteBuilder": "knitr",
"Repository": "CRAN",
"NeedsCompilation": "no",
"Author": "Bradley Saul [aut, cre], Alex Breskin [ctb], Catie Wiener [ctb], Matt Phelan [ctb], Daniel Sjoberg [ctb], Nuvan Rathnayaka [ctb], Malcolm Barrett [ctb]",
"Maintainer": "Bradley Saul <bradleysaul@fastmail.com>"
},
"sourcetools": { "sourcetools": {
"Package": "sourcetools", "Package": "sourcetools",
"Version": "0.1.7-1", "Version": "0.1.7-1",

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en da
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en de
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en sv
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en sw
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -1,7 +1,7 @@
######## ########
#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpT9sPX5/file6c8068b55910.R #### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpftDBtp/file7bf313edd9e8.R
######## ########
i18n_path <- system.file("translations", package = "FreesearchR") i18n_path <- system.file("translations", package = "FreesearchR")
@ -63,7 +63,7 @@ i18n$set_translation_language("en")
#### Current file: /Users/au301842/FreesearchR/R//app_version.R #### Current file: /Users/au301842/FreesearchR/R//app_version.R
######## ########
app_version <- function()'25.12.3' app_version <- function()'25.12.5'
######## ########
@ -109,7 +109,7 @@ baseline_table <- function(data, fun.args = NULL, fun = gtsummary::tbl_summary,
#' mtcars |> create_baseline(by.var = "gear", detail_level = "extended",type = list(gtsummary::all_dichotomous() ~ "categorical"),theme="nejm") #' mtcars |> create_baseline(by.var = "gear", detail_level = "extended",type = list(gtsummary::all_dichotomous() ~ "categorical"),theme="nejm")
#' #'
#' create_baseline(default_parsing(mtcars), by.var = "am", add.p = FALSE, add.overall = FALSE, theme = "lancet") #' create_baseline(default_parsing(mtcars), by.var = "am", add.p = FALSE, add.overall = FALSE, theme = "lancet")
create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALSE, theme = c("jama", "lancet", "nejm", "qjecon"), detail_level = c("minimal", "extended")) { create_baseline <- function(data, ..., by.var, add.p = FALSE, add.diff=FALSE, add.overall = FALSE, theme = c("jama", "lancet", "nejm", "qjecon"), detail_level = c("minimal", "extended")) {
theme <- match.arg(theme) theme <- match.arg(theme)
detail_level <- match.arg(detail_level) detail_level <- match.arg(detail_level)
@ -172,6 +172,10 @@ create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALS
gtsummary::add_p() |> gtsummary::add_p() |>
gtsummary::bold_p() gtsummary::bold_p()
} }
if (isTRUE(add.diff)) {
out <- out |>
gtsummary::add_difference()
}
} }
out out
@ -4438,7 +4442,7 @@ data_types <- function() {
#### Current file: /Users/au301842/FreesearchR/R//hosted_version.R #### Current file: /Users/au301842/FreesearchR/R//hosted_version.R
######## ########
hosted_version <- function()'v25.12.3-251211' hosted_version <- function()'v25.12.5-251211'
######## ########
@ -10285,10 +10289,20 @@ ui_elements <- function(selection) {
"Yes" = "yes" "Yes" = "yes"
) )
), ),
shiny::helpText(i18n$t("Option to perform statistical comparisons between strata in baseline table.")) # shiny::helpText(i18n$t("Option to perform statistical comparisons between strata in baseline table.")),
shiny::br(),
shiny::radioButtons(
inputId = "add_diff",
label = i18n$t("Include group differences"),
selected = "no",
inline = TRUE,
choices = list(
"No" = "no",
"Yes" = "yes"
)
)
), ),
shiny::br(), shiny::br(),
shiny::br(),
shiny::actionButton( shiny::actionButton(
inputId = "act_eval", inputId = "act_eval",
label = i18n$t("Evaluate"), label = i18n$t("Evaluate"),
@ -13713,6 +13727,7 @@ server <- function(input, output, session) {
by.var = input$strat_var, by.var = input$strat_var,
add.p = input$add_p == "yes", add.p = input$add_p == "yes",
add.overall = TRUE, add.overall = TRUE,
add.diff = input$add_diff == "yes",
# theme = input$baseline_theme, # theme = input$baseline_theme,
detail_level = input$detail_level detail_level = input$detail_level
) )

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en da
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en de
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en sv
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -306,3 +306,4 @@
"Select outcome variable for overview","Select outcome variable for overview" "Select outcome variable for overview","Select outcome variable for overview"
"No outcome measure chosen","No outcome measure chosen" "No outcome measure chosen","No outcome measure chosen"
"There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}." "There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.","There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}."
"Include group differences","Include group differences"

1 en sw
306 Select outcome variable for overview Select outcome variable for overview
307 No outcome measure chosen No outcome measure chosen
308 There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}. There is a significant difference in data missingness in {n_nonmcar} {ifelse(n_nonmcar==1,'variable','variables')} grouped by the selected outcome/grouping variable {outcome}.
309 Include group differences Include group differences

View file

@ -9,6 +9,7 @@ create_baseline(
..., ...,
by.var, by.var,
add.p = FALSE, add.p = FALSE,
add.diff = FALSE,
add.overall = FALSE, add.overall = FALSE,
theme = c("jama", "lancet", "nejm", "qjecon"), theme = c("jama", "lancet", "nejm", "qjecon"),
detail_level = c("minimal", "extended") detail_level = c("minimal", "extended")

View file

@ -8397,6 +8397,39 @@
"Maintainer": "Dean Attali <daattali@gmail.com>", "Maintainer": "Dean Attali <daattali@gmail.com>",
"Repository": "CRAN" "Repository": "CRAN"
}, },
"smd": {
"Package": "smd",
"Version": "0.8.0",
"Source": "Repository",
"Type": "Package",
"Title": "Compute Standardized Mean Differences",
"Authors@R": "c(person(\"Bradley\", \"Saul\", role = c(\"aut\", \"cre\"), email = \"bradleysaul@fastmail.com\"), person(\"Alex\", \"Breskin\", role = c(\"ctb\"), email = \"alexbreskin@gmail.com\"), person(\"Catie\", \"Wiener\", role = c(\"ctb\"), email = \"cwiener@live.unc.edu\"), person(\"Matt\", \"Phelan\", role = c(\"ctb\"), email = \"mpphelan1@gmail.com\"), person(\"Daniel\", \"Sjoberg\", role = c(\"ctb\"), email = \"danield.sjoberg@gmail.com\"), person(\"Nuvan\", \"Rathnayaka\", role = c(\"ctb\"), email = \"nuvanrath@proton.me\"), person(\"Malcolm\", \"Barrett\", role = c(\"ctb\"), email = \"malcolmbarrett@gmail.com\") )",
"Description": "Computes standardized mean differences and confidence intervals for multiple data types based on Yang, D., & Dalton, J. E. (2012) <https://support.sas.com/resources/papers/proceedings12/335-2012.pdf>.",
"Imports": [
"MASS (>= 7.3-50)",
"methods (>= 3.5.1)"
],
"Suggests": [
"testthat",
"stddiff",
"tableone",
"knitr",
"dplyr",
"purrr",
"markdown",
"rmarkdown"
],
"License": "MIT + file LICENSE",
"URL": "https://bsaul.github.io/smd/",
"BugReports": "https://github.com/bsaul/smd/issues",
"Encoding": "UTF-8",
"RoxygenNote": "7.3.2",
"VignetteBuilder": "knitr",
"Repository": "CRAN",
"NeedsCompilation": "no",
"Author": "Bradley Saul [aut, cre], Alex Breskin [ctb], Catie Wiener [ctb], Matt Phelan [ctb], Daniel Sjoberg [ctb], Nuvan Rathnayaka [ctb], Malcolm Barrett [ctb]",
"Maintainer": "Bradley Saul <bradleysaul@fastmail.com>"
},
"sourcetools": { "sourcetools": {
"Package": "sourcetools", "Package": "sourcetools",
"Version": "0.1.7-1", "Version": "0.1.7-1",