Compare commits

..

8 commits

Author SHA1 Message Date
d6861492e3
render
Some checks failed
pkgdown.yaml / pkgdown (push) Has been cancelled
2025-05-16 16:26:16 +02:00
83064f4c99
caught 2025-05-16 16:23:39 +02:00
432d27af04
version bump 2025-05-16 16:09:04 +02:00
3e5f998263
catching missed functions 2025-05-16 16:08:52 +02:00
a05c993c8c
sligth rewording 2025-05-16 16:07:50 +02:00
807c606b4c
updated text 2025-05-16 16:07:29 +02:00
7144854e39
ref functions 2025-05-16 15:36:08 +02:00
a167cb8ace
Note on maximum file size at 5 mb 2025-05-16 15:11:26 +02:00
13 changed files with 86 additions and 58 deletions

View file

@ -9,7 +9,7 @@ type: software
license: AGPL-3.0-or-later license: AGPL-3.0-or-later
title: 'FreesearchR: A free and open-source browser based data analysis tool for researchers title: 'FreesearchR: A free and open-source browser based data analysis tool for researchers
with publication ready output' with publication ready output'
version: 25.5.5 version: 25.5.6
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: A free and open-source browser based data analysis tool for researchers with publication ready output 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( 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 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 # FreesearchR 25.5.5
- *FIX* several minor bugs and polish - *FIX* several minor bugs and polish

View file

@ -1 +1 @@
app_version <- function()'25.5.5' app_version <- function()'25.5.6'

View file

@ -96,7 +96,7 @@ create_column_ui <- function(id) {
uiOutput(outputId = ns("columns")), uiOutput(outputId = ns("columns")),
uiOutput(outputId = ns("feedback")), uiOutput(outputId = ns("feedback")),
tags$div( tags$div(
style = css( style = htmltools::css(
display = "grid", display = "grid",
gridTemplateColumns = "3fr 1fr", gridTemplateColumns = "3fr 1fr",
columnGap = "10px", columnGap = "10px",
@ -187,7 +187,7 @@ create_column_server <- function(id,
if (input$new_column == "") { if (input$new_column == "") {
rv$feedback <- shinyWidgets::alert( rv$feedback <- shinyWidgets::alert(
status = "warning", 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( shinyWidgets::alert(
status = "success", 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_error <- function(text) {
alert( alert(
status = "danger", status = "danger",
ph("bug"), text phosphoricons::ph("bug"), text
) )
} }
@ -385,7 +385,7 @@ btn_column <- function(label, data, inputId) {
tags$button( tags$button(
type = "button", type = "button",
class = paste0("btn btn-column-", type), class = paste0("btn btn-column-", type),
style = css( style = htmltools::css(
"--bs-btn-padding-y" = ".25rem", "--bs-btn-padding-y" = ".25rem",
"--bs-btn-padding-x" = ".5rem", "--bs-btn-padding-x" = ".5rem",
"--bs-btn-font-size" = ".75rem", "--bs-btn-font-size" = ".75rem",

View file

@ -1 +1 @@
hosted_version <- function()'v25.5.5-250514' hosted_version <- function()'v25.5.6-250516'

View file

@ -83,7 +83,7 @@ import_file_ui <- function(id,
inputId = ns("file"), inputId = ns("file"),
label = datamods:::i18n("Upload a file:"), label = datamods:::i18n("Upload a file:"),
buttonLabel = datamods:::i18n("Browse..."), 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, accept = file_extensions,
width = "100%", width = "100%",
## A solution to allow multiple file upload is being considered ## A solution to allow multiple file upload is being considered

Binary file not shown.

View file

@ -45,8 +45,8 @@ update_factor_ui <- function(id) {
actionButton( actionButton(
inputId = ns("sort_levels"), inputId = ns("sort_levels"),
label = tagList( label = tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
i18n("Sort by levels") datamods:::i18n("Sort by levels")
), ),
class = "btn-outline-primary mb-3", class = "btn-outline-primary mb-3",
width = "100%" width = "100%"
@ -58,8 +58,8 @@ update_factor_ui <- function(id) {
actionButton( actionButton(
inputId = ns("sort_occurrences"), inputId = ns("sort_occurrences"),
label = tagList( label = tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
i18n("Sort by count") datamods:::i18n("Sort by count")
), ),
class = "btn-outline-primary mb-3", class = "btn-outline-primary mb-3",
width = "100%" width = "100%"
@ -71,7 +71,7 @@ update_factor_ui <- function(id) {
class = "float-end", class = "float-end",
shinyWidgets::prettyCheckbox( shinyWidgets::prettyCheckbox(
inputId = ns("new_var"), 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, value = FALSE,
status = "primary", status = "primary",
outline = TRUE, outline = TRUE,
@ -79,7 +79,7 @@ update_factor_ui <- function(id) {
), ),
actionButton( actionButton(
inputId = ns("create"), 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" class = "btn-outline-primary"
) )
), ),
@ -127,13 +127,13 @@ update_factor_server <- function(id, data_r = reactive(NULL)) {
if (input$sort_levels %% 2 == 1) { if (input$sort_levels %% 2 == 1) {
decreasing <- FALSE decreasing <- FALSE
label <- tagList( label <- tagList(
ph("sort-descending"), phosphoricons::ph("sort-descending"),
"Sort Levels" "Sort Levels"
) )
} else { } else {
decreasing <- TRUE decreasing <- TRUE
label <- tagList( label <- tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
"Sort Levels" "Sort Levels"
) )
} }
@ -145,14 +145,14 @@ update_factor_server <- function(id, data_r = reactive(NULL)) {
if (input$sort_occurrences %% 2 == 1) { if (input$sort_occurrences %% 2 == 1) {
decreasing <- FALSE decreasing <- FALSE
label <- tagList( label <- tagList(
ph("sort-descending"), phosphoricons::ph("sort-descending"),
i18n("Sort count") datamods:::i18n("Sort count")
) )
} else { } else {
decreasing <- TRUE decreasing <- TRUE
label <- tagList( label <- tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
i18n("Sort count") datamods:::i18n("Sort count")
) )
} }
updateActionButton(inputId = "sort_occurrences", label = as.character(label)) 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 <- grid_columns(
grid, grid,
columns = c("Var1", "Var1_toset", "Freq"), 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 <- grid_colorbar(
grid, grid,

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 |2025-05-14 | |date |2025-05-16 |
|rstudio |2024.12.1+563 Kousa Dogwood (desktop) | |rstudio |2025.05.0+496 Mariposa Orchid (desktop) |
|pandoc |3.6.4 @ /opt/homebrew/bin/ (via rmarkdown) | |pandoc |3.6.4 @ /opt/homebrew/bin/ (via rmarkdown) |
|quarto |1.7.30 @ /usr/local/bin/quarto | |quarto |1.7.30 @ /usr/local/bin/quarto |
|FreesearchR |25.5.5.250514 | |FreesearchR |25.5.6.250516 |
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -53,6 +53,7 @@
|colorspace |2.1-1 |2024-07-26 |CRAN (R 4.4.1) | |colorspace |2.1-1 |2024-07-26 |CRAN (R 4.4.1) |
|commonmark |1.9.5 |2025-03-17 |CRAN (R 4.4.1) | |commonmark |1.9.5 |2025-03-17 |CRAN (R 4.4.1) |
|crayon |1.5.3 |2024-06-20 |CRAN (R 4.4.1) | |crayon |1.5.3 |2024-06-20 |CRAN (R 4.4.1) |
|credentials |2.0.2 |2024-10-04 |CRAN (R 4.4.1) |
|curl |6.2.2 |2025-03-24 |CRAN (R 4.4.1) | |curl |6.2.2 |2025-03-24 |CRAN (R 4.4.1) |
|data.table |1.17.0 |2025-02-22 |CRAN (R 4.4.1) | |data.table |1.17.0 |2025-02-22 |CRAN (R 4.4.1) |
|datamods |1.5.3 |2024-10-02 |CRAN (R 4.4.1) | |datamods |1.5.3 |2024-10-02 |CRAN (R 4.4.1) |
@ -84,16 +85,19 @@
|foreach |1.5.2 |2022-02-02 |CRAN (R 4.4.0) | |foreach |1.5.2 |2022-02-02 |CRAN (R 4.4.0) |
|foreign |0.8-90 |2025-03-31 |CRAN (R 4.4.1) | |foreign |0.8-90 |2025-03-31 |CRAN (R 4.4.1) |
|Formula |1.2-5 |2023-02-24 |CRAN (R 4.4.1) | |Formula |1.2-5 |2023-02-24 |CRAN (R 4.4.1) |
|FreesearchR |25.5.5 |NA |NA | |FreesearchR |25.5.6 |NA |NA |
|fs |1.6.6 |2025-04-12 |CRAN (R 4.4.1) | |fs |1.6.6 |2025-04-12 |CRAN (R 4.4.1) |
|gdtools |0.4.2 |2025-03-27 |CRAN (R 4.4.1) | |gdtools |0.4.2 |2025-03-27 |CRAN (R 4.4.1) |
|generics |0.1.3 |2022-07-05 |CRAN (R 4.4.1) | |generics |0.1.3 |2022-07-05 |CRAN (R 4.4.1) |
|gert |2.1.5 |2025-03-25 |CRAN (R 4.4.1) |
|ggalluvial |0.12.5 |2023-02-22 |CRAN (R 4.4.0) | |ggalluvial |0.12.5 |2023-02-22 |CRAN (R 4.4.0) |
|ggcorrplot |0.1.4.1 |2023-09-05 |CRAN (R 4.4.0) | |ggcorrplot |0.1.4.1 |2023-09-05 |CRAN (R 4.4.0) |
|ggforce |0.4.2 |2024-02-19 |CRAN (R 4.4.0) | |ggforce |0.4.2 |2024-02-19 |CRAN (R 4.4.0) |
|ggplot2 |3.5.2 |2025-04-09 |CRAN (R 4.4.1) | |ggplot2 |3.5.2 |2025-04-09 |CRAN (R 4.4.1) |
|ggridges |0.5.6 |2024-01-23 |CRAN (R 4.4.0) | |ggridges |0.5.6 |2024-01-23 |CRAN (R 4.4.0) |
|ggstats |0.9.0 |2025-03-10 |CRAN (R 4.4.1) | |ggstats |0.9.0 |2025-03-10 |CRAN (R 4.4.1) |
|gh |1.4.1 |2024-03-28 |CRAN (R 4.4.0) |
|gitcreds |0.1.2 |2022-09-08 |CRAN (R 4.4.1) |
|glue |1.8.0 |2024-09-30 |CRAN (R 4.4.1) | |glue |1.8.0 |2024-09-30 |CRAN (R 4.4.1) |
|gridExtra |2.3 |2017-09-09 |CRAN (R 4.4.1) | |gridExtra |2.3 |2017-09-09 |CRAN (R 4.4.1) |
|gt |1.0.0 |2025-04-05 |CRAN (R 4.4.1) | |gt |1.0.0 |2025-04-05 |CRAN (R 4.4.1) |
@ -107,6 +111,7 @@
|htmltools |0.5.8.1 |2024-04-04 |CRAN (R 4.4.1) | |htmltools |0.5.8.1 |2024-04-04 |CRAN (R 4.4.1) |
|htmlwidgets |1.6.4 |2023-12-06 |CRAN (R 4.4.0) | |htmlwidgets |1.6.4 |2023-12-06 |CRAN (R 4.4.0) |
|httpuv |1.6.16 |2025-04-16 |CRAN (R 4.4.1) | |httpuv |1.6.16 |2025-04-16 |CRAN (R 4.4.1) |
|httr2 |1.1.2 |2025-03-26 |CRAN (R 4.4.1) |
|IDEAFilter |0.2.0 |2024-04-15 |CRAN (R 4.4.0) | |IDEAFilter |0.2.0 |2024-04-15 |CRAN (R 4.4.0) |
|insight |1.2.0 |2025-04-22 |CRAN (R 4.4.1) | |insight |1.2.0 |2025-04-22 |CRAN (R 4.4.1) |
|iterators |1.0.14 |2022-02-05 |CRAN (R 4.4.1) | |iterators |1.0.14 |2022-02-05 |CRAN (R 4.4.1) |
@ -119,9 +124,11 @@
|later |1.4.2 |2025-04-08 |CRAN (R 4.4.1) | |later |1.4.2 |2025-04-08 |CRAN (R 4.4.1) |
|lattice |0.22-7 |2025-04-02 |CRAN (R 4.4.1) | |lattice |0.22-7 |2025-04-02 |CRAN (R 4.4.1) |
|lifecycle |1.0.4 |2023-11-07 |CRAN (R 4.4.1) | |lifecycle |1.0.4 |2023-11-07 |CRAN (R 4.4.1) |
|litedown |0.7 |2025-04-08 |CRAN (R 4.4.1) |
|lme4 |1.1-37 |2025-03-26 |CRAN (R 4.4.1) | |lme4 |1.1-37 |2025-03-26 |CRAN (R 4.4.1) |
|lubridate |1.9.4 |2024-12-08 |CRAN (R 4.4.1) | |lubridate |1.9.4 |2024-12-08 |CRAN (R 4.4.1) |
|magrittr |2.0.3 |2022-03-30 |CRAN (R 4.4.1) | |magrittr |2.0.3 |2022-03-30 |CRAN (R 4.4.1) |
|markdown |2.0 |2025-03-23 |CRAN (R 4.4.1) |
|MASS |7.3-65 |2025-02-28 |CRAN (R 4.4.1) | |MASS |7.3-65 |2025-02-28 |CRAN (R 4.4.1) |
|Matrix |1.7-3 |2025-03-11 |CRAN (R 4.4.1) | |Matrix |1.7-3 |2025-03-11 |CRAN (R 4.4.1) |
|memoise |2.0.1 |2021-11-26 |CRAN (R 4.4.0) | |memoise |2.0.1 |2021-11-26 |CRAN (R 4.4.0) |
@ -160,6 +167,7 @@
|R6 |2.6.1 |2025-02-15 |CRAN (R 4.4.1) | |R6 |2.6.1 |2025-02-15 |CRAN (R 4.4.1) |
|ragg |1.4.0 |2025-04-10 |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) | |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) | |rbibutils |2.3 |2024-10-04 |CRAN (R 4.4.1) |
|RColorBrewer |1.1-3 |2022-04-03 |CRAN (R 4.4.1) | |RColorBrewer |1.1-3 |2022-04-03 |CRAN (R 4.4.1) |
|Rcpp |1.0.14 |2025-01-12 |CRAN (R 4.4.1) | |Rcpp |1.0.14 |2025-01-12 |CRAN (R 4.4.1) |
@ -196,6 +204,7 @@
|shinyWidgets |0.9.0 |2025-02-21 |CRAN (R 4.4.1) | |shinyWidgets |0.9.0 |2025-02-21 |CRAN (R 4.4.1) |
|stringi |1.8.7 |2025-03-27 |CRAN (R 4.4.1) | |stringi |1.8.7 |2025-03-27 |CRAN (R 4.4.1) |
|stringr |1.5.1 |2023-11-14 |CRAN (R 4.4.0) | |stringr |1.5.1 |2023-11-14 |CRAN (R 4.4.0) |
|sys |3.4.3 |2024-10-04 |CRAN (R 4.4.1) |
|systemfonts |1.2.2 |2025-04-04 |CRAN (R 4.4.1) | |systemfonts |1.2.2 |2025-04-04 |CRAN (R 4.4.1) |
|testthat |3.2.3 |2025-01-13 |CRAN (R 4.4.1) | |testthat |3.2.3 |2025-01-13 |CRAN (R 4.4.1) |
|textshaping |1.0.0 |2025-01-20 |CRAN (R 4.4.1) | |textshaping |1.0.0 |2025-01-20 |CRAN (R 4.4.1) |

View file

@ -49,7 +49,7 @@ library(rlang)
#### 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'
######## ########
@ -440,7 +440,7 @@ create_column_ui <- function(id) {
uiOutput(outputId = ns("columns")), uiOutput(outputId = ns("columns")),
uiOutput(outputId = ns("feedback")), uiOutput(outputId = ns("feedback")),
tags$div( tags$div(
style = css( style = htmltools::css(
display = "grid", display = "grid",
gridTemplateColumns = "3fr 1fr", gridTemplateColumns = "3fr 1fr",
columnGap = "10px", columnGap = "10px",
@ -531,7 +531,7 @@ create_column_server <- function(id,
if (input$new_column == "") { if (input$new_column == "") {
rv$feedback <- shinyWidgets::alert( rv$feedback <- shinyWidgets::alert(
status = "warning", 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( shinyWidgets::alert(
status = "success", 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_error <- function(text) {
alert( alert(
status = "danger", status = "danger",
ph("bug"), text phosphoricons::ph("bug"), text
) )
} }
@ -729,7 +729,7 @@ btn_column <- function(label, data, inputId) {
tags$button( tags$button(
type = "button", type = "button",
class = paste0("btn btn-column-", type), class = paste0("btn btn-column-", type),
style = css( style = htmltools::css(
"--bs-btn-padding-y" = ".25rem", "--bs-btn-padding-y" = ".25rem",
"--bs-btn-padding-x" = ".5rem", "--bs-btn-padding-x" = ".5rem",
"--bs-btn-font-size" = ".75rem", "--bs-btn-font-size" = ".75rem",
@ -3996,7 +3996,7 @@ 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.6-250516'
######## ########
@ -4103,7 +4103,7 @@ import_file_ui <- function(id,
inputId = ns("file"), inputId = ns("file"),
label = datamods:::i18n("Upload a file:"), label = datamods:::i18n("Upload a file:"),
buttonLabel = datamods:::i18n("Browse..."), 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, accept = file_extensions,
width = "100%", width = "100%",
## A solution to allow multiple file upload is being considered ## A solution to allow multiple file upload is being considered
@ -8125,8 +8125,8 @@ update_factor_ui <- function(id) {
actionButton( actionButton(
inputId = ns("sort_levels"), inputId = ns("sort_levels"),
label = tagList( label = tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
i18n("Sort by levels") datamods:::i18n("Sort by levels")
), ),
class = "btn-outline-primary mb-3", class = "btn-outline-primary mb-3",
width = "100%" width = "100%"
@ -8138,8 +8138,8 @@ update_factor_ui <- function(id) {
actionButton( actionButton(
inputId = ns("sort_occurrences"), inputId = ns("sort_occurrences"),
label = tagList( label = tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
i18n("Sort by count") datamods:::i18n("Sort by count")
), ),
class = "btn-outline-primary mb-3", class = "btn-outline-primary mb-3",
width = "100%" width = "100%"
@ -8151,7 +8151,7 @@ update_factor_ui <- function(id) {
class = "float-end", class = "float-end",
shinyWidgets::prettyCheckbox( shinyWidgets::prettyCheckbox(
inputId = ns("new_var"), 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, value = FALSE,
status = "primary", status = "primary",
outline = TRUE, outline = TRUE,
@ -8159,7 +8159,7 @@ update_factor_ui <- function(id) {
), ),
actionButton( actionButton(
inputId = ns("create"), 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" class = "btn-outline-primary"
) )
), ),
@ -8207,13 +8207,13 @@ update_factor_server <- function(id, data_r = reactive(NULL)) {
if (input$sort_levels %% 2 == 1) { if (input$sort_levels %% 2 == 1) {
decreasing <- FALSE decreasing <- FALSE
label <- tagList( label <- tagList(
ph("sort-descending"), phosphoricons::ph("sort-descending"),
"Sort Levels" "Sort Levels"
) )
} else { } else {
decreasing <- TRUE decreasing <- TRUE
label <- tagList( label <- tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
"Sort Levels" "Sort Levels"
) )
} }
@ -8225,14 +8225,14 @@ update_factor_server <- function(id, data_r = reactive(NULL)) {
if (input$sort_occurrences %% 2 == 1) { if (input$sort_occurrences %% 2 == 1) {
decreasing <- FALSE decreasing <- FALSE
label <- tagList( label <- tagList(
ph("sort-descending"), phosphoricons::ph("sort-descending"),
i18n("Sort count") datamods:::i18n("Sort count")
) )
} else { } else {
decreasing <- TRUE decreasing <- TRUE
label <- tagList( label <- tagList(
ph("sort-ascending"), phosphoricons::ph("sort-ascending"),
i18n("Sort count") datamods:::i18n("Sort count")
) )
} }
updateActionButton(inputId = "sort_occurrences", label = as.character(label)) 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 <- grid_columns(
grid, grid,
columns = c("Var1", "Var1_toset", "Freq"), 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 <- grid_colorbar(
grid, grid,
@ -9352,6 +9352,15 @@ header_include <- function(){
} }
########
#### Current file: /Users/au301842/FreesearchR/dev/dev_banner.R
########
dev_banner <- function(){
NULL
}
######## ########
#### Current file: /Users/au301842/FreesearchR/app/ui.R #### Current file: /Users/au301842/FreesearchR/app/ui.R
######## ########
@ -9369,6 +9378,10 @@ ui_elements <- list(
"home" = bslib::nav_panel( "home" = bslib::nav_panel(
title = "FreesearchR", title = "FreesearchR",
shiny::fluidRow( 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 = 2),
shiny::column( shiny::column(
width = 8, width = 8,

View file

@ -1,20 +1,18 @@
# Welcome <img style="float: right;" src="FreesearchR-logo.png"> # Welcome <img style="float: right;" src="FreesearchR-logo.png">
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. 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.
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.
Here is a brief summary of the functions: 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 - 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 - Evaluate model assumptions
1. Export results 1. **Export results**
- Descriptive and regression analyses results for MS Word or [LibreOffice](https://www.libreoffice.org/) - Descriptive and regression analyses results for MS Word or [LibreOffice](https://www.libreoffice.org/)

View file

@ -43,7 +43,7 @@ vec2sentence <- function(data, sep.word = "and") {
## Introduction ## 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 ## Methods