Compare commits

...

3 commits

22 changed files with 180 additions and 149 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: 26.2.2 version: 26.3.1
doi: 10.5281/zenodo.14527429 doi: 10.5281/zenodo.14527429
identifiers: identifiers:
- type: url - type: url

View file

@ -1,6 +1,6 @@
Package: FreesearchR Package: FreesearchR
Title: Easy data analysis for clinicians Title: Easy data analysis for clinicians
Version: 26.2.2 Version: 26.3.1
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")),

View file

@ -1,3 +1,11 @@
# FreesearchR 26.3.1
*FIX* Include font files for static loading without dependency on Google.
*NEW* Updated text strings to better reflect environment data availability.
New strings translated.
# FreesearchR 26.2.2 # FreesearchR 26.2.2
*FIX* Minor addition to the previous update with correct activation of the missingness evaluation button. *FIX* Minor addition to the previous update with correct activation of the missingness evaluation button.

View file

@ -1 +1 @@
app_version <- function()'26.2.2' app_version <- function()'26.3.1'

View file

@ -1 +1 @@
hosted_version <- function()'v26.2.2-260223' hosted_version <- function()'v26.3.1-260228'

Binary file not shown.

View file

@ -9,9 +9,21 @@ custom_theme <- function(...,
primary = FreesearchR_colors("primary"), primary = FreesearchR_colors("primary"),
secondary = FreesearchR_colors("secondary"), secondary = FreesearchR_colors("secondary"),
bootswatch = "united", bootswatch = "united",
base_font = bslib::font_google("Montserrat"), # base_font = bslib::font_google("Montserrat"),
heading_font = bslib::font_google("Public Sans", wght = "700"), base_font = bslib::font_face(
code_font = bslib::font_google("Open Sans"), family = "Montserrat",
src = "url('/fonts/Montserrat-Regular.ttf') format('truetype')"
),
# heading_font = bslib::font_google("Public Sans", wght = "700"),
heading_font = bslib::font_face(
family = "PublicSans",
src = "url('/fonts/PublicSans-Bold.ttf') format('truetype')"
),
# code_font = bslib::font_google("Open Sans"),
code_font = bslib::font_face(
family = "OpenSans",
src = "url('/fonts/OpenSans-Regular.ttf') format('truetype')"
),
success = FreesearchR_colors("success"), success = FreesearchR_colors("success"),
info = FreesearchR_colors("info"), info = FreesearchR_colors("info"),
warning = FreesearchR_colors("warning"), warning = FreesearchR_colors("warning"),

View file

@ -68,11 +68,12 @@ ui_elements <- function(selection) {
), ),
# shiny::tags$script('document.querySelector("#source div").style.width = "100%"'), # shiny::tags$script('document.querySelector("#source div").style.width = "100%"'),
## Update this to change depending on run locally or hosted ## Update this to change depending on run locally or hosted
shiny::helpText( shiny::uiOutput(outputId = "data_sample_text"),
i18n$t( # shiny::helpText(
"Upload a file, get data directly from REDCap or use local or sample data." # i18n$t(
) # "Upload a file, get data directly from REDCap or use local or sample data."
), # )
# ),
shiny::br(), shiny::br(),
shiny::br(), shiny::br(),
shiny::conditionalPanel( shiny::conditionalPanel(

View file

@ -11,11 +11,11 @@
|collate |en_US.UTF-8 | |collate |en_US.UTF-8 |
|ctype |en_US.UTF-8 | |ctype |en_US.UTF-8 |
|tz |Europe/Copenhagen | |tz |Europe/Copenhagen |
|date |2026-02-23 | |date |2026-02-28 |
|rstudio |2026.01.1+403 Apple Blossom (desktop) | |rstudio |2026.01.1+403 Apple Blossom (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 |26.2.2.260223 | |FreesearchR |26.3.1.260228 |
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -26,8 +26,6 @@
|apexcharter |0.4.5 |2026-01-07 |CRAN (R 4.5.2) | |apexcharter |0.4.5 |2026-01-07 |CRAN (R 4.5.2) |
|askpass |1.2.1 |2024-10-04 |CRAN (R 4.5.0) | |askpass |1.2.1 |2024-10-04 |CRAN (R 4.5.0) |
|assertthat |0.2.1 |2019-03-21 |CRAN (R 4.5.0) | |assertthat |0.2.1 |2019-03-21 |CRAN (R 4.5.0) |
|attachment |0.4.5 |2025-03-14 |CRAN (R 4.5.0) |
|attempt |0.3.1 |2020-05-03 |CRAN (R 4.5.0) |
|backports |1.5.0 |2024-05-23 |CRAN (R 4.5.0) | |backports |1.5.0 |2024-05-23 |CRAN (R 4.5.0) |
|base64enc |0.1-6 |2026-02-02 |CRAN (R 4.5.2) | |base64enc |0.1-6 |2026-02-02 |CRAN (R 4.5.2) |
|bayestestR |0.17.0 |2025-08-29 |CRAN (R 4.5.0) | |bayestestR |0.17.0 |2025-08-29 |CRAN (R 4.5.0) |
@ -46,7 +44,6 @@
|cardx |0.3.2 |2026-02-05 |CRAN (R 4.5.2) | |cardx |0.3.2 |2026-02-05 |CRAN (R 4.5.2) |
|caTools |1.18.3 |2024-09-04 |CRAN (R 4.5.0) | |caTools |1.18.3 |2024-09-04 |CRAN (R 4.5.0) |
|cellranger |1.1.0 |2016-07-27 |CRAN (R 4.5.0) | |cellranger |1.1.0 |2016-07-27 |CRAN (R 4.5.0) |
|cffr |1.2.1 |2026-01-12 |CRAN (R 4.5.2) |
|checkmate |2.3.4 |2026-02-03 |CRAN (R 4.5.2) | |checkmate |2.3.4 |2026-02-03 |CRAN (R 4.5.2) |
|class |7.3-23 |2025-01-01 |CRAN (R 4.5.2) | |class |7.3-23 |2025-01-01 |CRAN (R 4.5.2) |
|classInt |0.4-11 |2025-01-08 |CRAN (R 4.5.0) | |classInt |0.4-11 |2025-01-08 |CRAN (R 4.5.0) |
@ -56,6 +53,7 @@
|colorspace |2.1-2 |2025-09-22 |CRAN (R 4.5.0) | |colorspace |2.1-2 |2025-09-22 |CRAN (R 4.5.0) |
|commonmark |2.0.0 |2025-07-07 |CRAN (R 4.5.0) | |commonmark |2.0.0 |2025-07-07 |CRAN (R 4.5.0) |
|crayon |1.5.3 |2024-06-20 |CRAN (R 4.5.0) | |crayon |1.5.3 |2024-06-20 |CRAN (R 4.5.0) |
|crul |1.6.0 |NA |NA |
|curl |7.0.0 |2025-08-19 |CRAN (R 4.5.0) | |curl |7.0.0 |2025-08-19 |CRAN (R 4.5.0) |
|data.table |1.18.2.1 |2026-01-27 |CRAN (R 4.5.2) | |data.table |1.18.2.1 |2026-01-27 |CRAN (R 4.5.2) |
|datamods |1.5.3 |2024-10-02 |CRAN (R 4.5.0) | |datamods |1.5.3 |2024-10-02 |CRAN (R 4.5.0) |
@ -65,7 +63,6 @@
|devtools |2.4.6 |2025-10-03 |CRAN (R 4.5.0) | |devtools |2.4.6 |2025-10-03 |CRAN (R 4.5.0) |
|DHARMa |0.4.7 |2024-10-18 |CRAN (R 4.5.0) | |DHARMa |0.4.7 |2024-10-18 |CRAN (R 4.5.0) |
|digest |0.6.39 |2025-11-19 |CRAN (R 4.5.2) | |digest |0.6.39 |2025-11-19 |CRAN (R 4.5.2) |
|dockerfiler |0.2.5 |2025-05-07 |CRAN (R 4.5.0) |
|doParallel |1.0.17 |2022-02-07 |CRAN (R 4.5.0) | |doParallel |1.0.17 |2022-02-07 |CRAN (R 4.5.0) |
|dplyr |1.2.0 |2026-02-03 |CRAN (R 4.5.2) | |dplyr |1.2.0 |2026-02-03 |CRAN (R 4.5.2) |
|DT |0.34.0 |2025-09-02 |CRAN (R 4.5.0) | |DT |0.34.0 |2025-09-02 |CRAN (R 4.5.0) |
@ -88,10 +85,11 @@
|foreach |1.5.2 |2022-02-02 |CRAN (R 4.5.0) | |foreach |1.5.2 |2022-02-02 |CRAN (R 4.5.0) |
|foreign |0.8-90 |2025-03-31 |CRAN (R 4.5.2) | |foreign |0.8-90 |2025-03-31 |CRAN (R 4.5.2) |
|Formula |1.2-5 |2023-02-24 |CRAN (R 4.5.0) | |Formula |1.2-5 |2023-02-24 |CRAN (R 4.5.0) |
|FreesearchR |26.2.2 |NA |NA | |FreesearchR |26.3.1 |NA |NA |
|fs |1.6.6 |2025-04-12 |CRAN (R 4.5.0) | |fs |1.6.6 |2025-04-12 |CRAN (R 4.5.0) |
|gdtools |0.5.0 |2026-02-09 |CRAN (R 4.5.2) | |gdtools |0.5.0 |2026-02-09 |CRAN (R 4.5.2) |
|generics |0.1.4 |2025-05-09 |CRAN (R 4.5.0) | |generics |0.1.4 |2025-05-09 |CRAN (R 4.5.0) |
|gfonts |0.2.0 |NA |NA |
|ggalluvial |0.12.5 |2023-02-22 |CRAN (R 4.5.0) | |ggalluvial |0.12.5 |2023-02-22 |CRAN (R 4.5.0) |
|ggcorrplot |0.1.4.1 |2023-09-05 |CRAN (R 4.5.0) | |ggcorrplot |0.1.4.1 |2023-09-05 |CRAN (R 4.5.0) |
|ggforce |0.5.0 |2025-06-18 |CRAN (R 4.5.0) | |ggforce |0.5.0 |2025-06-18 |CRAN (R 4.5.0) |
@ -110,24 +108,23 @@
|htmlTable |2.4.3 |2024-07-21 |CRAN (R 4.5.0) | |htmlTable |2.4.3 |2024-07-21 |CRAN (R 4.5.0) |
|htmltools |0.5.9 |2025-12-04 |CRAN (R 4.5.2) | |htmltools |0.5.9 |2025-12-04 |CRAN (R 4.5.2) |
|htmlwidgets |1.6.4 |2023-12-06 |CRAN (R 4.5.0) | |htmlwidgets |1.6.4 |2023-12-06 |CRAN (R 4.5.0) |
|httpcode |0.3.0 |NA |NA |
|httpuv |1.6.16 |2025-04-16 |CRAN (R 4.5.0) | |httpuv |1.6.16 |2025-04-16 |CRAN (R 4.5.0) |
|IDEAFilter |0.2.1 |2025-07-29 |CRAN (R 4.5.0) | |IDEAFilter |0.2.1 |2025-07-29 |CRAN (R 4.5.0) |
|insight |1.4.6 |2026-02-04 |CRAN (R 4.5.2) | |insight |1.4.6 |2026-02-04 |CRAN (R 4.5.2) |
|iterators |1.0.14 |2022-02-05 |CRAN (R 4.5.0) | |iterators |1.0.14 |2022-02-05 |CRAN (R 4.5.0) |
|jquerylib |0.1.4 |2021-04-26 |CRAN (R 4.5.0) | |jquerylib |0.1.4 |2021-04-26 |CRAN (R 4.5.0) |
|jsonlite |2.0.0 |2025-03-27 |CRAN (R 4.5.0) | |jsonlite |2.0.0 |2025-03-27 |CRAN (R 4.5.0) |
|jsonvalidate |1.5.0 |2025-02-07 |CRAN (R 4.5.0) |
|KernSmooth |2.23-26 |2025-01-01 |CRAN (R 4.5.2) | |KernSmooth |2.23-26 |2025-01-01 |CRAN (R 4.5.2) |
|keyring |1.4.1 |2025-06-15 |CRAN (R 4.5.0) | |keyring |1.4.1 |2025-06-15 |CRAN (R 4.5.0) |
|knitr |1.51 |2025-12-20 |CRAN (R 4.5.2) | |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) | |later |1.4.6 |2026-02-13 |CRAN (R 4.5.2) |
|lattice |0.22-7 |2025-04-02 |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) | |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) | |lme4 |1.1-38 |2025-12-02 |CRAN (R 4.5.2) |
|lubridate |1.9.5 |2026-02-04 |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) | |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) | |MASS |7.3-65 |2025-02-28 |CRAN (R 4.5.0) |
|Matrix |1.7-4 |2025-08-28 |CRAN (R 4.5.2) | |Matrix |1.7-4 |2025-08-28 |CRAN (R 4.5.2) |
|memoise |2.0.1 |2021-11-26 |CRAN (R 4.5.0) | |memoise |2.0.1 |2021-11-26 |CRAN (R 4.5.0) |
@ -167,7 +164,6 @@
|R6 |2.6.1 |2025-02-15 |CRAN (R 4.5.0) | |R6 |2.6.1 |2025-02-15 |CRAN (R 4.5.0) |
|ragg |1.5.0 |2025-09-02 |CRAN (R 4.5.0) | |ragg |1.5.0 |2025-09-02 |CRAN (R 4.5.0) |
|rankinPlot |1.1.0 |2023-01-30 |CRAN (R 4.5.0) | |rankinPlot |1.1.0 |2023-01-30 |CRAN (R 4.5.0) |
|rappdirs |0.3.4 |2026-01-17 |CRAN (R 4.5.2) |
|rbibutils |2.4.1 |2026-01-21 |CRAN (R 4.5.2) | |rbibutils |2.4.1 |2026-01-21 |CRAN (R 4.5.2) |
|RColorBrewer |1.1-3 |2022-04-03 |CRAN (R 4.5.0) | |RColorBrewer |1.1-3 |2022-04-03 |CRAN (R 4.5.0) |
|Rcpp |1.1.1 |2026-01-10 |CRAN (R 4.5.2) | |Rcpp |1.1.1 |2026-01-10 |CRAN (R 4.5.2) |
@ -200,7 +196,6 @@
|sessioninfo |1.2.3 |2025-02-05 |CRAN (R 4.5.0) | |sessioninfo |1.2.3 |2025-02-05 |CRAN (R 4.5.0) |
|shiny |1.13.0 |2026-02-20 |CRAN (R 4.5.2) | |shiny |1.13.0 |2026-02-20 |CRAN (R 4.5.2) |
|shiny.i18n |0.3.0 |2023-01-16 |CRAN (R 4.5.0) | |shiny.i18n |0.3.0 |2023-01-16 |CRAN (R 4.5.0) |
|shiny2docker |0.0.3 |2025-06-28 |CRAN (R 4.5.0) |
|shinybusy |0.3.3 |2024-03-09 |CRAN (R 4.5.0) | |shinybusy |0.3.3 |2024-03-09 |CRAN (R 4.5.0) |
|shinyjs |2.1.1 |2026-01-15 |CRAN (R 4.5.2) | |shinyjs |2.1.1 |2026-01-15 |CRAN (R 4.5.2) |
|shinyTime |1.0.3 |2022-08-19 |CRAN (R 4.5.0) | |shinyTime |1.0.3 |2022-08-19 |CRAN (R 4.5.0) |
@ -218,12 +213,13 @@
|tidyselect |1.2.1 |2024-03-11 |CRAN (R 4.5.0) | |tidyselect |1.2.1 |2024-03-11 |CRAN (R 4.5.0) |
|timechange |0.4.0 |2026-01-29 |CRAN (R 4.5.2) | |timechange |0.4.0 |2026-01-29 |CRAN (R 4.5.2) |
|toastui |0.4.0 |2025-04-03 |CRAN (R 4.5.0) | |toastui |0.4.0 |2025-04-03 |CRAN (R 4.5.0) |
|triebeard |0.4.1 |NA |NA |
|tweenr |2.0.3 |2024-02-26 |CRAN (R 4.5.0) | |tweenr |2.0.3 |2024-02-26 |CRAN (R 4.5.0) |
|twosamples |2.0.1 |2023-06-23 |CRAN (R 4.5.0) | |twosamples |2.0.1 |2023-06-23 |CRAN (R 4.5.0) |
|tzdb |0.5.0 |2025-03-15 |CRAN (R 4.5.0) | |tzdb |0.5.0 |2025-03-15 |CRAN (R 4.5.0) |
|urltools |1.7.3.1 |NA |NA |
|usethis |3.2.1 |2025-09-06 |CRAN (R 4.5.0) | |usethis |3.2.1 |2025-09-06 |CRAN (R 4.5.0) |
|uuid |1.2-2 |2026-01-23 |CRAN (R 4.5.2) | |uuid |1.2-2 |2026-01-23 |CRAN (R 4.5.2) |
|V8 |8.0.1 |2025-10-10 |CRAN (R 4.5.0) |
|vctrs |0.7.1 |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) | |viridis |0.6.5 |2024-01-29 |CRAN (R 4.5.0) |
|viridisLite |0.4.3 |2026-02-04 |CRAN (R 4.5.2) | |viridisLite |0.4.3 |2026-02-04 |CRAN (R 4.5.2) |
@ -234,5 +230,4 @@
|xml2 |1.5.2 |2026-01-17 |CRAN (R 4.5.2) | |xml2 |1.5.2 |2026-01-17 |CRAN (R 4.5.2) |
|xtable |1.8-4 |2019-04-21 |CRAN (R 4.5.0) | |xtable |1.8-4 |2019-04-21 |CRAN (R 4.5.0) |
|yaml |2.3.12 |2025-12-10 |CRAN (R 4.5.2) | |yaml |2.3.12 |2025-12-10 |CRAN (R 4.5.2) |
|yesno |0.1.3 |2024-07-26 |CRAN (R 4.5.0) |
|zip |2.3.3 |2025-05-13 |CRAN (R 4.5.0) | |zip |2.3.3 |2025-05-13 |CRAN (R 4.5.0) |

View file

@ -1,7 +1,7 @@
######## ########
#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//Rtmpp0JgLn/file73e17b926733.R #### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpDLoQCo/file14ced11821c07.R
######## ########
i18n_path <- here::here("translations") 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 #### Current file: /Users/au301842/FreesearchR/R//app_version.R
######## ########
app_version <- function()'26.2.2' app_version <- function()'26.3.1'
######## ########
@ -4524,7 +4524,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()'v26.2.2-260223' hosted_version <- function()'v26.3.1-260228'
######## ########
@ -10469,9 +10469,21 @@ custom_theme <- function(...,
primary = FreesearchR_colors("primary"), primary = FreesearchR_colors("primary"),
secondary = FreesearchR_colors("secondary"), secondary = FreesearchR_colors("secondary"),
bootswatch = "united", bootswatch = "united",
base_font = bslib::font_google("Montserrat"), # base_font = bslib::font_google("Montserrat"),
heading_font = bslib::font_google("Public Sans", wght = "700"), base_font = bslib::font_face(
code_font = bslib::font_google("Open Sans"), family = "Montserrat",
src = "url('/fonts/Montserrat-Regular.ttf') format('truetype')"
),
# heading_font = bslib::font_google("Public Sans", wght = "700"),
heading_font = bslib::font_face(
family = "PublicSans",
src = "url('/fonts/PublicSans-Bold.ttf') format('truetype')"
),
# code_font = bslib::font_google("Open Sans"),
code_font = bslib::font_face(
family = "OpenSans",
src = "url('/fonts/OpenSans-Regular.ttf') format('truetype')"
),
success = FreesearchR_colors("success"), success = FreesearchR_colors("success"),
info = FreesearchR_colors("info"), info = FreesearchR_colors("info"),
warning = FreesearchR_colors("warning"), warning = FreesearchR_colors("warning"),
@ -10664,11 +10676,12 @@ ui_elements <- function(selection) {
), ),
# shiny::tags$script('document.querySelector("#source div").style.width = "100%"'), # shiny::tags$script('document.querySelector("#source div").style.width = "100%"'),
## Update this to change depending on run locally or hosted ## Update this to change depending on run locally or hosted
shiny::helpText( shiny::uiOutput(outputId = "data_sample_text"),
i18n$t( # shiny::helpText(
"Upload a file, get data directly from REDCap or use local or sample data." # i18n$t(
) # "Upload a file, get data directly from REDCap or use local or sample data."
), # )
# ),
shiny::br(), shiny::br(),
shiny::br(), shiny::br(),
shiny::conditionalPanel( shiny::conditionalPanel(
@ -13496,16 +13509,6 @@ ui <- bslib::page_fixed(
#### Current file: /Users/au301842/FreesearchR/app/server.R #### Current file: /Users/au301842/FreesearchR/app/server.R
######## ########
data("mtcars")
data("iris")
# trial <- gtsummary::trial
# starwars <- dplyr::starwars
#
# mtcars_na <- rbind(mtcars,NA,NA)
# thematic::thematic_shiny()
load_data <- function() { load_data <- function() {
Sys.sleep(1) Sys.sleep(1)
shinyjs::hide("loading_page") shinyjs::hide("loading_page")
@ -13544,7 +13547,6 @@ server <- function(input, output, session) {
# session$setCurrentTheme(bs_theme_update(theme = custom_theme(version = 5, bg = "#000",fg="#fff"))) # session$setCurrentTheme(bs_theme_update(theme = custom_theme(version = 5, bg = "#000",fg="#fff")))
# }) # })
############################################################################## ##############################################################################
######### #########
######### Setting reactive values ######### Setting reactive values
@ -13637,16 +13639,33 @@ server <- function(input, output, session) {
# ), # ),
# selected = "file" # selected = "file"
# ) # )
if (isTRUE(global_freesearchR$include_globalenv)) {
env_label <- i18n$t("Local or sample data")
output$data_sample_text <- shiny::renderText(shiny::helpText(
i18n$t(
"Upload a file, get data directly from REDCap or use local or sample data."
)
))
} else {
env_label <- i18n$t("Sample data")
output$data_sample_text <- shiny::renderUI(shiny::helpText(
i18n$t(
"Upload a file, get data directly from REDCap or use sample data."
)
))
}
shiny::updateSelectInput(inputId = "source", choices = setNames(c("file", "redcap", "env"), c( shiny::updateSelectInput(inputId = "source", choices = setNames(c("file", "redcap", "env"), c(
i18n$t("File upload"), i18n$t("File upload"),
i18n$t("REDCap server export"), i18n$t("REDCap server export"),
i18n$t("Local or sample data") env_label
# i18n$t("Local or sample data")
))) )))
# output$intro_text <- renderUI(includeHTML(i18n$t("www/intro.html"))) # output$intro_text <- renderUI(includeHTML(i18n$t("www/intro.html")))
}) })
shiny::observeEvent(input$language_select, { shiny::observeEvent(input$language_select, {
bslib::accordion_panel_update(id = "acc_chars", bslib::accordion_panel_update(id = "acc_chars",
title = i18n$t("Settings"), title = i18n$t("Settings"),
@ -13659,12 +13678,10 @@ server <- function(input, output, session) {
target = "acc_pan_mis") target = "acc_pan_mis")
}) })
output$redcap_warning <- shiny::renderUI({ output$redcap_warning <- shiny::renderUI({
rv_alerts$redcap_alert rv_alerts$redcap_alert
}) })
############################################################################## ##############################################################################
######### #########
######### Data import section ######### Data import section
@ -13798,7 +13815,6 @@ server <- function(input, output, session) {
rv$data_original <- temp_data |> rv$data_original <- temp_data |>
default_parsing() default_parsing()
} }
}, },
ignoreNULL = FALSE ignoreNULL = FALSE
) )
@ -13861,14 +13877,14 @@ server <- function(input, output, session) {
shiny::observeEvent(list(rv$data_original, rv$data), { shiny::observeEvent(list(rv$data_original, rv$data), {
if (is.null(rv$data_original) | if (is.null(rv$data_original) |
NROW(rv$data_original) == 0 | NROW(rv$data_original) == 0 |
is.null(rv$data) | !any(is_splittable(rv$data))) { is.null(rv$data) |
!any(is_splittable(rv$data))) {
shiny::updateActionButton(inputId = "modal_string", disabled = TRUE) shiny::updateActionButton(inputId = "modal_string", disabled = TRUE)
} else if (!is.null(rv$data) && any(is_splittable(rv$data))) { } else if (!is.null(rv$data) && any(is_splittable(rv$data))) {
shiny::updateActionButton(inputId = "modal_string", disabled = FALSE) shiny::updateActionButton(inputId = "modal_string", disabled = FALSE)
} }
}) })
############################################################################## ##############################################################################
######### #########
######### Data modification section ######### Data modification section
@ -13893,7 +13909,6 @@ server <- function(input, output, session) {
} }
}, ignoreNULL = TRUE) }, ignoreNULL = TRUE)
shiny::observeEvent(input$data_reset, { shiny::observeEvent(input$data_reset, {
shinyWidgets::ask_confirmation( shinyWidgets::ask_confirmation(
cancelOnDismiss = TRUE, cancelOnDismiss = TRUE,
@ -14216,7 +14231,6 @@ server <- function(input, output, session) {
rv$list$table1 <- NULL rv$list$table1 <- NULL
}) })
############################################################################## ##############################################################################
######### #########
######### Code export ######### Code export
@ -14280,19 +14294,18 @@ server <- function(input, output, session) {
)) ))
}) })
## Just a note to self ## Just a note to self
## This is a very rewarding couple of lines marking new insights to dynamically rendering code ## This is a very rewarding couple of lines marking new insights to dynamically rendering code
shiny::observe({ shiny::observe({
shiny::req(rv$regression) shiny::req(rv$regression)
rv$regression()$regression$models |> purrr::imap(\(.x, .i) { rv$regression()$regression$models |>
purrr::imap(\(.x, .i) {
output[[paste0("code_", tolower(.i))]] <- shiny::renderUI({ output[[paste0("code_", tolower(.i))]] <- shiny::renderUI({
prismCodeBlock(paste0(paste("#", .i, "regression model\n"), .x$code_table)) prismCodeBlock(paste0(paste("#", .i, "regression model\n"), .x$code_table))
}) })
}) })
}) })
############################################################################## ##############################################################################
######### #########
######### Data analyses Inputs ######### Data analyses Inputs
@ -14305,7 +14318,8 @@ server <- function(input, output, session) {
selected = "none", selected = "none",
label = i18n$t("Select variable to stratify baseline"), label = i18n$t("Select variable to stratify baseline"),
data = shiny::reactive(rv$data_filtered)(), data = shiny::reactive(rv$data_filtered)(),
col_subset = c("none", names(rv$data_filtered)[unlist(lapply(rv$data_filtered, data_type)) %in% c("dichotomous", "categorical", "ordinal")]) col_subset = c("none", names(rv$data_filtered)[unlist(lapply(rv$data_filtered, data_type)) %in%
c("dichotomous", "categorical", "ordinal")])
) )
}) })
@ -14324,7 +14338,6 @@ server <- function(input, output, session) {
# ) # )
# }) # })
output$detail_level <- shiny::renderUI({ output$detail_level <- shiny::renderUI({
shiny::radioButtons( shiny::radioButtons(
inputId = "detail_level", inputId = "detail_level",
@ -14336,14 +14349,12 @@ server <- function(input, output, session) {
) )
}) })
############################################################################## ##############################################################################
######### #########
######### Descriptive evaluations ######### Descriptive evaluations
######### #########
############################################################################## ##############################################################################
output$data_info_nochar <- shiny::renderUI({ output$data_info_nochar <- shiny::renderUI({
shiny::req(rv$list$data) shiny::req(rv$list$data)
data_description(rv$list$data, data_description(rv$list$data,
@ -14362,14 +14373,12 @@ server <- function(input, output, session) {
# #
# }) # })
shiny::observeEvent(list(input$act_eval), { shiny::observeEvent(list(input$act_eval), {
shiny::req(input$strat_var) shiny::req(input$strat_var)
# shiny::req(input$baseline_theme) # shiny::req(input$baseline_theme)
shiny::req(input$detail_level) shiny::req(input$detail_level)
shiny::req(rv$list$data) shiny::req(rv$list$data)
parameters <- list( parameters <- list(
by.var = input$strat_var, by.var = input$strat_var,
add.p = input$add_p == "yes", add.p = input$add_p == "yes",
@ -14410,7 +14419,6 @@ server <- function(input, output, session) {
# } # }
# ) # )
rv$code$table1 <- glue::glue("FreesearchR::create_baseline(df,{list2str(parameters)})") rv$code$table1 <- glue::glue("FreesearchR::create_baseline(df,{list2str(parameters)})")
}) })
@ -14451,12 +14459,9 @@ server <- function(input, output, session) {
## Missingness evaluation ## Missingness evaluation
rv$missings <- data_missings_server(id = "missingness", rv$missings <- data_missings_server(id = "missingness",
data = shiny::reactive(rv$data_filtered)) data = shiny::reactive(rv$data_filtered))
# shiny::observe({ # shiny::observe({
# req(rv$missings()) # req(rv$missings())
# browser() # browser()
@ -14465,7 +14470,6 @@ server <- function(input, output, session) {
# mcar_validate(data=rv$missings()[["_data"]],outcome = input$missings_var) # mcar_validate(data=rv$missings()[["_data"]],outcome = input$missings_var)
# }) # })
############################################################################## ##############################################################################
######### #########
######### Data visuals ######### Data visuals

View file

@ -314,16 +314,17 @@
"The app contains a selelct number of features and will guide you through key analyses.","Appen indeholder udvalgte funktioner, og guider dig gennem de vigtigste analyser." "The app contains a selelct number of features and will guide you through key analyses.","Appen indeholder udvalgte funktioner, og guider dig gennem de vigtigste analyser."
"Sort by Levels","Sorter efter niveauer" "Sort by Levels","Sorter efter niveauer"
"Reorder factor levels","Omarranger niveauer" "Reorder factor levels","Omarranger niveauer"
"Modify factor levels","Modify factor levels" "Modify factor levels","Ændr kategoriske niveauer"
"Reorder or rename the levels of factor/categorical variables.","Reorder or rename the levels of factor/categorical variables." "Reorder or rename the levels of factor/categorical variables.","Ændr navn eller rækkefølge på kategorisk variabel."
"Maximum number of observations:","Maximum number of observations:" "Maximum number of observations:","Maximale antal observationer:"
"setting to 0 includes all","setting to 0 includes all" "setting to 0 includes all","angiv 0 for at inkludere alle"
"Select a dataset from your environment or sample dataset from a package.","Select a dataset from your environment or sample dataset from a package." "Select a dataset from your environment or sample dataset from a package.","Vælg et datasæt fra din kørende session eller vælg træningsdata."
"Select a sample dataset from a package.","Select a sample dataset from a package." "Select a sample dataset from a package.","Vælg et træningsdatasæt."
"Data ready to be imported!","Data ready to be imported!" "Data ready to be imported!","Data er klar til at blive importeret!"
"Data has %s obs. of %s variables.","Data has %s obs. of %s variables." "Data has %s obs. of %s variables.","Data har %s obs. på %s variabler."
"Data successfully imported!","Data successfully imported!" "Data successfully imported!","Data successfully imported!"
"Click to see data","Click to see data" "Click to see data","Klik for at se data"
"No data present.","No data present." "No data present.","Ingen data tilstede."
"You have provided a complete dataset with no missing values.","You have provided a complete dataset with no missing values." "You have provided a complete dataset with no missing values.","Data er uden manglende observationer."
"Start by loading data.","Start by loading data." "Start by loading data.","Start med at vælge data."
"Sample data","Træningsdata"

1 en da
314 The app contains a selelct number of features and will guide you through key analyses. Appen indeholder udvalgte funktioner, og guider dig gennem de vigtigste analyser.
315 Sort by Levels Sorter efter niveauer
316 Reorder factor levels Omarranger niveauer
317 Modify factor levels Modify factor levels Ændr kategoriske niveauer
318 Reorder or rename the levels of factor/categorical variables. Reorder or rename the levels of factor/categorical variables. Ændr navn eller rækkefølge på kategorisk variabel.
319 Maximum number of observations: Maximum number of observations: Maximale antal observationer:
320 setting to 0 includes all setting to 0 includes all angiv 0 for at inkludere alle
321 Select a dataset from your environment or sample dataset from a package. Select a dataset from your environment or sample dataset from a package. Vælg et datasæt fra din kørende session eller vælg træningsdata.
322 Select a sample dataset from a package. Select a sample dataset from a package. Vælg et træningsdatasæt.
323 Data ready to be imported! Data ready to be imported! Data er klar til at blive importeret!
324 Data has %s obs. of %s variables. Data has %s obs. of %s variables. Data har %s obs. på %s variabler.
325 Data successfully imported! Data successfully imported!
326 Click to see data Click to see data Klik for at se data
327 No data present. No data present. Ingen data tilstede.
328 You have provided a complete dataset with no missing values. You have provided a complete dataset with no missing values. Data er uden manglende observationer.
329 Start by loading data. Start by loading data. Start med at vælge data.
330 Sample data Træningsdata

View file

@ -327,3 +327,4 @@
"No data present.","No data present." "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." "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." "Start by loading data.","Start by loading data."
"Sample data","Sample data"

1 en sw
327 No data present. No data present.
328 You have provided a complete dataset with no missing values. You have provided a complete dataset with no missing values.
329 Start by loading data. Start by loading data.
330 Sample data Sample data

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
######## ########
#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//Rtmpp0JgLn/file73e17f71b1a4.R #### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpDLoQCo/file14ced66223522.R
######## ########
i18n_path <- system.file("translations", package = "FreesearchR") i18n_path <- system.file("translations", package = "FreesearchR")
@ -72,7 +72,7 @@ if (!"global_freesearchR" %in% ls(name = globalenv())) {
#### Current file: /Users/au301842/FreesearchR/R//app_version.R #### Current file: /Users/au301842/FreesearchR/R//app_version.R
######## ########
app_version <- function()'26.2.2' app_version <- function()'26.3.1'
######## ########
@ -4524,7 +4524,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()'v26.2.2-260223' hosted_version <- function()'v26.3.1-260228'
######## ########
@ -10469,9 +10469,21 @@ custom_theme <- function(...,
primary = FreesearchR_colors("primary"), primary = FreesearchR_colors("primary"),
secondary = FreesearchR_colors("secondary"), secondary = FreesearchR_colors("secondary"),
bootswatch = "united", bootswatch = "united",
base_font = bslib::font_google("Montserrat"), # base_font = bslib::font_google("Montserrat"),
heading_font = bslib::font_google("Public Sans", wght = "700"), base_font = bslib::font_face(
code_font = bslib::font_google("Open Sans"), family = "Montserrat",
src = "url('/fonts/Montserrat-Regular.ttf') format('truetype')"
),
# heading_font = bslib::font_google("Public Sans", wght = "700"),
heading_font = bslib::font_face(
family = "PublicSans",
src = "url('/fonts/PublicSans-Bold.ttf') format('truetype')"
),
# code_font = bslib::font_google("Open Sans"),
code_font = bslib::font_face(
family = "OpenSans",
src = "url('/fonts/OpenSans-Regular.ttf') format('truetype')"
),
success = FreesearchR_colors("success"), success = FreesearchR_colors("success"),
info = FreesearchR_colors("info"), info = FreesearchR_colors("info"),
warning = FreesearchR_colors("warning"), warning = FreesearchR_colors("warning"),
@ -10664,11 +10676,12 @@ ui_elements <- function(selection) {
), ),
# shiny::tags$script('document.querySelector("#source div").style.width = "100%"'), # shiny::tags$script('document.querySelector("#source div").style.width = "100%"'),
## Update this to change depending on run locally or hosted ## Update this to change depending on run locally or hosted
shiny::helpText( shiny::uiOutput(outputId = "data_sample_text"),
i18n$t( # shiny::helpText(
"Upload a file, get data directly from REDCap or use local or sample data." # i18n$t(
) # "Upload a file, get data directly from REDCap or use local or sample data."
), # )
# ),
shiny::br(), shiny::br(),
shiny::br(), shiny::br(),
shiny::conditionalPanel( shiny::conditionalPanel(
@ -13496,16 +13509,6 @@ ui <- bslib::page_fixed(
#### Current file: /Users/au301842/FreesearchR/app/server.R #### Current file: /Users/au301842/FreesearchR/app/server.R
######## ########
data("mtcars")
data("iris")
# trial <- gtsummary::trial
# starwars <- dplyr::starwars
#
# mtcars_na <- rbind(mtcars,NA,NA)
# thematic::thematic_shiny()
load_data <- function() { load_data <- function() {
Sys.sleep(1) Sys.sleep(1)
shinyjs::hide("loading_page") shinyjs::hide("loading_page")
@ -13544,7 +13547,6 @@ server <- function(input, output, session) {
# session$setCurrentTheme(bs_theme_update(theme = custom_theme(version = 5, bg = "#000",fg="#fff"))) # session$setCurrentTheme(bs_theme_update(theme = custom_theme(version = 5, bg = "#000",fg="#fff")))
# }) # })
############################################################################## ##############################################################################
######### #########
######### Setting reactive values ######### Setting reactive values
@ -13637,16 +13639,33 @@ server <- function(input, output, session) {
# ), # ),
# selected = "file" # selected = "file"
# ) # )
if (isTRUE(global_freesearchR$include_globalenv)) {
env_label <- i18n$t("Local or sample data")
output$data_sample_text <- shiny::renderText(shiny::helpText(
i18n$t(
"Upload a file, get data directly from REDCap or use local or sample data."
)
))
} else {
env_label <- i18n$t("Sample data")
output$data_sample_text <- shiny::renderUI(shiny::helpText(
i18n$t(
"Upload a file, get data directly from REDCap or use sample data."
)
))
}
shiny::updateSelectInput(inputId = "source", choices = setNames(c("file", "redcap", "env"), c( shiny::updateSelectInput(inputId = "source", choices = setNames(c("file", "redcap", "env"), c(
i18n$t("File upload"), i18n$t("File upload"),
i18n$t("REDCap server export"), i18n$t("REDCap server export"),
i18n$t("Local or sample data") env_label
# i18n$t("Local or sample data")
))) )))
# output$intro_text <- renderUI(includeHTML(i18n$t("www/intro.html"))) # output$intro_text <- renderUI(includeHTML(i18n$t("www/intro.html")))
}) })
shiny::observeEvent(input$language_select, { shiny::observeEvent(input$language_select, {
bslib::accordion_panel_update(id = "acc_chars", bslib::accordion_panel_update(id = "acc_chars",
title = i18n$t("Settings"), title = i18n$t("Settings"),
@ -13659,12 +13678,10 @@ server <- function(input, output, session) {
target = "acc_pan_mis") target = "acc_pan_mis")
}) })
output$redcap_warning <- shiny::renderUI({ output$redcap_warning <- shiny::renderUI({
rv_alerts$redcap_alert rv_alerts$redcap_alert
}) })
############################################################################## ##############################################################################
######### #########
######### Data import section ######### Data import section
@ -13798,7 +13815,6 @@ server <- function(input, output, session) {
rv$data_original <- temp_data |> rv$data_original <- temp_data |>
default_parsing() default_parsing()
} }
}, },
ignoreNULL = FALSE ignoreNULL = FALSE
) )
@ -13861,14 +13877,14 @@ server <- function(input, output, session) {
shiny::observeEvent(list(rv$data_original, rv$data), { shiny::observeEvent(list(rv$data_original, rv$data), {
if (is.null(rv$data_original) | if (is.null(rv$data_original) |
NROW(rv$data_original) == 0 | NROW(rv$data_original) == 0 |
is.null(rv$data) | !any(is_splittable(rv$data))) { is.null(rv$data) |
!any(is_splittable(rv$data))) {
shiny::updateActionButton(inputId = "modal_string", disabled = TRUE) shiny::updateActionButton(inputId = "modal_string", disabled = TRUE)
} else if (!is.null(rv$data) && any(is_splittable(rv$data))) { } else if (!is.null(rv$data) && any(is_splittable(rv$data))) {
shiny::updateActionButton(inputId = "modal_string", disabled = FALSE) shiny::updateActionButton(inputId = "modal_string", disabled = FALSE)
} }
}) })
############################################################################## ##############################################################################
######### #########
######### Data modification section ######### Data modification section
@ -13893,7 +13909,6 @@ server <- function(input, output, session) {
} }
}, ignoreNULL = TRUE) }, ignoreNULL = TRUE)
shiny::observeEvent(input$data_reset, { shiny::observeEvent(input$data_reset, {
shinyWidgets::ask_confirmation( shinyWidgets::ask_confirmation(
cancelOnDismiss = TRUE, cancelOnDismiss = TRUE,
@ -14216,7 +14231,6 @@ server <- function(input, output, session) {
rv$list$table1 <- NULL rv$list$table1 <- NULL
}) })
############################################################################## ##############################################################################
######### #########
######### Code export ######### Code export
@ -14280,19 +14294,18 @@ server <- function(input, output, session) {
)) ))
}) })
## Just a note to self ## Just a note to self
## This is a very rewarding couple of lines marking new insights to dynamically rendering code ## This is a very rewarding couple of lines marking new insights to dynamically rendering code
shiny::observe({ shiny::observe({
shiny::req(rv$regression) shiny::req(rv$regression)
rv$regression()$regression$models |> purrr::imap(\(.x, .i) { rv$regression()$regression$models |>
purrr::imap(\(.x, .i) {
output[[paste0("code_", tolower(.i))]] <- shiny::renderUI({ output[[paste0("code_", tolower(.i))]] <- shiny::renderUI({
prismCodeBlock(paste0(paste("#", .i, "regression model\n"), .x$code_table)) prismCodeBlock(paste0(paste("#", .i, "regression model\n"), .x$code_table))
}) })
}) })
}) })
############################################################################## ##############################################################################
######### #########
######### Data analyses Inputs ######### Data analyses Inputs
@ -14305,7 +14318,8 @@ server <- function(input, output, session) {
selected = "none", selected = "none",
label = i18n$t("Select variable to stratify baseline"), label = i18n$t("Select variable to stratify baseline"),
data = shiny::reactive(rv$data_filtered)(), data = shiny::reactive(rv$data_filtered)(),
col_subset = c("none", names(rv$data_filtered)[unlist(lapply(rv$data_filtered, data_type)) %in% c("dichotomous", "categorical", "ordinal")]) col_subset = c("none", names(rv$data_filtered)[unlist(lapply(rv$data_filtered, data_type)) %in%
c("dichotomous", "categorical", "ordinal")])
) )
}) })
@ -14324,7 +14338,6 @@ server <- function(input, output, session) {
# ) # )
# }) # })
output$detail_level <- shiny::renderUI({ output$detail_level <- shiny::renderUI({
shiny::radioButtons( shiny::radioButtons(
inputId = "detail_level", inputId = "detail_level",
@ -14336,14 +14349,12 @@ server <- function(input, output, session) {
) )
}) })
############################################################################## ##############################################################################
######### #########
######### Descriptive evaluations ######### Descriptive evaluations
######### #########
############################################################################## ##############################################################################
output$data_info_nochar <- shiny::renderUI({ output$data_info_nochar <- shiny::renderUI({
shiny::req(rv$list$data) shiny::req(rv$list$data)
data_description(rv$list$data, data_description(rv$list$data,
@ -14362,14 +14373,12 @@ server <- function(input, output, session) {
# #
# }) # })
shiny::observeEvent(list(input$act_eval), { shiny::observeEvent(list(input$act_eval), {
shiny::req(input$strat_var) shiny::req(input$strat_var)
# shiny::req(input$baseline_theme) # shiny::req(input$baseline_theme)
shiny::req(input$detail_level) shiny::req(input$detail_level)
shiny::req(rv$list$data) shiny::req(rv$list$data)
parameters <- list( parameters <- list(
by.var = input$strat_var, by.var = input$strat_var,
add.p = input$add_p == "yes", add.p = input$add_p == "yes",
@ -14410,7 +14419,6 @@ server <- function(input, output, session) {
# } # }
# ) # )
rv$code$table1 <- glue::glue("FreesearchR::create_baseline(df,{list2str(parameters)})") rv$code$table1 <- glue::glue("FreesearchR::create_baseline(df,{list2str(parameters)})")
}) })
@ -14451,12 +14459,9 @@ server <- function(input, output, session) {
## Missingness evaluation ## Missingness evaluation
rv$missings <- data_missings_server(id = "missingness", rv$missings <- data_missings_server(id = "missingness",
data = shiny::reactive(rv$data_filtered)) data = shiny::reactive(rv$data_filtered))
# shiny::observe({ # shiny::observe({
# req(rv$missings()) # req(rv$missings())
# browser() # browser()
@ -14465,7 +14470,6 @@ server <- function(input, output, session) {
# mcar_validate(data=rv$missings()[["_data"]],outcome = input$missings_var) # mcar_validate(data=rv$missings()[["_data"]],outcome = input$missings_var)
# }) # })
############################################################################## ##############################################################################
######### #########
######### Data visuals ######### Data visuals

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -314,16 +314,17 @@
"The app contains a selelct number of features and will guide you through key analyses.","Appen indeholder udvalgte funktioner, og guider dig gennem de vigtigste analyser." "The app contains a selelct number of features and will guide you through key analyses.","Appen indeholder udvalgte funktioner, og guider dig gennem de vigtigste analyser."
"Sort by Levels","Sorter efter niveauer" "Sort by Levels","Sorter efter niveauer"
"Reorder factor levels","Omarranger niveauer" "Reorder factor levels","Omarranger niveauer"
"Modify factor levels","Modify factor levels" "Modify factor levels","Ændr kategoriske niveauer"
"Reorder or rename the levels of factor/categorical variables.","Reorder or rename the levels of factor/categorical variables." "Reorder or rename the levels of factor/categorical variables.","Ændr navn eller rækkefølge på kategorisk variabel."
"Maximum number of observations:","Maximum number of observations:" "Maximum number of observations:","Maximale antal observationer:"
"setting to 0 includes all","setting to 0 includes all" "setting to 0 includes all","angiv 0 for at inkludere alle"
"Select a dataset from your environment or sample dataset from a package.","Select a dataset from your environment or sample dataset from a package." "Select a dataset from your environment or sample dataset from a package.","Vælg et datasæt fra din kørende session eller vælg træningsdata."
"Select a sample dataset from a package.","Select a sample dataset from a package." "Select a sample dataset from a package.","Vælg et træningsdatasæt."
"Data ready to be imported!","Data ready to be imported!" "Data ready to be imported!","Data er klar til at blive importeret!"
"Data has %s obs. of %s variables.","Data has %s obs. of %s variables." "Data has %s obs. of %s variables.","Data har %s obs. på %s variabler."
"Data successfully imported!","Data successfully imported!" "Data successfully imported!","Data successfully imported!"
"Click to see data","Click to see data" "Click to see data","Klik for at se data"
"No data present.","No data present." "No data present.","Ingen data tilstede."
"You have provided a complete dataset with no missing values.","You have provided a complete dataset with no missing values." "You have provided a complete dataset with no missing values.","Data er uden manglende observationer."
"Start by loading data.","Start by loading data." "Start by loading data.","Start med at vælge data."
"Sample data","Træningsdata"

1 en da
314 The app contains a selelct number of features and will guide you through key analyses. Appen indeholder udvalgte funktioner, og guider dig gennem de vigtigste analyser.
315 Sort by Levels Sorter efter niveauer
316 Reorder factor levels Omarranger niveauer
317 Modify factor levels Modify factor levels Ændr kategoriske niveauer
318 Reorder or rename the levels of factor/categorical variables. Reorder or rename the levels of factor/categorical variables. Ændr navn eller rækkefølge på kategorisk variabel.
319 Maximum number of observations: Maximum number of observations: Maximale antal observationer:
320 setting to 0 includes all setting to 0 includes all angiv 0 for at inkludere alle
321 Select a dataset from your environment or sample dataset from a package. Select a dataset from your environment or sample dataset from a package. Vælg et datasæt fra din kørende session eller vælg træningsdata.
322 Select a sample dataset from a package. Select a sample dataset from a package. Vælg et træningsdatasæt.
323 Data ready to be imported! Data ready to be imported! Data er klar til at blive importeret!
324 Data has %s obs. of %s variables. Data has %s obs. of %s variables. Data har %s obs. på %s variabler.
325 Data successfully imported! Data successfully imported!
326 Click to see data Click to see data Klik for at se data
327 No data present. No data present. Ingen data tilstede.
328 You have provided a complete dataset with no missing values. You have provided a complete dataset with no missing values. Data er uden manglende observationer.
329 Start by loading data. Start by loading data. Start med at vælge data.
330 Sample data Træningsdata

View file

@ -327,3 +327,4 @@
"No data present.","No data present." "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." "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." "Start by loading data.","Start by loading data."
"Sample data","Sample data"

1 en sw
327 No data present. No data present.
328 You have provided a complete dataset with no missing values. You have provided a complete dataset with no missing values.
329 Start by loading data. Start by loading data.
330 Sample data Sample data

View file

@ -10,9 +10,12 @@ custom_theme(
primary = FreesearchR_colors("primary"), primary = FreesearchR_colors("primary"),
secondary = FreesearchR_colors("secondary"), secondary = FreesearchR_colors("secondary"),
bootswatch = "united", bootswatch = "united",
base_font = bslib::font_google("Montserrat"), base_font = bslib::font_face(family = "Montserrat", src =
heading_font = bslib::font_google("Public Sans", wght = "700"), "url('/fonts/Montserrat-Regular.ttf') format('truetype')"),
code_font = bslib::font_google("Open Sans"), heading_font = bslib::font_face(family = "PublicSans", src =
"url('/fonts/PublicSans-Bold.ttf') format('truetype')"),
code_font = bslib::font_face(family = "OpenSans", src =
"url('/fonts/OpenSans-Regular.ttf') format('truetype')"),
success = FreesearchR_colors("success"), success = FreesearchR_colors("success"),
info = FreesearchR_colors("info"), info = FreesearchR_colors("info"),
warning = FreesearchR_colors("warning"), warning = FreesearchR_colors("warning"),