From a167cb8ace6834a973b1bee73d36bf04a0c6a017 Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Fri, 16 May 2025 15:11:26 +0200 Subject: [PATCH 1/8] Note on maximum file size at 5 mb --- R/import-file-ext.R | 2 +- SESSION.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/R/import-file-ext.R b/R/import-file-ext.R index 5298ec49..1eba71ac 100644 --- a/R/import-file-ext.R +++ b/R/import-file-ext.R @@ -83,7 +83,7 @@ import_file_ui <- function(id, inputId = ns("file"), label = datamods:::i18n("Upload a file:"), buttonLabel = datamods:::i18n("Browse..."), - placeholder = datamods:::i18n("No file selected"), + placeholder = datamods:::i18n("No file selected; maximum file size is 5 mb"), accept = file_extensions, width = "100%", ## A solution to allow multiple file upload is being considered diff --git a/SESSION.md b/SESSION.md index 9dd0b555..227cb131 100644 --- a/SESSION.md +++ b/SESSION.md @@ -160,6 +160,7 @@ |R6 |2.6.1 |2025-02-15 |CRAN (R 4.4.1) | |ragg |1.4.0 |2025-04-10 |CRAN (R 4.4.1) | |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.3 |2024-10-04 |CRAN (R 4.4.1) | |RColorBrewer |1.1-3 |2022-04-03 |CRAN (R 4.4.1) | |Rcpp |1.0.14 |2025-01-12 |CRAN (R 4.4.1) | From 7144854e39bed42eda76c15388130e1e18bfbbc0 Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Fri, 16 May 2025 15:36:08 +0200 Subject: [PATCH 2/8] ref functions --- R/create-column-mod.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R/create-column-mod.R b/R/create-column-mod.R index 0bc24026..f82aba1d 100644 --- a/R/create-column-mod.R +++ b/R/create-column-mod.R @@ -187,7 +187,7 @@ create_column_server <- function(id, if (input$new_column == "") { rv$feedback <- shinyWidgets::alert( status = "warning", - ph("warning"), datamods::i18n("New column name cannot be empty") + phosphoricons::ph("warning"), datamods::i18n("New column name cannot be empty") ) } }) @@ -351,7 +351,7 @@ try_compute_column <- function(expression, ) shinyWidgets::alert( status = "success", - ph("check"), datamods::i18n("Column added!") + phosphoricons::ph("check"), datamods::i18n("Column added!") ) } @@ -374,7 +374,7 @@ extract_calls <- function(exp) { alert_error <- function(text) { alert( status = "danger", - ph("bug"), text + phosphoricons::ph("bug"), text ) } From 807c606b4c83db53be8ffca23d7388d402f4f16e Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Fri, 16 May 2025 16:07:29 +0200 Subject: [PATCH 3/8] updated text --- inst/apps/FreesearchR/www/intro.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/inst/apps/FreesearchR/www/intro.md b/inst/apps/FreesearchR/www/intro.md index f1432c8b..0b644dcf 100644 --- a/inst/apps/FreesearchR/www/intro.md +++ b/inst/apps/FreesearchR/www/intro.md @@ -1,20 +1,18 @@ # Welcome -This is the ***FreesearchR*** data analysis tool. We intend the ***FreesearchR*** to be a powerful and free tool for easy data evaluation and analysis at the hands of the clinician. If you need more advanced tools for regression models or plotting, you'll probably be better off using *R* or similar directly on your own machine. - -By intention, this tool has been designed to be simple to use with a minimum of mandatory options to keep the workflow streamlined, while also including a few options to go even further. +This is the ***FreesearchR*** data analysis tool. We intend ***FreesearchR*** to be a free tool for easy data evaluation and analysis. If you need more advanced tools, start with ***FreesearchR*** and then you'll probably be better off using *R* or similar directly. Here is a brief summary of the functions: -1. Import data to get started. This can be a spreadsheet/file on your machine, direct export from a REDCap server, sample data or data from a your local environment if run locally. +1. **Import data** from a spreadsheet/file on your machine, direct export from a REDCap server, sample data or data from a your local environment if run locally. -1. Data inspection and modification (change variable classes, create new variables (categorical from numeric or time data, or completely new variables from the data) +1. **Data inspection** and **modification** like modifying variables or creating new (categorical from numeric or time data, or completely new variables from the data) -1. Evaluate data using descriptive analyses methods and inspect cross-correlations +1. **Evaluate data** using descriptive analyses methods and inspect cross-correlations -1. Create and export simple, clean plots for data overview and insights. +1. **Create and export simple, clean plots** for data overview and insights -1. Create regression models for even more advanced data analyses +1. **Create regression simple models** for even more advanced data analyses - Linear, dichotomous or ordinal logistic regression will be used depending on specified outcome variable @@ -22,7 +20,7 @@ Here is a brief summary of the functions: - Evaluate model assumptions -1. Export results +1. **Export results** - Descriptive and regression analyses results for MS Word or [LibreOffice](https://www.libreoffice.org/) From a05c993c8ccdfcbaa8a7e2a2f77637a7bf34238f Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Fri, 16 May 2025 16:07:50 +0200 Subject: [PATCH 4/8] sligth rewording --- inst/apps/FreesearchR/www/report.rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/apps/FreesearchR/www/report.rmd b/inst/apps/FreesearchR/www/report.rmd index 9a2013b3..7f7c61f6 100644 --- a/inst/apps/FreesearchR/www/report.rmd +++ b/inst/apps/FreesearchR/www/report.rmd @@ -43,7 +43,7 @@ vec2sentence <- function(data, sep.word = "and") { ## Introduction -Research should be free and open with easy access for all. The FreesearchR tool attempts to help lower the bar to participate in contributing to science by making guided data analysis easily accessible in the web-browser. +Research should be free and open with easy access for all. The *FreesearchR* tool attempts to help lower the bar to participate in research by making basic data exploration and analyses easily accessible. ## Methods From 3e5f99826397c02c1b671abeeb10292a669a1625 Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Fri, 16 May 2025 16:08:52 +0200 Subject: [PATCH 5/8] catching missed functions --- R/update-factor-ext.R | 26 +++---- inst/apps/FreesearchR/app.R | 131 ++++++++++++++++++++---------------- 2 files changed, 85 insertions(+), 72 deletions(-) diff --git a/R/update-factor-ext.R b/R/update-factor-ext.R index 3fd4719e..014f854b 100644 --- a/R/update-factor-ext.R +++ b/R/update-factor-ext.R @@ -45,8 +45,8 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_levels"), label = tagList( - ph("sort-ascending"), - i18n("Sort by levels") + phosphoricons::ph("sort-ascending"), + datamods:::i18n("Sort by levels") ), class = "btn-outline-primary mb-3", width = "100%" @@ -58,8 +58,8 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_occurrences"), label = tagList( - ph("sort-ascending"), - i18n("Sort by count") + phosphoricons::ph("sort-ascending"), + datamods:::i18n("Sort by count") ), class = "btn-outline-primary mb-3", width = "100%" @@ -71,7 +71,7 @@ update_factor_ui <- function(id) { class = "float-end", shinyWidgets::prettyCheckbox( inputId = ns("new_var"), - label = i18n("Create a new variable (otherwise replaces the one selected)"), + label = datamods:::i18n("Create a new variable (otherwise replaces the one selected)"), value = FALSE, status = "primary", outline = TRUE, @@ -79,7 +79,7 @@ update_factor_ui <- function(id) { ), actionButton( inputId = ns("create"), - label = tagList(ph("arrow-clockwise"), i18n("Update factor variable")), + label = tagList(phosphoricons::ph("arrow-clockwise"), datamods:::i18n("Update factor variable")), class = "btn-outline-primary" ) ), @@ -127,13 +127,13 @@ update_factor_server <- function(id, data_r = reactive(NULL)) { if (input$sort_levels %% 2 == 1) { decreasing <- FALSE label <- tagList( - ph("sort-descending"), + phosphoricons::ph("sort-descending"), "Sort Levels" ) } else { decreasing <- TRUE label <- tagList( - ph("sort-ascending"), + phosphoricons::ph("sort-ascending"), "Sort Levels" ) } @@ -145,14 +145,14 @@ update_factor_server <- function(id, data_r = reactive(NULL)) { if (input$sort_occurrences %% 2 == 1) { decreasing <- FALSE label <- tagList( - ph("sort-descending"), - i18n("Sort count") + phosphoricons::ph("sort-descending"), + datamods:::i18n("Sort count") ) } else { decreasing <- TRUE label <- tagList( - ph("sort-ascending"), - i18n("Sort count") + phosphoricons::ph("sort-ascending"), + datamods:::i18n("Sort count") ) } updateActionButton(inputId = "sort_occurrences", label = as.character(label)) @@ -179,7 +179,7 @@ update_factor_server <- function(id, data_r = reactive(NULL)) { grid <- grid_columns( grid, columns = c("Var1", "Var1_toset", "Freq"), - header = c(i18n("Levels"), "New label", i18n("Count")) + header = c(datamods:::i18n("Levels"), "New label", datamods:::i18n("Count")) ) grid <- grid_colorbar( grid, diff --git a/inst/apps/FreesearchR/app.R b/inst/apps/FreesearchR/app.R index be0bb4da..7c4c89f1 100644 --- a/inst/apps/FreesearchR/app.R +++ b/inst/apps/FreesearchR/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /Users/au301842/FreesearchR/app/libs.R +#### Current file: /Users/au301842/FreesearchR/app/libs.R ######## library(shiny) @@ -40,20 +40,20 @@ library(rlang) ######## -#### Current file: /Users/au301842/FreesearchR/app/functions.R +#### Current file: /Users/au301842/FreesearchR/app/functions.R ######## ######## -#### Current file: /Users/au301842/FreesearchR/R//app_version.R +#### Current file: /Users/au301842/FreesearchR/R//app_version.R ######## app_version <- function()'25.5.5' ######## -#### Current file: /Users/au301842/FreesearchR/R//baseline_table.R +#### Current file: /Users/au301842/FreesearchR/R//baseline_table.R ######## #' Print a flexible baseline characteristics table @@ -138,7 +138,7 @@ create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALS ######## -#### Current file: /Users/au301842/FreesearchR/R//contrast_text.R +#### Current file: /Users/au301842/FreesearchR/R//contrast_text.R ######## #' @title Contrast Text Color @@ -194,7 +194,7 @@ contrast_text <- function(background, ######## -#### Current file: /Users/au301842/FreesearchR/R//correlations-module.R +#### Current file: /Users/au301842/FreesearchR/R//correlations-module.R ######## #' Data correlations evaluation module @@ -339,7 +339,7 @@ sentence_paste <- function(data, and.str = "and") { ######## -#### Current file: /Users/au301842/FreesearchR/R//create-column-mod.R +#### Current file: /Users/au301842/FreesearchR/R//create-column-mod.R ######## #' @title Create new column @@ -531,7 +531,7 @@ create_column_server <- function(id, if (input$new_column == "") { rv$feedback <- shinyWidgets::alert( status = "warning", - ph("warning"), datamods::i18n("New column name cannot be empty") + phosphoricons::ph("warning"), datamods::i18n("New column name cannot be empty") ) } }) @@ -695,7 +695,7 @@ try_compute_column <- function(expression, ) shinyWidgets::alert( status = "success", - ph("check"), datamods::i18n("Column added!") + phosphoricons::ph("check"), datamods::i18n("Column added!") ) } @@ -718,7 +718,7 @@ extract_calls <- function(exp) { alert_error <- function(text) { alert( status = "danger", - ph("bug"), text + phosphoricons::ph("bug"), text ) } @@ -782,7 +782,7 @@ make_choices_with_infos <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//custom_SelectInput.R +#### Current file: /Users/au301842/FreesearchR/R//custom_SelectInput.R ######## #' A selectizeInput customized for data frames with column labels @@ -976,7 +976,7 @@ vectorSelectInput <- function(inputId, ######## -#### Current file: /Users/au301842/FreesearchR/R//cut-variable-dates.R +#### Current file: /Users/au301842/FreesearchR/R//cut-variable-dates.R ######## #' Extended cutting function with fall-back to the native base::cut @@ -1595,7 +1595,7 @@ plot_histogram <- function(data, column=NULL, bins = 30, breaks = NULL, color = ######## -#### Current file: /Users/au301842/FreesearchR/R//data_plots.R +#### Current file: /Users/au301842/FreesearchR/R//data_plots.R ######## # source(here::here("functions.R")) @@ -2415,7 +2415,7 @@ clean_common_axis <- function(p, axis) { ######## -#### Current file: /Users/au301842/FreesearchR/R//data-import.R +#### Current file: /Users/au301842/FreesearchR/R//data-import.R ######## data_import_ui <- function(id) { @@ -2572,7 +2572,7 @@ data_import_demo_app <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//data-summary.R +#### Current file: /Users/au301842/FreesearchR/R//data-summary.R ######## #' Data summary module @@ -2970,7 +2970,7 @@ get_var_icon <- function(data,class.type=c("class","type")){ ######## -#### Current file: /Users/au301842/FreesearchR/R//datagrid-infos-mod.R +#### Current file: /Users/au301842/FreesearchR/R//datagrid-infos-mod.R ######## @@ -3319,7 +3319,7 @@ construct_col_summary <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//helpers.R +#### Current file: /Users/au301842/FreesearchR/R//helpers.R ######## #' Wrapper function to get function from character vector referring to function from namespace. Passed to 'do.call()' @@ -3993,14 +3993,14 @@ simple_snake <- function(data){ ######## -#### Current file: /Users/au301842/FreesearchR/R//hosted_version.R +#### Current file: /Users/au301842/FreesearchR/R//hosted_version.R ######## -hosted_version <- function()'v25.5.5-250514' +hosted_version <- function()'v25.5.5-250516' ######## -#### Current file: /Users/au301842/FreesearchR/R//html_dependency_freesearchr.R +#### Current file: /Users/au301842/FreesearchR/R//html_dependency_freesearchr.R ######## html_dependency_FreesearchR <- function() { @@ -4015,7 +4015,7 @@ html_dependency_FreesearchR <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//import-file-ext.R +#### Current file: /Users/au301842/FreesearchR/R//import-file-ext.R ######## #' @title Import data from a file @@ -4103,7 +4103,7 @@ import_file_ui <- function(id, inputId = ns("file"), label = datamods:::i18n("Upload a file:"), buttonLabel = datamods:::i18n("Browse..."), - placeholder = datamods:::i18n("No file selected"), + placeholder = datamods:::i18n("No file selected; maximum file size is 5 mb"), accept = file_extensions, width = "100%", ## A solution to allow multiple file upload is being considered @@ -4625,7 +4625,7 @@ import_file_demo_app <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//launch_FreesearchR.R +#### Current file: /Users/au301842/FreesearchR/R//launch_FreesearchR.R ######## #' Easily launch the FreesearchR app @@ -4656,7 +4656,7 @@ launch_FreesearchR <- function(...){ ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_box.R +#### Current file: /Users/au301842/FreesearchR/R//plot_box.R ######## #' Beautiful box plot(s) @@ -4742,7 +4742,7 @@ plot_box_single <- function(data, pri, sec=NULL, seed = 2103) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_euler.R +#### Current file: /Users/au301842/FreesearchR/R//plot_euler.R ######## #' Area proportional venn diagrams @@ -4883,7 +4883,7 @@ plot_euler_single <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_hbar.R +#### Current file: /Users/au301842/FreesearchR/R//plot_hbar.R ######## #' Nice horizontal stacked bars (Grotta bars) @@ -4983,7 +4983,7 @@ vertical_stacked_bars <- function(data, ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_ridge.R +#### Current file: /Users/au301842/FreesearchR/R//plot_ridge.R ######## #' Plot nice ridge plot @@ -5017,7 +5017,7 @@ plot_ridge <- function(data, x, y, z = NULL, ...) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_sankey.R +#### Current file: /Users/au301842/FreesearchR/R//plot_sankey.R ######## #' Readying data for sankey plot @@ -5250,7 +5250,7 @@ plot_sankey_single <- function(data, pri, sec, color.group = c("pri", "sec"), co ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_scatter.R +#### Current file: /Users/au301842/FreesearchR/R//plot_scatter.R ######## #' Beautiful violin plot @@ -5285,7 +5285,7 @@ plot_scatter <- function(data, pri, sec, ter = NULL) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_violin.R +#### Current file: /Users/au301842/FreesearchR/R//plot_violin.R ######## #' Beatiful violin plot @@ -5320,7 +5320,7 @@ plot_violin <- function(data, pri, sec, ter = NULL) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot-download-module.R +#### Current file: /Users/au301842/FreesearchR/R//plot-download-module.R ######## plot_download_ui <- regression_ui <- function(id, ...) { @@ -5401,7 +5401,7 @@ plot_download_server <- function(id, ######## -#### Current file: /Users/au301842/FreesearchR/R//redcap_read_shiny_module.R +#### Current file: /Users/au301842/FreesearchR/R//redcap_read_shiny_module.R ######## #' Shiny module to browser and export REDCap data @@ -6096,7 +6096,7 @@ redcap_demo_app <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//regression_model.R +#### Current file: /Users/au301842/FreesearchR/R//regression_model.R ######## #' Create a regression model programatically @@ -6823,7 +6823,7 @@ regression_model_uv_list <- function(data, ######## -#### Current file: /Users/au301842/FreesearchR/R//regression_plot.R +#### Current file: /Users/au301842/FreesearchR/R//regression_plot.R ######## #' Regression coef plot from gtsummary. Slightly modified to pass on arguments @@ -6989,7 +6989,7 @@ symmetrical_scale_x_log10 <- function(plot, breaks = c(1, 2, 3, 5, 10), ...) { ######## -#### Current file: /Users/au301842/FreesearchR/R//regression_table.R +#### Current file: /Users/au301842/FreesearchR/R//regression_table.R ######## #' Create table of regression model @@ -7178,7 +7178,7 @@ tbl_merge <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//regression-module.R +#### Current file: /Users/au301842/FreesearchR/R//regression-module.R ######## ### On rewriting this module @@ -7848,7 +7848,7 @@ regression_server <- function(id, ######## -#### Current file: /Users/au301842/FreesearchR/R//report.R +#### Current file: /Users/au301842/FreesearchR/R//report.R ######## #' Split vector by an index and embed addition @@ -7936,7 +7936,7 @@ modify_qmd <- function(file, format) { ######## -#### Current file: /Users/au301842/FreesearchR/R//syntax_highlight.R +#### Current file: /Users/au301842/FreesearchR/R//syntax_highlight.R ######## ## Inpiration: @@ -7967,7 +7967,7 @@ html_code_wrap <- function(string,lang="r"){ ######## -#### Current file: /Users/au301842/FreesearchR/R//theme.R +#### Current file: /Users/au301842/FreesearchR/R//theme.R ######## #' Custom theme based on unity @@ -8075,7 +8075,7 @@ gg_theme_export <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//update-factor-ext.R +#### Current file: /Users/au301842/FreesearchR/R//update-factor-ext.R ######## @@ -8125,8 +8125,8 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_levels"), label = tagList( - ph("sort-ascending"), - i18n("Sort by levels") + phosphoricons::ph("sort-ascending"), + datamods:::i18n("Sort by levels") ), class = "btn-outline-primary mb-3", width = "100%" @@ -8138,8 +8138,8 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_occurrences"), label = tagList( - ph("sort-ascending"), - i18n("Sort by count") + phosphoricons::ph("sort-ascending"), + datamods:::i18n("Sort by count") ), class = "btn-outline-primary mb-3", width = "100%" @@ -8151,7 +8151,7 @@ update_factor_ui <- function(id) { class = "float-end", shinyWidgets::prettyCheckbox( inputId = ns("new_var"), - label = i18n("Create a new variable (otherwise replaces the one selected)"), + label = datamods:::i18n("Create a new variable (otherwise replaces the one selected)"), value = FALSE, status = "primary", outline = TRUE, @@ -8159,7 +8159,7 @@ update_factor_ui <- function(id) { ), actionButton( inputId = ns("create"), - label = tagList(ph("arrow-clockwise"), i18n("Update factor variable")), + label = tagList(phosphoricons::ph("arrow-clockwise"), datamods:::i18n("Update factor variable")), class = "btn-outline-primary" ) ), @@ -8207,13 +8207,13 @@ update_factor_server <- function(id, data_r = reactive(NULL)) { if (input$sort_levels %% 2 == 1) { decreasing <- FALSE label <- tagList( - ph("sort-descending"), + phosphoricons::ph("sort-descending"), "Sort Levels" ) } else { decreasing <- TRUE label <- tagList( - ph("sort-ascending"), + phosphoricons::ph("sort-ascending"), "Sort Levels" ) } @@ -8225,14 +8225,14 @@ update_factor_server <- function(id, data_r = reactive(NULL)) { if (input$sort_occurrences %% 2 == 1) { decreasing <- FALSE label <- tagList( - ph("sort-descending"), - i18n("Sort count") + phosphoricons::ph("sort-descending"), + datamods:::i18n("Sort count") ) } else { decreasing <- TRUE label <- tagList( - ph("sort-ascending"), - i18n("Sort count") + phosphoricons::ph("sort-ascending"), + datamods:::i18n("Sort count") ) } updateActionButton(inputId = "sort_occurrences", label = as.character(label)) @@ -8259,7 +8259,7 @@ update_factor_server <- function(id, data_r = reactive(NULL)) { grid <- grid_columns( grid, columns = c("Var1", "Var1_toset", "Freq"), - header = c(i18n("Levels"), "New label", i18n("Count")) + header = c(datamods:::i18n("Levels"), "New label", datamods:::i18n("Count")) ) grid <- grid_colorbar( grid, @@ -8372,7 +8372,7 @@ winbox_update_factor <- function(id, ######## -#### Current file: /Users/au301842/FreesearchR/R//update-variables-ext.R +#### Current file: /Users/au301842/FreesearchR/R//update-variables-ext.R ######## #' Select, rename and convert variables @@ -9184,7 +9184,7 @@ clean_date <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//wide2long.R +#### Current file: /Users/au301842/FreesearchR/R//wide2long.R ######## #' Alternative pivoting method for easily pivoting based on name pattern @@ -9343,7 +9343,7 @@ grepl_fix <- function(data, pattern, type = c("prefix", "infix", "suffix")) { ######## -#### Current file: /Users/au301842/FreesearchR/dev/header_include.R +#### Current file: /Users/au301842/FreesearchR/dev/header_include.R ######## header_include <- function(){ @@ -9353,7 +9353,16 @@ header_include <- function(){ ######## -#### Current file: /Users/au301842/FreesearchR/app/ui.R +#### Current file: /Users/au301842/FreesearchR/dev/dev_banner.R +######## + +dev_banner <- function(){ + NULL + } + + +######## +#### Current file: /Users/au301842/FreesearchR/app/ui.R ######## # ns <- NS(id) @@ -9369,6 +9378,10 @@ ui_elements <- list( "home" = bslib::nav_panel( title = "FreesearchR", shiny::fluidRow( + ## On building the dev-version for shinyapps.io, the dev_banner() is redefined + ## Default just output "NULL" + ## This could probably be achieved more legantly, but this works. + dev_banner(), shiny::column(width = 2), shiny::column( width = 8, @@ -9935,7 +9948,7 @@ ui <- bslib::page_fixed( ######## -#### Current file: /Users/au301842/FreesearchR/app/server.R +#### Current file: /Users/au301842/FreesearchR/app/server.R ######## @@ -10686,7 +10699,7 @@ server <- function(input, output, session) { ######## -#### Current file: /Users/au301842/FreesearchR/app/launch.R +#### Current file: /Users/au301842/FreesearchR/app/launch.R ######## shinyApp(ui, server) From 432d27af04da20efb7761e794217eaafe383ac5e Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Fri, 16 May 2025 16:09:04 +0200 Subject: [PATCH 6/8] version bump --- CITATION.cff | 2 +- DESCRIPTION | 2 +- NEWS.md | 8 ++++++++ R/app_version.R | 2 +- R/hosted_version.R | 2 +- R/sysdata.rda | Bin 2654 -> 2682 bytes SESSION.md | 11 ++++++----- 7 files changed, 18 insertions(+), 9 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index b2741aa4..4ceeccf6 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -9,7 +9,7 @@ type: software license: AGPL-3.0-or-later title: 'FreesearchR: A free and open-source browser based data analysis tool for researchers with publication ready output' -version: 25.5.5 +version: 25.5.6 doi: 10.5281/zenodo.14527429 identifiers: - type: url diff --git a/DESCRIPTION b/DESCRIPTION index f245494a..e723fde4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: FreesearchR Title: A free and open-source browser based data analysis tool for researchers with publication ready output -Version: 25.5.5 +Version: 25.5.6 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 44b78379..6534c2d6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,11 @@ +# FreesearchR 25.5.6 + +- *FIX* note on max file size of 5 mb + +- *FIX* added a banner to the dev version on shinyapps.io + +- *FIX* updated intro text + # FreesearchR 25.5.5 - *FIX* several minor bugs and polish diff --git a/R/app_version.R b/R/app_version.R index d4d8dc13..7290e2e0 100644 --- a/R/app_version.R +++ b/R/app_version.R @@ -1 +1 @@ -app_version <- function()'25.5.5' +app_version <- function()'25.5.6' diff --git a/R/hosted_version.R b/R/hosted_version.R index 3cd23688..bf34da5d 100644 --- a/R/hosted_version.R +++ b/R/hosted_version.R @@ -1 +1 @@ -hosted_version <- function()'v25.5.5-250514' +hosted_version <- function()'v25.5.6-250516' diff --git a/R/sysdata.rda b/R/sysdata.rda index 3bc008a0fc218ae037be77704ece1d5e1cde386b..9e821b6c43b289b4e31ea037a121db24a67e3e1b 100644 GIT binary patch literal 2682 zcmV-=3WfDTT4*^jL0KkKS^TC9WB?gTf5iX)Xazw3|KNXb-@w2B|L{Nn06+)<;0xau z9gVHuFM;4vkOLqGJP(iq=o+E$)WiY}8VQPHNYf^xMy5xinLQ?(PyimI)HbGiL8_mT zri5hxH51hRO(XR*Y8fyf4H{@*5uv7xnhj47B}E29Pg6|>CX7aa7$$=R20@^}K_-$U znknTyCYqk32yGzRAjyCUrU4$NCYb@If+

$QlhaGy$Lh00003(@1Cm6jM{xO|?hr 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 Date: Fri, 16 May 2025 16:23:39 +0200 Subject: [PATCH 7/8] caught --- R/create-column-mod.R | 4 ++-- R/sysdata.rda | Bin 2682 -> 2718 bytes SESSION.md | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/R/create-column-mod.R b/R/create-column-mod.R index f82aba1d..22768056 100644 --- a/R/create-column-mod.R +++ b/R/create-column-mod.R @@ -96,7 +96,7 @@ create_column_ui <- function(id) { uiOutput(outputId = ns("columns")), uiOutput(outputId = ns("feedback")), tags$div( - style = css( + style = htmltools::css( display = "grid", gridTemplateColumns = "3fr 1fr", columnGap = "10px", @@ -385,7 +385,7 @@ btn_column <- function(label, data, inputId) { tags$button( type = "button", class = paste0("btn btn-column-", type), - style = css( + style = htmltools::css( "--bs-btn-padding-y" = ".25rem", "--bs-btn-padding-x" = ".5rem", "--bs-btn-font-size" = ".75rem", diff --git a/R/sysdata.rda b/R/sysdata.rda index 9e821b6c43b289b4e31ea037a121db24a67e3e1b..8eef1f3247ebf0619ecd0da06acc73bcdaeadb97 100644 GIT binary patch literal 2718 zcmV;P3Ssp^T4*^jL0KkKS&*Y`TL2m$f5iX)Xazw3|KNXb-@w2B|L{Nn004*q;0zxZ z5aDp}9wJgSQXxY5;0Mu9kTj#iQxF6+XqsXIPfUo(seqvLM$`ZgDAUnBF+wTeXq0Ih zdY-6c(`6bxO#lD@00000H9VRosZ9n(O#lXf000000003dk`XB;PtqgQ4Fe$1000^Q z8UO$TN<$`wfHcvd00001pa1~S01+h#O|++)nwl{TfXDy<00E|eGyutTvA~(iG6{i} zl(yOhQxs8Cm8(K3?`~o&1V+mUU*Gy{=h@H$7-QYq-rY1r_CRwITS`==cwPQ!2C8+2f7)YB?=tn$4?0 zk+Ff%VX&SU(tK>O-yfG&x@iL(pq=>+B#k8FZ7(yT7F&)m`oc)CUm~?;wUcPw{sh02 zAPZ5+Bj_!aM8AQ)9LWexz+YE@1j~bo z9fxZfnHK(gvTu^<*`b_>!!0=O?Lfr<02&g2P&e?)ztqK}%f-c*!0km;PH2Fm6hH|E z1cZb{0c24sD5!_-2qUc(KrGmlWcvz(vF+PBdg7+E0261KpHFICm(!&H5x~OwOW^_$ zjDaM9B0?Z2D#)q`!5I}186b!(g27fn6hRoWDj+C6m%{Hi?1u&UWX44k-qdq8yVtZe zSf-i9wdXGND-_yFm)dAd9W~a>+r{37b47xf$+s0ag-&wXYgEhD=q|U)VN;l8xeq@q z&RMj_jMpwY>dmvg^}|b;v82waFy8YwLcvoTd$^`qQ+EwJ-h~xY6+(@>q?}M;LEn*X z1+qkFy#i!f1hZE<9%X}@mkk682wk}%PC}sqs$x!b6_I(2@1uPvZD6K0kA*FCsbRbrVnhocnL^j|c8+NUu ziiVV`5`b!?T0jb=pj5_nEwvUzjqz$S0W(U~m4U8{XwYxaz$&Qfm5hkN186BL0;?UT zrk+;FBN6?Uy%Mljrg0%sXS1(=;JmiAwp(H=%-(}SB1R-e0LC!`mdI|(Mj`=NfTNZc zML24p@2JO;kA3u#7faz+%yd;2v9z^Cgp#C^(qK7Z+caengR76tO1hzRm<_8@Qok9i z4NfAE_&hBon>?*Na zJe}W1&3xwNa_w>f+DGF34Ke;AzJyIN_4oF*mBf4(@LC8gU<+L6BW?A#$_(uc@S(QX z{Nuty@MzMo8yr>md6`yYxbG+z2hw#31v*cuU>HgZHCjx8i(8n7r|CPZbX+>3l?$OV#!t_83%0j$dA{BpwMzmMrgeIU ztIKr72uNTGu4^H;ZFl%|Wg`Njle|-8vs3U=$2&~>Si)SVxJJdP3uM-#VuE>o&H*DK zwz{J47Z;rQ2{0GT`w(xth=*Z^7f++Y-@+WDD_H-54t~REuZ{N3Mj$*?P_1BvqM%Cq zAi`r=sUgs*Xx9O@RAt{qwdU7Hv!`=L;7To6sW(@gfIy zX{@!NYiw$aL{=H|7BiVm9>ay|=*SAagd+H{LRl6|w5zr3j0i^%NT|W*n`m5ZL=x(j zauKkrHyUWgJ06>T&u%v>bQr^{+Gq=v1&-oOI3{aMgQy^kp!u3{q&3lzkRAvvM&+$t zR2JT{#cbR0P7wr{z@v^Px`D9*BTcow*Vcq%wsf#K2OAr@ntli?#WQ@X3IR^E_|N546T(be={W>~Hi#jzSUKQYCrjmG_-R z_A)hwL$3GXvEz#xP~| zZ&^l8njv+x)SB$MWCG08LwQaIX6>CzuS%?IiHl`=eKmQgIiRJ-tFaJQp5e=0R^4p6 zaxQ5$4f0z(K0Mt`G-+v_(^W$&WQ{yU9fIcd3yB1YTrX(?K*~%cLf2+4w^L`T%Wbsm zCw0v%J%N?75e{G;hk5Eoa)d(%b;d|m&dS&1T@9@dfjEn25x1ipFI0uuyH0g$J@dcG zbZ2#Iy<=3=?21H13AP&1?YV{MTCu^EcXdm-SPPUu&6#mnWnQR5=|Ft*z|i0xiQpj%{Dd9 Yux>!Y+e<{W=b!O+BvXY62?{pVuyou46#xJL literal 2682 zcmV-=3WfDTT4*^jL0KkKS^TC9WB?gTf5iX)Xazw3|KNXb-@w2B|L{Nn06+)<;0xau z9gVHuFM;4vkOLqGJP(iq=o+E$)WiY}8VQPHNYf^xMy5xinLQ?(PyimI)HbGiL8_mT zri5hxH51hRO(XR*Y8fyf4H{@*5uv7xnhj47B}E29Pg6|>CX7aa7$$=R20@^}K_-$U znknTyCYqk32yGzRAjyCUrU4$NCYb@If+

$QlhaGy$Lh00003(@1Cm6jM{xO|?hr zdYMd5QKo|$hK7Iu05PZmhzyt_#_}-|anQWFM5QDVO27)5*(5<;FU3m{L9)UNe1B}X zvgZMWF!1hiaGC;b!kOenBuRquyHVM$IkKP!8UR5Ykgo>+$4>44^}HOV)0`;TH!o=4n-w9AUf)DFR0iuf@jX9#oH0zwH0K zo+WtcqTx|iCr=IQ#eCz1rp!j>uwyhpu|q<5M-$^YyZ(H*V?5wvvI*ai)RCl`**lEp zg_hHdK5(HH3*=TT*0OBdztT(jLIAKj5-1(7~Zi-b_1gHjVvF3nm%M zwKv++j}#2UbSdSo<*0$8&mpk89Mj_nG6w~N8Q$-2XgS3QoZjL=!C5hzoPw&&wnJE` zs=1&c6N*3@GB%7w$Q+GQijlf7fy%U?K>D6$Kc95=cZr3h<&0I8*?z%ZUloDg&2yF}13SYQTye zE}ktt$ia8FlL#Q*Uu>?Rc_aM@Qqd}rfqF_;_p(iO{A%OEg_DY>t=1?b{t_~rr9>)rwCNzi*F}; zrmoOj*A&90@XK-?&Md}hE4FdP$CEV7i?IZz4vGQV8e(O+KrI4DWh_jP){zpJgEIj- zsdYk*MpQQFFrfQnWHFFPcbhXK5GGAz?k->($%hCaff|2;_T1949aif=R3Bt~NPU;<<%L7?Jy~V<|+FGTy z;Up|F+Q~(p`vy;eJ_F2jD(x4`30y-*PAP0WzC zTFGJxL||nzBK+xyu{web{8j{_0EjUsWuSFl=Z|zlLs=}P7Fl>mX(y1$-h17rF4EgX zqTB3bsgYt-Z5r&gm}3gcV-F{?OBhUYNjU7G20Q^U=Ri&6&^DgH5X}GpW}?w6BO*+R zATu!wBCN>BigQ11wILP>(#cUkdmGZgmQ!FKee=~(kEV{NJ|gq0+glL5;Pgwo{^gR75*(R78%dn(V7-R+cVO4d(XChPiw>J3rmuIn9MDROC?9G{ZHgR-;>6YQ>YYa&OSR z(pn0D)%UBbft@F!pfeV`cIRe=FOB<7OKA+*CE@O7sVQfbUru~c*15!?Jy09_uG=o1 zeIj=SIx2wHrH-f#Z(H=4VdI9McD+I3{TkLQ?EYV``~D-Z&@s{1(^|T`{r*pq`AN#- z(Z~lvKF_VDKeSiOiKae(4vl3|9|imjK?UHpN@6x$Q;eX_fu0jNKk|;T9~O-%0kFki zA5$sJcb&xo)%MDfKvSrFD*(b?E5gEL3|QR+KL!$+O6$;ic!MW@R(mD~Ut~f}I(H4xx zLlz6v=BH8o(E-e=ad`sEOU9MaoO_OUlS)gA!3_$pe?*ip{BK4@SLbkOO52RY&Um;@ z@8|WMwK^^xaY{w7kz+&i-L1P@xV>L)yl|rO5}tJUj~`946Cpsn6+D(hZi%DFIkOKA zCb}IF>)3EA^IJ2(lx4IM4rVVTq}ZUIpQBKfP&U;D_Hc2_h**#0eaJW2z(cshi=UIi z->f*six~fb4qnq}tA*A|gAg5aP^n;rf{;r3Ai`?!bUBpl4;@jpc6lwXHo6_$``R}G zQD1_pPTP#F^K~J^xG-9kO(3ISyf?GW7!xGjv$dygU>e1xLAlN>!UgZYbuS#nlVntp5J@hjjG)SFzNRi0^>1T zxDa8%Gg+*P(1aXeefA{-VUq)ZT8I+OFLJ*1#unFLj830UYs>eQT`w60uP%ipEquqTo2F7moA+3F|5CITyr z@w+fS(;1D_Jd8Qm-SoqTLOY5iuUwL!LC{`!RC5(`_fCABJM4IM zK@J~1j?q!URSAE7Ro?v*$aEuvsJJwO5(nKZ_j~c8{MVg3iD$1xIZoO#A^>blE zAemuFF-h=N3m`BngtW{(vJtJc<)M>#An?}I+|Qu5^wFiJcF9zX?4cTa1l@Y%^$SS_ z1g&mq0zk>gBtqLfOK~THR_)t4EsU8;pp>=|4nQ{7YL+zvjK~0>#B5qFsuNYote9h) zYgwMR-AWr$^>DFRp8DtKvNFD<+`J^GWK Date: Fri, 16 May 2025 16:26:16 +0200 Subject: [PATCH 8/8] render --- inst/apps/FreesearchR/app.R | 92 ++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/inst/apps/FreesearchR/app.R b/inst/apps/FreesearchR/app.R index 7c4c89f1..22b7ee47 100644 --- a/inst/apps/FreesearchR/app.R +++ b/inst/apps/FreesearchR/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /Users/au301842/FreesearchR/app/libs.R +#### Current file: /Users/au301842/FreesearchR/app/libs.R ######## library(shiny) @@ -40,20 +40,20 @@ library(rlang) ######## -#### Current file: /Users/au301842/FreesearchR/app/functions.R +#### Current file: /Users/au301842/FreesearchR/app/functions.R ######## ######## -#### Current file: /Users/au301842/FreesearchR/R//app_version.R +#### Current file: /Users/au301842/FreesearchR/R//app_version.R ######## -app_version <- function()'25.5.5' +app_version <- function()'25.5.6' ######## -#### Current file: /Users/au301842/FreesearchR/R//baseline_table.R +#### Current file: /Users/au301842/FreesearchR/R//baseline_table.R ######## #' Print a flexible baseline characteristics table @@ -138,7 +138,7 @@ create_baseline <- function(data, ..., by.var, add.p = FALSE, add.overall = FALS ######## -#### Current file: /Users/au301842/FreesearchR/R//contrast_text.R +#### Current file: /Users/au301842/FreesearchR/R//contrast_text.R ######## #' @title Contrast Text Color @@ -194,7 +194,7 @@ contrast_text <- function(background, ######## -#### Current file: /Users/au301842/FreesearchR/R//correlations-module.R +#### Current file: /Users/au301842/FreesearchR/R//correlations-module.R ######## #' Data correlations evaluation module @@ -339,7 +339,7 @@ sentence_paste <- function(data, and.str = "and") { ######## -#### Current file: /Users/au301842/FreesearchR/R//create-column-mod.R +#### Current file: /Users/au301842/FreesearchR/R//create-column-mod.R ######## #' @title Create new column @@ -440,7 +440,7 @@ create_column_ui <- function(id) { uiOutput(outputId = ns("columns")), uiOutput(outputId = ns("feedback")), tags$div( - style = css( + style = htmltools::css( display = "grid", gridTemplateColumns = "3fr 1fr", columnGap = "10px", @@ -729,7 +729,7 @@ btn_column <- function(label, data, inputId) { tags$button( type = "button", class = paste0("btn btn-column-", type), - style = css( + style = htmltools::css( "--bs-btn-padding-y" = ".25rem", "--bs-btn-padding-x" = ".5rem", "--bs-btn-font-size" = ".75rem", @@ -782,7 +782,7 @@ make_choices_with_infos <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//custom_SelectInput.R +#### Current file: /Users/au301842/FreesearchR/R//custom_SelectInput.R ######## #' A selectizeInput customized for data frames with column labels @@ -976,7 +976,7 @@ vectorSelectInput <- function(inputId, ######## -#### Current file: /Users/au301842/FreesearchR/R//cut-variable-dates.R +#### Current file: /Users/au301842/FreesearchR/R//cut-variable-dates.R ######## #' Extended cutting function with fall-back to the native base::cut @@ -1595,7 +1595,7 @@ plot_histogram <- function(data, column=NULL, bins = 30, breaks = NULL, color = ######## -#### Current file: /Users/au301842/FreesearchR/R//data_plots.R +#### Current file: /Users/au301842/FreesearchR/R//data_plots.R ######## # source(here::here("functions.R")) @@ -2415,7 +2415,7 @@ clean_common_axis <- function(p, axis) { ######## -#### Current file: /Users/au301842/FreesearchR/R//data-import.R +#### Current file: /Users/au301842/FreesearchR/R//data-import.R ######## data_import_ui <- function(id) { @@ -2572,7 +2572,7 @@ data_import_demo_app <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//data-summary.R +#### Current file: /Users/au301842/FreesearchR/R//data-summary.R ######## #' Data summary module @@ -2970,7 +2970,7 @@ get_var_icon <- function(data,class.type=c("class","type")){ ######## -#### Current file: /Users/au301842/FreesearchR/R//datagrid-infos-mod.R +#### Current file: /Users/au301842/FreesearchR/R//datagrid-infos-mod.R ######## @@ -3319,7 +3319,7 @@ construct_col_summary <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//helpers.R +#### Current file: /Users/au301842/FreesearchR/R//helpers.R ######## #' Wrapper function to get function from character vector referring to function from namespace. Passed to 'do.call()' @@ -3993,14 +3993,14 @@ simple_snake <- function(data){ ######## -#### Current file: /Users/au301842/FreesearchR/R//hosted_version.R +#### Current file: /Users/au301842/FreesearchR/R//hosted_version.R ######## -hosted_version <- function()'v25.5.5-250516' +hosted_version <- function()'v25.5.6-250516' ######## -#### Current file: /Users/au301842/FreesearchR/R//html_dependency_freesearchr.R +#### Current file: /Users/au301842/FreesearchR/R//html_dependency_freesearchr.R ######## html_dependency_FreesearchR <- function() { @@ -4015,7 +4015,7 @@ html_dependency_FreesearchR <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//import-file-ext.R +#### Current file: /Users/au301842/FreesearchR/R//import-file-ext.R ######## #' @title Import data from a file @@ -4625,7 +4625,7 @@ import_file_demo_app <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//launch_FreesearchR.R +#### Current file: /Users/au301842/FreesearchR/R//launch_FreesearchR.R ######## #' Easily launch the FreesearchR app @@ -4656,7 +4656,7 @@ launch_FreesearchR <- function(...){ ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_box.R +#### Current file: /Users/au301842/FreesearchR/R//plot_box.R ######## #' Beautiful box plot(s) @@ -4742,7 +4742,7 @@ plot_box_single <- function(data, pri, sec=NULL, seed = 2103) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_euler.R +#### Current file: /Users/au301842/FreesearchR/R//plot_euler.R ######## #' Area proportional venn diagrams @@ -4883,7 +4883,7 @@ plot_euler_single <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_hbar.R +#### Current file: /Users/au301842/FreesearchR/R//plot_hbar.R ######## #' Nice horizontal stacked bars (Grotta bars) @@ -4983,7 +4983,7 @@ vertical_stacked_bars <- function(data, ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_ridge.R +#### Current file: /Users/au301842/FreesearchR/R//plot_ridge.R ######## #' Plot nice ridge plot @@ -5017,7 +5017,7 @@ plot_ridge <- function(data, x, y, z = NULL, ...) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_sankey.R +#### Current file: /Users/au301842/FreesearchR/R//plot_sankey.R ######## #' Readying data for sankey plot @@ -5250,7 +5250,7 @@ plot_sankey_single <- function(data, pri, sec, color.group = c("pri", "sec"), co ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_scatter.R +#### Current file: /Users/au301842/FreesearchR/R//plot_scatter.R ######## #' Beautiful violin plot @@ -5285,7 +5285,7 @@ plot_scatter <- function(data, pri, sec, ter = NULL) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot_violin.R +#### Current file: /Users/au301842/FreesearchR/R//plot_violin.R ######## #' Beatiful violin plot @@ -5320,7 +5320,7 @@ plot_violin <- function(data, pri, sec, ter = NULL) { ######## -#### Current file: /Users/au301842/FreesearchR/R//plot-download-module.R +#### Current file: /Users/au301842/FreesearchR/R//plot-download-module.R ######## plot_download_ui <- regression_ui <- function(id, ...) { @@ -5401,7 +5401,7 @@ plot_download_server <- function(id, ######## -#### Current file: /Users/au301842/FreesearchR/R//redcap_read_shiny_module.R +#### Current file: /Users/au301842/FreesearchR/R//redcap_read_shiny_module.R ######## #' Shiny module to browser and export REDCap data @@ -6096,7 +6096,7 @@ redcap_demo_app <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//regression_model.R +#### Current file: /Users/au301842/FreesearchR/R//regression_model.R ######## #' Create a regression model programatically @@ -6823,7 +6823,7 @@ regression_model_uv_list <- function(data, ######## -#### Current file: /Users/au301842/FreesearchR/R//regression_plot.R +#### Current file: /Users/au301842/FreesearchR/R//regression_plot.R ######## #' Regression coef plot from gtsummary. Slightly modified to pass on arguments @@ -6989,7 +6989,7 @@ symmetrical_scale_x_log10 <- function(plot, breaks = c(1, 2, 3, 5, 10), ...) { ######## -#### Current file: /Users/au301842/FreesearchR/R//regression_table.R +#### Current file: /Users/au301842/FreesearchR/R//regression_table.R ######## #' Create table of regression model @@ -7178,7 +7178,7 @@ tbl_merge <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//regression-module.R +#### Current file: /Users/au301842/FreesearchR/R//regression-module.R ######## ### On rewriting this module @@ -7848,7 +7848,7 @@ regression_server <- function(id, ######## -#### Current file: /Users/au301842/FreesearchR/R//report.R +#### Current file: /Users/au301842/FreesearchR/R//report.R ######## #' Split vector by an index and embed addition @@ -7936,7 +7936,7 @@ modify_qmd <- function(file, format) { ######## -#### Current file: /Users/au301842/FreesearchR/R//syntax_highlight.R +#### Current file: /Users/au301842/FreesearchR/R//syntax_highlight.R ######## ## Inpiration: @@ -7967,7 +7967,7 @@ html_code_wrap <- function(string,lang="r"){ ######## -#### Current file: /Users/au301842/FreesearchR/R//theme.R +#### Current file: /Users/au301842/FreesearchR/R//theme.R ######## #' Custom theme based on unity @@ -8075,7 +8075,7 @@ gg_theme_export <- function() { ######## -#### Current file: /Users/au301842/FreesearchR/R//update-factor-ext.R +#### Current file: /Users/au301842/FreesearchR/R//update-factor-ext.R ######## @@ -8372,7 +8372,7 @@ winbox_update_factor <- function(id, ######## -#### Current file: /Users/au301842/FreesearchR/R//update-variables-ext.R +#### Current file: /Users/au301842/FreesearchR/R//update-variables-ext.R ######## #' Select, rename and convert variables @@ -9184,7 +9184,7 @@ clean_date <- function(data) { ######## -#### Current file: /Users/au301842/FreesearchR/R//wide2long.R +#### Current file: /Users/au301842/FreesearchR/R//wide2long.R ######## #' Alternative pivoting method for easily pivoting based on name pattern @@ -9343,7 +9343,7 @@ grepl_fix <- function(data, pattern, type = c("prefix", "infix", "suffix")) { ######## -#### Current file: /Users/au301842/FreesearchR/dev/header_include.R +#### Current file: /Users/au301842/FreesearchR/dev/header_include.R ######## header_include <- function(){ @@ -9353,7 +9353,7 @@ header_include <- function(){ ######## -#### Current file: /Users/au301842/FreesearchR/dev/dev_banner.R +#### Current file: /Users/au301842/FreesearchR/dev/dev_banner.R ######## dev_banner <- function(){ @@ -9362,7 +9362,7 @@ dev_banner <- function(){ ######## -#### Current file: /Users/au301842/FreesearchR/app/ui.R +#### Current file: /Users/au301842/FreesearchR/app/ui.R ######## # ns <- NS(id) @@ -9948,7 +9948,7 @@ ui <- bslib::page_fixed( ######## -#### Current file: /Users/au301842/FreesearchR/app/server.R +#### Current file: /Users/au301842/FreesearchR/app/server.R ######## @@ -10699,7 +10699,7 @@ server <- function(input, output, session) { ######## -#### Current file: /Users/au301842/FreesearchR/app/launch.R +#### Current file: /Users/au301842/FreesearchR/app/launch.R ######## shinyApp(ui, server)