From e55c58bc894da8021ed19542a377ef8c790e7c39 Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Mon, 23 Feb 2026 16:17:00 +0100 Subject: [PATCH] new version --- CITATION.cff | 2 +- DESCRIPTION | 2 +- NEWS.md | 4 +++ R/app_version.R | 2 +- R/hosted_version.R | 2 +- R/sysdata.rda | Bin 2777 -> 2729 bytes SESSION.md | 9 ++--- app_docker/app.R | 38 ++++++++++++--------- app_docker/translations/translation_da.csv | 2 +- app_docker/translations/translation_sw.csv | 2 +- inst/apps/FreesearchR/app.R | 34 ++++++++++-------- inst/translations/translation_da.csv | 2 +- inst/translations/translation_sw.csv | 2 +- 13 files changed, 56 insertions(+), 45 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c72df497..9c27438d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -8,7 +8,7 @@ message: 'To cite package "FreesearchR" in publications use:' type: software license: AGPL-3.0-or-later title: 'FreesearchR: Easy data analysis for clinicians' -version: 26.2.1 +version: 26.2.2 doi: 10.5281/zenodo.14527429 identifiers: - type: url diff --git a/DESCRIPTION b/DESCRIPTION index 0b5a2624..765ddf30 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: FreesearchR Title: Easy data analysis for clinicians -Version: 26.2.1 +Version: 26.2.2 Authors@R: c( person("Andreas Gammelgaard", "Damsbo",email="agdamsbo@clin.au.dk", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-7559-1154")), diff --git a/NEWS.md b/NEWS.md index 72b3f5da..a4ae118e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +# FreesearchR 26.2.2 + +Minor addition to the previous update with correct activation of the missingness evaluation button. + # FreesearchR 26.2.1 This update is mainly focused on polishing, fixes and small additions to make the app more intuitive. diff --git a/R/app_version.R b/R/app_version.R index 2e7eceea..2e388696 100644 --- a/R/app_version.R +++ b/R/app_version.R @@ -1 +1 @@ -app_version <- function()'26.2.1' +app_version <- function()'26.2.2' diff --git a/R/hosted_version.R b/R/hosted_version.R index b7608560..ac3e35b9 100644 --- a/R/hosted_version.R +++ b/R/hosted_version.R @@ -1 +1 @@ -hosted_version <- function()'v26.2.1-260223' +hosted_version <- function()'v26.2.2-260223' diff --git a/R/sysdata.rda b/R/sysdata.rda index b44fdc1d83087c12fa9463ba4876071e93eacff1..0dbda1325e5d8c2de306c10f95ffb9e1302ca6b8 100644 GIT binary patch literal 2729 zcmV;a3Rd+(T4*^jL0KkKSqry|T>u&Df5iX)Xaz!l|KNXb-@w2B|L{Nn00IaB;0zxY z5ez&HLMYOJp+S7`JroK62MtU>37{hqHi9NJjH&vQ^l2uUl4Ju%qXgp#M~pQ(}>JrFc9 zHl`7iKpRj1!~vkt4Jd<6G-w(c000000004|fB;0IO-(e)ev?Gg(jK7GOqu`y01Y(I zG}9m&UX^Ypi9y`R?sq{QRFPK7Za*fD4MErX~}I@Y>AN*nTmE3 zEz*#bJ7l-e;a5W$vS>?IEV6bl{roh>?BaYNowO|`qd1@MFcVZLdPgKFEg{Oo=v99YIpX2QDvn;~`v;awR_jKIA^#*vi}L8vaH7FZ$Mg7!{NnYxXzwYin5 zY0heml^C~%x!OnE#v z@8;+5;69OSrXu(6^5+LW{U*k3TQ;>ZU%0(emuOQ4ZEBbVQ#4gD!~n%HYFl?g^^*7< z$cl-uB8b6I0tAGIa)<&gYeYp5{Xhh5f}j?3We#WD6dZp2!tP3d8j%Dw^|4;-?ea6Y z-n}R)4te77)D%=jMFc?@vMgANsv{8?!4@o0MPjljsw_lU#F1hkv5Kn5prEQnR9DvX zzJF}-a;owA^U8=UQS%=)URRK?#^0m zuJ)m&d829x#w7;eWra^^*x{7p5-(sHBC+iy5rl1~8cw&)vAWjkGqY4)&s;gNLiX*M z!t5l1b^(&nbq&0@H$>57VVuF+QDM%N6bYCK!y%i<4)Gdyajda$4yRhXV)F7KizLE2 z)@B(N%1+qD8i5OJFeb1k6JLJOLUN6g_ek9pqVp0s<0m9W;tDc~)z#d919l3A`(8R8 ztuv1^o8oVIo6Fqs)$6Tjr){RDjJ9cQ8tunAOh!4GonBy6;uOl)PIIg?ecayC5H-7O z

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 diff --git a/SESSION.md b/SESSION.md index 8030232c..7907a089 100644 --- a/SESSION.md +++ b/SESSION.md @@ -15,7 +15,7 @@ |rstudio |2026.01.1+403 Apple Blossom (desktop) | |pandoc |3.6.4 @ /opt/homebrew/bin/ (via rmarkdown) | |quarto |1.7.30 @ /usr/local/bin/quarto | -|FreesearchR |26.2.1.260223 | +|FreesearchR |26.2.2.260223 | -------------------------------------------------------------------------------- @@ -78,7 +78,6 @@ |farver |2.1.2 |2024-05-13 |CRAN (R 4.5.0) | |fastmap |1.2.0 |2024-05-15 |CRAN (R 4.5.0) | |flextable |0.9.11 |2026-02-13 |CRAN (R 4.5.2) | -|fontawesome |0.5.3 |2024-11-16 |CRAN (R 4.5.0) | |fontBitstreamVera |0.1.1 |2017-02-01 |CRAN (R 4.5.0) | |fontLiberation |0.1.0 |2016-10-15 |CRAN (R 4.5.0) | |fontquiver |0.2.1 |2017-02-01 |CRAN (R 4.5.0) | @@ -86,7 +85,7 @@ |foreach |1.5.2 |2022-02-02 |CRAN (R 4.5.0) | |foreign |0.8-90 |2025-03-31 |CRAN (R 4.5.2) | |Formula |1.2-5 |2023-02-24 |CRAN (R 4.5.0) | -|FreesearchR |26.2.1 |NA |NA | +|FreesearchR |26.2.2 |NA |NA | |fs |1.6.6 |2025-04-12 |CRAN (R 4.5.0) | |gdtools |0.5.0 |2026-02-09 |CRAN (R 4.5.2) | |generics |0.1.4 |2025-05-09 |CRAN (R 4.5.0) | @@ -117,15 +116,12 @@ |KernSmooth |2.23-26 |2025-01-01 |CRAN (R 4.5.2) | |keyring |1.4.1 |2025-06-15 |CRAN (R 4.5.0) | |knitr |1.51 |2025-12-20 |CRAN (R 4.5.2) | -|labeling |0.4.3 |2023-08-29 |CRAN (R 4.5.0) | |later |1.4.6 |2026-02-13 |CRAN (R 4.5.2) | |lattice |0.22-7 |2025-04-02 |CRAN (R 4.5.2) | |lifecycle |1.0.5 |2026-01-08 |CRAN (R 4.5.2) | -|litedown |0.9 |2025-12-18 |CRAN (R 4.5.2) | |lme4 |1.1-38 |2025-12-02 |CRAN (R 4.5.2) | |lubridate |1.9.5 |2026-02-04 |CRAN (R 4.5.2) | |magrittr |2.0.4 |2025-09-12 |CRAN (R 4.5.0) | -|markdown |2.0 |2025-03-23 |CRAN (R 4.5.0) | |MASS |7.3-65 |2025-02-28 |CRAN (R 4.5.0) | |Matrix |1.7-4 |2025-08-28 |CRAN (R 4.5.2) | |memoise |2.0.1 |2021-11-26 |CRAN (R 4.5.0) | @@ -219,7 +215,6 @@ |twosamples |2.0.1 |2023-06-23 |CRAN (R 4.5.0) | |tzdb |0.5.0 |2025-03-15 |CRAN (R 4.5.0) | |usethis |3.2.1 |2025-09-06 |CRAN (R 4.5.0) | -|utf8 |1.2.6 |2025-06-08 |CRAN (R 4.5.0) | |uuid |1.2-2 |2026-01-23 |CRAN (R 4.5.2) | |vctrs |0.7.1 |2026-01-23 |CRAN (R 4.5.2) | |viridis |0.6.5 |2024-01-29 |CRAN (R 4.5.0) | diff --git a/app_docker/app.R b/app_docker/app.R index 9c757757..8834ee28 100644 --- a/app_docker/app.R +++ b/app_docker/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpvRkTPP/file5ce31553c48a.R +#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//Rtmpp0JgLn/file73e1594116cf.R ######## i18n_path <- here::here("translations") @@ -72,7 +72,7 @@ if (!"global_freesearchR" %in% ls(name = globalenv())) { #### Current file: /Users/au301842/FreesearchR/R//app_version.R ######## -app_version <- function()'26.2.1' +app_version <- function()'26.2.2' ######## @@ -4524,7 +4524,7 @@ data_types <- function() { #### Current file: /Users/au301842/FreesearchR/R//hosted_version.R ######## -hosted_version <- function()'v26.2.1-260223' +hosted_version <- function()'v26.2.2-260223' ######## @@ -6050,7 +6050,7 @@ data_missings_ui <- function(id, ...) { label = i18n$t("Evaluate"), width = "100%", icon = shiny::icon("calculator"), - disabled = FALSE + disabled = TRUE ) ), do.call(bslib::accordion_panel, c( @@ -6100,19 +6100,25 @@ data_missings_server <- function(id, data, max_level = 20, ...) { ) output$missings <- shiny::reactive({ - shiny::req(data()) - any(is.na(data())) + # shiny::req(data()) + any(is.na(datar())) }) shiny::outputOptions(output, "missings", suspendWhenHidden = FALSE) - observe({ - shiny::req(data()) - if (!any(is.na(data()))) { - rv$feedback <- info_alert - } else { - rv$feedback <- NULL - } - }) + shiny::observeEvent(list(datar(), input$missings_method, input$missings_var), + { + # shiny::req(data()) + # browser() + if (!any(is.na(datar()))) { + rv$feedback <- info_alert + shiny::updateActionButton(inputId = "act_miss", disabled = TRUE) + rv$table <- NULL + output$missings_table <- gt::render_gt({ NULL }) + } else { + rv$feedback <- NULL + shiny::updateActionButton(inputId = "act_miss", disabled = FALSE) + } + },ignoreInit = TRUE) output$feedback <- renderUI(rv$feedback) @@ -6123,7 +6129,7 @@ data_missings_server <- function(id, data, max_level = 20, ...) { ## Direct table export would be nice shiny::observe(output$missings_method <- shiny::renderUI({ - shiny::req(data()) + shiny::req(datar()) vectorSelectInput( inputId = ns("missings_method"), label = i18n$t("Analysis method for missingness overview"), @@ -6143,7 +6149,7 @@ data_missings_server <- function(id, data, max_level = 20, ...) { # browser() if (input$missings_method == "predictors") { label <- i18n$t("Select a variable for grouped overview") - df <- data_type_filter(data(), type = c("categorical", "dichotomous")) + df <- data_type_filter(datar(), type = c("categorical", "dichotomous")) col_subset <- c("none", names(df)) } else { label <- i18n$t("Select outcome variable for overview") diff --git a/app_docker/translations/translation_da.csv b/app_docker/translations/translation_da.csv index 1f01e80c..cf5fc05c 100644 --- a/app_docker/translations/translation_da.csv +++ b/app_docker/translations/translation_da.csv @@ -316,7 +316,6 @@ "Reorder factor levels","Omarranger niveauer" "Modify factor levels","Modify factor levels" "Reorder or rename the levels of factor/categorical variables.","Reorder or rename the levels of factor/categorical variables." -"Start by loading data.","Start by loading data." "Maximum number of observations:","Maximum number of observations:" "setting to 0 includes all","setting to 0 includes all" "Select a dataset from your environment or sample dataset from a package.","Select a dataset from your environment or sample dataset from a package." @@ -327,3 +326,4 @@ "Click to see data","Click to see data" "No data present.","No data present." "You have provided a complete dataset with no missing values.","You have provided a complete dataset with no missing values." +"Start by loading data.","Start by loading data." diff --git a/app_docker/translations/translation_sw.csv b/app_docker/translations/translation_sw.csv index 03796bcc..f17394c2 100644 --- a/app_docker/translations/translation_sw.csv +++ b/app_docker/translations/translation_sw.csv @@ -316,7 +316,6 @@ "Reorder factor levels","Reorder factor levels" "Modify factor levels","Modify factor levels" "Reorder or rename the levels of factor/categorical variables.","Reorder or rename the levels of factor/categorical variables." -"Start by loading data.","Start by loading data." "Maximum number of observations:","Maximum number of observations:" "setting to 0 includes all","setting to 0 includes all" "Select a dataset from your environment or sample dataset from a package.","Select a dataset from your environment or sample dataset from a package." @@ -327,3 +326,4 @@ "Click to see data","Click to see data" "No data present.","No data present." "You have provided a complete dataset with no missing values.","You have provided a complete dataset with no missing values." +"Start by loading data.","Start by loading data." diff --git a/inst/apps/FreesearchR/app.R b/inst/apps/FreesearchR/app.R index 669d66d6..45097747 100644 --- a/inst/apps/FreesearchR/app.R +++ b/inst/apps/FreesearchR/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpvRkTPP/file5ce319d75524.R +#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//Rtmpp0JgLn/file73e1e257b26.R ######## i18n_path <- system.file("translations", package = "FreesearchR") @@ -6050,7 +6050,7 @@ data_missings_ui <- function(id, ...) { label = i18n$t("Evaluate"), width = "100%", icon = shiny::icon("calculator"), - disabled = FALSE + disabled = TRUE ) ), do.call(bslib::accordion_panel, c( @@ -6100,19 +6100,25 @@ data_missings_server <- function(id, data, max_level = 20, ...) { ) output$missings <- shiny::reactive({ - shiny::req(data()) - any(is.na(data())) + # shiny::req(data()) + any(is.na(datar())) }) shiny::outputOptions(output, "missings", suspendWhenHidden = FALSE) - observe({ - shiny::req(data()) - if (!any(is.na(data()))) { - rv$feedback <- info_alert - } else { - rv$feedback <- NULL - } - }) + shiny::observeEvent(list(datar(), input$missings_method, input$missings_var), + { + # shiny::req(data()) + # browser() + if (!any(is.na(datar()))) { + rv$feedback <- info_alert + shiny::updateActionButton(inputId = "act_miss", disabled = TRUE) + rv$table <- NULL + output$missings_table <- gt::render_gt({ NULL }) + } else { + rv$feedback <- NULL + shiny::updateActionButton(inputId = "act_miss", disabled = FALSE) + } + },ignoreInit = TRUE) output$feedback <- renderUI(rv$feedback) @@ -6123,7 +6129,7 @@ data_missings_server <- function(id, data, max_level = 20, ...) { ## Direct table export would be nice shiny::observe(output$missings_method <- shiny::renderUI({ - shiny::req(data()) + shiny::req(datar()) vectorSelectInput( inputId = ns("missings_method"), label = i18n$t("Analysis method for missingness overview"), @@ -6143,7 +6149,7 @@ data_missings_server <- function(id, data, max_level = 20, ...) { # browser() if (input$missings_method == "predictors") { label <- i18n$t("Select a variable for grouped overview") - df <- data_type_filter(data(), type = c("categorical", "dichotomous")) + df <- data_type_filter(datar(), type = c("categorical", "dichotomous")) col_subset <- c("none", names(df)) } else { label <- i18n$t("Select outcome variable for overview") diff --git a/inst/translations/translation_da.csv b/inst/translations/translation_da.csv index 1f01e80c..cf5fc05c 100644 --- a/inst/translations/translation_da.csv +++ b/inst/translations/translation_da.csv @@ -316,7 +316,6 @@ "Reorder factor levels","Omarranger niveauer" "Modify factor levels","Modify factor levels" "Reorder or rename the levels of factor/categorical variables.","Reorder or rename the levels of factor/categorical variables." -"Start by loading data.","Start by loading data." "Maximum number of observations:","Maximum number of observations:" "setting to 0 includes all","setting to 0 includes all" "Select a dataset from your environment or sample dataset from a package.","Select a dataset from your environment or sample dataset from a package." @@ -327,3 +326,4 @@ "Click to see data","Click to see data" "No data present.","No data present." "You have provided a complete dataset with no missing values.","You have provided a complete dataset with no missing values." +"Start by loading data.","Start by loading data." diff --git a/inst/translations/translation_sw.csv b/inst/translations/translation_sw.csv index 03796bcc..f17394c2 100644 --- a/inst/translations/translation_sw.csv +++ b/inst/translations/translation_sw.csv @@ -316,7 +316,6 @@ "Reorder factor levels","Reorder factor levels" "Modify factor levels","Modify factor levels" "Reorder or rename the levels of factor/categorical variables.","Reorder or rename the levels of factor/categorical variables." -"Start by loading data.","Start by loading data." "Maximum number of observations:","Maximum number of observations:" "setting to 0 includes all","setting to 0 includes all" "Select a dataset from your environment or sample dataset from a package.","Select a dataset from your environment or sample dataset from a package." @@ -327,3 +326,4 @@ "Click to see data","Click to see data" "No data present.","No data present." "You have provided a complete dataset with no missing values.","You have provided a complete dataset with no missing values." +"Start by loading data.","Start by loading data."