diff --git a/CITATION.cff b/CITATION.cff index 86c9ebe0..8629fb7c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -8,7 +8,7 @@ message: 'To cite package "FreesearchR" in publications use:' type: software license: AGPL-3.0-or-later title: 'FreesearchR: Easy data analysis for clinicians' -version: 26.4.2 +version: 26.4.1 doi: 10.5281/zenodo.14527429 identifiers: - type: url diff --git a/DESCRIPTION b/DESCRIPTION index 69564bc2..89673630 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: FreesearchR Title: Easy data analysis for clinicians -Version: 26.4.2 +Version: 26.4.1 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/NAMESPACE b/NAMESPACE index 9e036c3f..9ede131b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -116,7 +116,6 @@ export(modify_qmd) export(names2val) export(overview_vars) export(pipe_string) -export(plot_bar) export(plot_bar_single) export(plot_box) export(plot_box_single) diff --git a/NEWS.md b/NEWS.md index 785ee46a..fbff9355 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,3 @@ -# FreesearchR 26.4.2 - -Bug fixes and revised color choices. - # FreesearchR 26.4.1 Minor adjustments and bug fixes including streamlining icon use to only use phosphoricons across the app. diff --git a/R/app_version.R b/R/app_version.R index 2cbd2cc4..4f474ec7 100644 --- a/R/app_version.R +++ b/R/app_version.R @@ -1 +1 @@ -app_version <- function()'26.4.2' +app_version <- function()'26.4.1' diff --git a/R/create-column-mod.R b/R/create-column-mod.R index 6047aa33..c2b6d403 100644 --- a/R/create-column-mod.R +++ b/R/create-column-mod.R @@ -76,7 +76,7 @@ create_column_ui <- function(id) { actionButton( inputId = ns("compute"), label = tagList( - phosphoricons::ph("pencil",weight = "bold"), i18n$t("Create column") + phosphoricons::ph("pencil"), i18n$t("Create column") ), class = "btn-outline-primary", width = "100%" @@ -84,7 +84,7 @@ create_column_ui <- function(id) { actionButton( inputId = ns("remove"), label = tagList( - phosphoricons::ph("x-circle",weight = "bold"), + phosphoricons::ph("x-circle"), i18n$t("Cancel") ), class = "btn-outline-danger", diff --git a/R/cut-variable-ext.R b/R/cut-variable-ext.R index 84418736..b7d8eb80 100644 --- a/R/cut-variable-ext.R +++ b/R/cut-variable-ext.R @@ -64,7 +64,7 @@ cut_variable_ui <- function(id) { toastui::datagridOutput2(outputId = ns("count")), actionButton( inputId = ns("create"), - label = tagList(phosphoricons::ph("scissors",weight = "bold"), i18n$t("Create factor variable")), + label = tagList(phosphoricons::ph("scissors"), i18n$t("Create factor variable")), class = "btn-outline-primary float-end" ), tags$div(class = "clearfix") diff --git a/R/data_plots.R b/R/data_plots.R index a01403df..bc1995e6 100644 --- a/R/data_plots.R +++ b/R/data_plots.R @@ -38,7 +38,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { inputId = ns("act_plot"), label = i18n$t("Plot"), width = "100%", - icon = phosphoricons::ph("paint-brush",weight = "bold"), + icon = phosphoricons::ph("paint-brush"), # icon = shiny::icon("palette"), disabled = FALSE ), @@ -243,8 +243,7 @@ data_visuals_server <- function(id, colorSelectInput( inputId = ns("color_palette"), label = i18n$t("Choose color palette"), - choices = palettes, - previews = 5 + choices = palettes ) }) @@ -722,7 +721,6 @@ wrap_plot_list <- function(data, guides = "collect", axes = "collect", axis_titles = "collect", - y.axis.percentage = FALSE, ...) { if (ggplot2::is_ggplot(data[[1]])) { if (length(data) > 1) { @@ -736,7 +734,7 @@ wrap_plot_list <- function(data, .x } })() |> - align_axes(percentage=y.axis.percentage) |> + align_axes() |> patchwork::wrap_plots(guides = guides, axes = axes, axis_titles = axis_titles, @@ -781,8 +779,7 @@ wrap_plot_list <- function(data, #' align_axes <- function(..., x.axis = TRUE, - y.axis = TRUE, - percentage = FALSE) { + y.axis = TRUE) { # https://stackoverflow.com/questions/62818776/get-axis-limits-from-ggplot-object # https://github.com/thomasp85/patchwork/blob/main/R/plot_multipage.R#L150 if (ggplot2::is_ggplot(..1)) { @@ -800,7 +797,7 @@ align_axes <- function(..., xr <- clean_common_axis(p, "x") suppressWarnings({ - p_out <- purrr::map(p, \(.x) { + purrr::map(p, \(.x) { out <- .x if (isTRUE(x.axis)) { out <- out + ggplot2::xlim(xr) @@ -811,15 +808,6 @@ align_axes <- function(..., out }) }) - - if(isTRUE(percentage)){ - lapply(p_out,\(.x){ - .x+ - ggplot2::scale_y_continuous(labels = scales::percent) - }) - } else { - p_out - } } #' Extract and clean axis ranges diff --git a/R/generate_colors.R b/R/generate_colors.R index d7a7cc82..898c0a94 100644 --- a/R/generate_colors.R +++ b/R/generate_colors.R @@ -254,12 +254,12 @@ color_choices <- function() { "Perceptual (blue-yellow)" = "viridis", "Perceptual (fire)" = "plasma", "Colour-blind friendly" = "Okabe-Ito", - "Diverging (red-yellow-green)"= "RdYlGn", - "Diverging (red-blue)" = "RdBu", - "Sequential (blues)" = "Blues", - "Qualitative (paired)" = "Paired", "Qualitative (bold)" = "Dark 2", - "Rainbow" = "Spectral", - "Generic" = "Set1" + "Qualitative (paired)" = "Paired", + "Sequential (blues)" = "Blues", + "Diverging (red-blue)" = "RdBu", + "Tableau style" = "Tableau 10", + "Pastel" = "Pastel 1", + "Rainbow" = "rainbow" ) } diff --git a/R/hosted_version.R b/R/hosted_version.R index 33aaf67c..6e001f53 100644 --- a/R/hosted_version.R +++ b/R/hosted_version.R @@ -1 +1 @@ -hosted_version <- function()'v26.4.2-260410' +hosted_version <- function()'v26.4.1-260402' diff --git a/R/import-file-ext.R b/R/import-file-ext.R index 6d78e381..709a55c1 100644 --- a/R/import-file-ext.R +++ b/R/import-file-ext.R @@ -714,7 +714,7 @@ make_success_alert <- function(data, i18n$t("Data ready to be imported!") ), sprintf( - i18n$t("The data set has %s obs. in %s variables."), + i18n$t("Data has %s obs. of %s variables."), nrow(data), ncol(data) ), @@ -725,7 +725,7 @@ make_success_alert <- function(data, i18n$t("Data successfully imported!") ), sprintf( - i18n$t("The data set has %s obs. in %s variables."), + i18n$t("Data has %s obs. of %s variables."), nrow(data), ncol(data) ), diff --git a/R/missings-module.R b/R/missings-module.R index eeb46edd..bb247b18 100644 --- a/R/missings-module.R +++ b/R/missings-module.R @@ -37,7 +37,7 @@ data_missings_ui <- function(id, ...) { inputId = ns("act_miss"), label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator",weight = "bold"), + icon = phosphoricons::ph("calculator"), # icon = shiny::icon("calculator"), disabled = TRUE ) diff --git a/R/plot_bar.R b/R/plot_bar.R index 0535b6f3..f820cc6b 100644 --- a/R/plot_bar.R +++ b/R/plot_bar.R @@ -1,29 +1,5 @@ -#' Title -#' -#' @name data-plots -#' -#' @param style barplot style passed to geom_bar position argument. -#' One of c("stack", "dodge", "fill") -#' -#' @returns ggplot list object -#' @export -#' -#' @examples -#' mtcars |> -#' dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> -#' plot_bar(pri = "cyl", sec = "am", style = "fill") -#' -#' mtcars |> -#' dplyr::mutate(dplyr::across(tidyselect::all_of(c("cyl","am","gear")),factor)) |> -#' plot_bar(pri = "cyl", sec = "gear", ter = "am", style = "stack",color.palette="turbo") -plot_bar <- function(data, - pri, - sec = NULL, - ter = NULL, - style = c("stack", "dodge", "fill"), - color.palette = "viridis", - max_level = 30, - ...) { +plot_bar <- function(data, pri, sec, ter = NULL, style = c("stack", "dodge", "fill"), + color.palette = "viridis", max_level = 30, ...) { style <- match.arg(style) if (!is.null(ter)) { @@ -32,7 +8,7 @@ plot_bar <- function(data, ds <- list(data) } - out <- lapply(ds, \(.ds) { + out <- lapply(ds, \(.ds){ plot_bar_single( data = .ds, pri = pri, @@ -43,10 +19,7 @@ plot_bar <- function(data, ) }) - wrap_plot_list(out, - title = glue::glue(i18n$t("Grouped by {get_label(data,ter)}")), - y.axis.percentage = TRUE, - ...) + wrap_plot_list(out, title = glue::glue(i18n$t("Grouped by {get_label(data,ter)}")), ...) } @@ -68,11 +41,7 @@ plot_bar <- function(data, #' mtcars |> #' dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> #' plot_bar_single(pri = "cyl", style = "stack",color.palette="turbo") -plot_bar_single <- function(data, - pri, - sec = NULL, - style = c("stack", "dodge", "fill"), - max_level = 30, +plot_bar_single <- function(data, pri, sec = NULL, style = c("stack", "dodge", "fill"), max_level = 30, color.palette = "viridis") { style <- match.arg(style) @@ -82,11 +51,16 @@ plot_bar_single <- function(data, p_data <- as.data.frame(table(data[c(pri, sec)])) |> dplyr::mutate(dplyr::across(tidyselect::any_of(c(pri, sec)), forcats::as_factor), - p = Freq / NROW(data)) + p = Freq / NROW(data) + ) if (nrow(p_data) > max_level) { - p_data <- sort_by(p_data, p_data[["Freq"]], decreasing = TRUE) |> + p_data <- sort_by( + p_data, + p_data[["Freq"]], + decreasing = TRUE + ) |> head(max_level) } @@ -99,31 +73,39 @@ plot_bar_single <- function(data, fill <- pri } - p <- ggplot2::ggplot(p_data, ggplot2::aes(x = .data[[pri]], y = p, fill = .data[[fill]])) + + p <- ggplot2::ggplot( + p_data, + ggplot2::aes( + x = .data[[pri]], + y = p, + fill = .data[[fill]] + ) + ) + ggplot2::geom_bar(position = style, stat = "identity") + - scale_fill_generate(palette = color.palette) + - ggplot2::xlab(get_label(data, pri)) + - ggplot2::guides(fill = ggplot2::guide_legend(title = get_label(data, fill))) + ggplot2::scale_y_continuous(labels = scales::percent) + + scale_fill_generate(palette=color.palette) + + ggplot2::ylab("Percentage") + + ggplot2::xlab(get_label(data,pri))+ + ggplot2::guides(fill = ggplot2::guide_legend(title = get_label(data,fill))) ## To handle large number of levels and long level names - if (nrow(p_data) > 10 | - any(nchar(as.character(p_data[[pri]])) > 6)) { + if (nrow(p_data) > 10 | any(nchar(as.character(p_data[[pri]])) > 6)) { p <- p + # ggplot2::guides(fill = "none") + - ggplot2::theme(axis.text.x = ggplot2::element_text( - angle = 90, - vjust = 1, - hjust = 1 - )) + - ggplot2::theme(axis.text.x = ggplot2::element_text(vjust = 0.5)) + ggplot2::theme( + axis.text.x = ggplot2::element_text( + angle = 90, + vjust = 1, hjust = 1 + ))+ + ggplot2::theme( + axis.text.x = ggplot2::element_text(vjust = 0.5) + ) - if (is.null(sec)) { + if (is.null(sec)){ p <- p + ggplot2::guides(fill = "none") } } - p + - ggplot2::scale_y_continuous(labels = scales::percent) + - ggplot2::ylab("Percentage") + p } diff --git a/R/separate_string.R b/R/separate_string.R index 61063b53..0aa64e6c 100644 --- a/R/separate_string.R +++ b/R/separate_string.R @@ -50,7 +50,7 @@ string_split_ui <- function(id) { ), actionButton( inputId = ns("create"), - label = tagList(phosphoricons::ph("pencil",weight = "bold"), i18n$t("Apply split")), + label = tagList(phosphoricons::ph("pencil"), i18n$t("Apply split")), class = "btn-outline-primary float-end" ), tags$div(class = "clearfix") diff --git a/R/sysdata.rda b/R/sysdata.rda index c56ca282..443516d1 100644 Binary files a/R/sysdata.rda and b/R/sysdata.rda differ diff --git a/R/ui_elements.R b/R/ui_elements.R index 6686879d..2cd23878 100644 --- a/R/ui_elements.R +++ b/R/ui_elements.R @@ -124,7 +124,7 @@ ui_elements <- function(selection) { inputId = "modal_initial_view", label = i18n$t("Quick overview"), width = "100%", - icon = phosphoricons::ph("binoculars",weight = "bold"), + icon = phosphoricons::ph("binoculars"), # icon = shiny::icon("binoculars"), disabled = FALSE ), @@ -169,7 +169,7 @@ ui_elements <- function(selection) { inputId = "act_start", label = i18n$t("Let's begin!"), width = "100%", - icon = phosphoricons::ph("play",weight = "bold"), + icon = phosphoricons::ph("play"), # icon = shiny::icon("play"), disabled = TRUE ), @@ -460,7 +460,7 @@ ui_elements <- function(selection) { inputId = "act_eval", label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator",weight = "bold"), + icon = phosphoricons::ph("calculator"), # icon = shiny::icon("calculator"), disabled = TRUE ), diff --git a/R/update-factor-ext.R b/R/update-factor-ext.R index 98d24dae..e8699886 100644 --- a/R/update-factor-ext.R +++ b/R/update-factor-ext.R @@ -44,7 +44,7 @@ update_factor_ui <- function(id) { actionButton( disabled = TRUE, inputId = ns("drop_levels"), - label = tagList(phosphoricons::ph("trash",weight = "bold"), i18n$t("Drop empty")), + label = tagList(phosphoricons::ph("trash"), i18n$t("Drop empty")), class = "btn-outline-primary mb-3", width = "100%" ) @@ -55,7 +55,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_levels"), label = tagList( - phosphoricons::ph("sort-ascending",weight = "bold"), + phosphoricons::ph("sort-ascending"), i18n$t("Sort by levels") ), class = "btn-outline-primary mb-3", @@ -68,7 +68,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_occurrences"), label = tagList( - phosphoricons::ph("sort-ascending",weight = "bold"), + phosphoricons::ph("sort-ascending"), i18n$t("Sort by count") ), class = "btn-outline-primary mb-3", @@ -92,7 +92,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("create"), label = tagList( - phosphoricons::ph("arrow-clockwise",weight = "bold"), + phosphoricons::ph("arrow-clockwise"), i18n$t("Update factor variable") ), class = "btn-outline-primary" diff --git a/R/update-variables-ext.R b/R/update-variables-ext.R index b5dc5ab0..17542646 100644 --- a/R/update-variables-ext.R +++ b/R/update-variables-ext.R @@ -30,7 +30,7 @@ update_variables_ui <- function(id, title = "") { placement = "bottom-end", shiny::actionButton( inputId = ns("settings"), - label = phosphoricons::ph("gear",weight = "bold"), + label = phosphoricons::ph("gear"), class = "pull-right float-right" ), shinyWidgets::textInputIcon( @@ -75,7 +75,7 @@ update_variables_ui <- function(id, title = "") { shiny::actionButton( inputId = ns("validate"), label = htmltools::tagList( - phosphoricons::ph("arrow-circle-right", title = i18n$t("Apply changes"),weight = "bold"), + phosphoricons::ph("arrow-circle-right", title = i18n$t("Apply changes")), i18n$t("Apply changes") ), width = "100%" diff --git a/SESSION.md b/SESSION.md index 1e301770..d1466928 100644 --- a/SESSION.md +++ b/SESSION.md @@ -4,18 +4,18 @@ |setting |value | |:-----------|:------------------------------------------| |version |R version 4.5.2 (2025-10-31) | -|os |macOS Tahoe 26.4.1 | +|os |macOS Tahoe 26.4 | |system |aarch64, darwin20 | |ui |RStudio | |language |(EN) | |collate |en_US.UTF-8 | |ctype |en_US.UTF-8 | |tz |Europe/Copenhagen | -|date |2026-04-10 | +|date |2026-04-01 | |rstudio |2026.01.1+403 Apple Blossom (desktop) | |pandoc |3.6.4 @ /opt/homebrew/bin/ (via rmarkdown) | |quarto |1.7.30 @ /usr/local/bin/quarto | -|FreesearchR |26.4.2.260410 | +|FreesearchR |26.4.1.260401 | -------------------------------------------------------------------------------- @@ -83,7 +83,7 @@ |foreach |1.5.2 |2022-02-02 |CRAN (R 4.5.0) | |foreign |0.8-91 |2026-01-29 |CRAN (R 4.5.2) | |Formula |1.2-5 |2023-02-24 |CRAN (R 4.5.0) | -|FreesearchR |26.4.2 |NA |NA | +|FreesearchR |26.4.1 |NA |NA | |fs |1.6.7 |2026-03-06 |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) | @@ -147,6 +147,7 @@ |pkgload |1.5.0 |2026-02-03 |CRAN (R 4.5.2) | |plyr |1.8.9 |2023-10-02 |CRAN (R 4.5.0) | |polyclip |1.10-7 |2024-07-23 |CRAN (R 4.5.0) | +|polylabelr |1.0.0 |2026-01-19 |CRAN (R 4.5.2) | |pracma |2.4.6 |2025-10-22 |CRAN (R 4.5.0) | |processx |3.8.6 |2025-02-21 |CRAN (R 4.5.0) | |promises |1.5.0 |2025-11-01 |CRAN (R 4.5.0) | diff --git a/app_docker/app.R b/app_docker/app.R index 4dd38592..fe1bceb3 100644 --- a/app_docker/app.R +++ b/app_docker/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmprUCGcI/file4761ae70bf7.R +#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpmlTuE8/file8be05102425f.R ######## i18n_path <- here::here("translations") @@ -64,7 +64,7 @@ i18n$set_translation_language("en") #### Current file: /Users/au301842/FreesearchR/R//app_version.R ######## -app_version <- function()'26.4.2' +app_version <- function()'26.4.1' ######## @@ -512,7 +512,7 @@ create_column_ui <- function(id) { actionButton( inputId = ns("compute"), label = tagList( - phosphoricons::ph("pencil",weight = "bold"), i18n$t("Create column") + phosphoricons::ph("pencil"), i18n$t("Create column") ), class = "btn-outline-primary", width = "100%" @@ -520,7 +520,7 @@ create_column_ui <- function(id) { actionButton( inputId = ns("remove"), label = tagList( - phosphoricons::ph("x-circle",weight = "bold"), + phosphoricons::ph("x-circle"), i18n$t("Cancel") ), class = "btn-outline-danger", @@ -1568,7 +1568,7 @@ cut_variable_ui <- function(id) { toastui::datagridOutput2(outputId = ns("count")), actionButton( inputId = ns("create"), - label = tagList(phosphoricons::ph("scissors",weight = "bold"), i18n$t("Create factor variable")), + label = tagList(phosphoricons::ph("scissors"), i18n$t("Create factor variable")), class = "btn-outline-primary float-end" ), tags$div(class = "clearfix") @@ -2175,7 +2175,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { inputId = ns("act_plot"), label = i18n$t("Plot"), width = "100%", - icon = phosphoricons::ph("paint-brush",weight = "bold"), + icon = phosphoricons::ph("paint-brush"), # icon = shiny::icon("palette"), disabled = FALSE ), @@ -2380,8 +2380,7 @@ data_visuals_server <- function(id, colorSelectInput( inputId = ns("color_palette"), label = i18n$t("Choose color palette"), - choices = palettes, - previews = 5 + choices = palettes ) }) @@ -2859,7 +2858,6 @@ wrap_plot_list <- function(data, guides = "collect", axes = "collect", axis_titles = "collect", - y.axis.percentage = FALSE, ...) { if (ggplot2::is_ggplot(data[[1]])) { if (length(data) > 1) { @@ -2873,7 +2871,7 @@ wrap_plot_list <- function(data, .x } })() |> - align_axes(percentage=y.axis.percentage) |> + align_axes() |> patchwork::wrap_plots(guides = guides, axes = axes, axis_titles = axis_titles, @@ -2918,8 +2916,7 @@ wrap_plot_list <- function(data, #' align_axes <- function(..., x.axis = TRUE, - y.axis = TRUE, - percentage = FALSE) { + y.axis = TRUE) { # https://stackoverflow.com/questions/62818776/get-axis-limits-from-ggplot-object # https://github.com/thomasp85/patchwork/blob/main/R/plot_multipage.R#L150 if (ggplot2::is_ggplot(..1)) { @@ -2937,7 +2934,7 @@ align_axes <- function(..., xr <- clean_common_axis(p, "x") suppressWarnings({ - p_out <- purrr::map(p, \(.x) { + purrr::map(p, \(.x) { out <- .x if (isTRUE(x.axis)) { out <- out + ggplot2::xlim(xr) @@ -2948,15 +2945,6 @@ align_axes <- function(..., out }) }) - - if(isTRUE(percentage)){ - lapply(p_out,\(.x){ - .x+ - ggplot2::scale_y_continuous(labels = scales::percent) - }) - } else { - p_out - } } #' Extract and clean axis ranges @@ -4043,13 +4031,13 @@ color_choices <- function() { "Perceptual (blue-yellow)" = "viridis", "Perceptual (fire)" = "plasma", "Colour-blind friendly" = "Okabe-Ito", - "Diverging (red-yellow-green)"= "RdYlGn", - "Diverging (red-blue)" = "RdBu", - "Sequential (blues)" = "Blues", - "Qualitative (paired)" = "Paired", "Qualitative (bold)" = "Dark 2", - "Rainbow" = "Spectral", - "Generic" = "Set1" + "Qualitative (paired)" = "Paired", + "Sequential (blues)" = "Blues", + "Diverging (red-blue)" = "RdBu", + "Tableau style" = "Tableau 10", + "Pastel" = "Pastel 1", + "Rainbow" = "rainbow" ) } @@ -4957,7 +4945,7 @@ apply_idea_filter <- function(filtered_reactive, df_target, env = parent.frame() #### Current file: /Users/au301842/FreesearchR/R//hosted_version.R ######## -hosted_version <- function()'v26.4.2-260410' +hosted_version <- function()'v26.4.1-260402' ######## @@ -6097,7 +6085,7 @@ make_success_alert <- function(data, i18n$t("Data ready to be imported!") ), sprintf( - i18n$t("The data set has %s obs. in %s variables."), + i18n$t("Data has %s obs. of %s variables."), nrow(data), ncol(data) ), @@ -6108,7 +6096,7 @@ make_success_alert <- function(data, i18n$t("Data successfully imported!") ), sprintf( - i18n$t("The data set has %s obs. in %s variables."), + i18n$t("Data has %s obs. of %s variables."), nrow(data), ncol(data) ), @@ -6593,7 +6581,7 @@ data_missings_ui <- function(id, ...) { inputId = ns("act_miss"), label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator",weight = "bold"), + icon = phosphoricons::ph("calculator"), # icon = shiny::icon("calculator"), disabled = TRUE ) @@ -6930,32 +6918,8 @@ missings_logic_across <- function(data, exclude = NULL) { #### Current file: /Users/au301842/FreesearchR/R//plot_bar.R ######## -#' Title -#' -#' @name data-plots -#' -#' @param style barplot style passed to geom_bar position argument. -#' One of c("stack", "dodge", "fill") -#' -#' @returns ggplot list object -#' @export -#' -#' @examples -#' mtcars |> -#' dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> -#' plot_bar(pri = "cyl", sec = "am", style = "fill") -#' -#' mtcars |> -#' dplyr::mutate(dplyr::across(tidyselect::all_of(c("cyl","am","gear")),factor)) |> -#' plot_bar(pri = "cyl", sec = "gear", ter = "am", style = "stack",color.palette="turbo") -plot_bar <- function(data, - pri, - sec = NULL, - ter = NULL, - style = c("stack", "dodge", "fill"), - color.palette = "viridis", - max_level = 30, - ...) { +plot_bar <- function(data, pri, sec, ter = NULL, style = c("stack", "dodge", "fill"), + color.palette = "viridis", max_level = 30, ...) { style <- match.arg(style) if (!is.null(ter)) { @@ -6964,7 +6928,7 @@ plot_bar <- function(data, ds <- list(data) } - out <- lapply(ds, \(.ds) { + out <- lapply(ds, \(.ds){ plot_bar_single( data = .ds, pri = pri, @@ -6975,10 +6939,7 @@ plot_bar <- function(data, ) }) - wrap_plot_list(out, - title = glue::glue(i18n$t("Grouped by {get_label(data,ter)}")), - y.axis.percentage = TRUE, - ...) + wrap_plot_list(out, title = glue::glue(i18n$t("Grouped by {get_label(data,ter)}")), ...) } @@ -7000,11 +6961,7 @@ plot_bar <- function(data, #' mtcars |> #' dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> #' plot_bar_single(pri = "cyl", style = "stack",color.palette="turbo") -plot_bar_single <- function(data, - pri, - sec = NULL, - style = c("stack", "dodge", "fill"), - max_level = 30, +plot_bar_single <- function(data, pri, sec = NULL, style = c("stack", "dodge", "fill"), max_level = 30, color.palette = "viridis") { style <- match.arg(style) @@ -7014,11 +6971,16 @@ plot_bar_single <- function(data, p_data <- as.data.frame(table(data[c(pri, sec)])) |> dplyr::mutate(dplyr::across(tidyselect::any_of(c(pri, sec)), forcats::as_factor), - p = Freq / NROW(data)) + p = Freq / NROW(data) + ) if (nrow(p_data) > max_level) { - p_data <- sort_by(p_data, p_data[["Freq"]], decreasing = TRUE) |> + p_data <- sort_by( + p_data, + p_data[["Freq"]], + decreasing = TRUE + ) |> head(max_level) } @@ -7031,33 +6993,41 @@ plot_bar_single <- function(data, fill <- pri } - p <- ggplot2::ggplot(p_data, ggplot2::aes(x = .data[[pri]], y = p, fill = .data[[fill]])) + + p <- ggplot2::ggplot( + p_data, + ggplot2::aes( + x = .data[[pri]], + y = p, + fill = .data[[fill]] + ) + ) + ggplot2::geom_bar(position = style, stat = "identity") + - scale_fill_generate(palette = color.palette) + - ggplot2::xlab(get_label(data, pri)) + - ggplot2::guides(fill = ggplot2::guide_legend(title = get_label(data, fill))) + ggplot2::scale_y_continuous(labels = scales::percent) + + scale_fill_generate(palette=color.palette) + + ggplot2::ylab("Percentage") + + ggplot2::xlab(get_label(data,pri))+ + ggplot2::guides(fill = ggplot2::guide_legend(title = get_label(data,fill))) ## To handle large number of levels and long level names - if (nrow(p_data) > 10 | - any(nchar(as.character(p_data[[pri]])) > 6)) { + if (nrow(p_data) > 10 | any(nchar(as.character(p_data[[pri]])) > 6)) { p <- p + # ggplot2::guides(fill = "none") + - ggplot2::theme(axis.text.x = ggplot2::element_text( - angle = 90, - vjust = 1, - hjust = 1 - )) + - ggplot2::theme(axis.text.x = ggplot2::element_text(vjust = 0.5)) + ggplot2::theme( + axis.text.x = ggplot2::element_text( + angle = 90, + vjust = 1, hjust = 1 + ))+ + ggplot2::theme( + axis.text.x = ggplot2::element_text(vjust = 0.5) + ) - if (is.null(sec)) { + if (is.null(sec)){ p <- p + ggplot2::guides(fill = "none") } } - p + - ggplot2::scale_y_continuous(labels = scales::percent) + - ggplot2::ylab("Percentage") + p } @@ -10995,7 +10965,7 @@ string_split_ui <- function(id) { ), actionButton( inputId = ns("create"), - label = tagList(phosphoricons::ph("pencil",weight = "bold"), i18n$t("Apply split")), + label = tagList(phosphoricons::ph("pencil"), i18n$t("Apply split")), class = "btn-outline-primary float-end" ), tags$div(class = "clearfix") @@ -11880,7 +11850,7 @@ ui_elements <- function(selection) { inputId = "modal_initial_view", label = i18n$t("Quick overview"), width = "100%", - icon = phosphoricons::ph("binoculars",weight = "bold"), + icon = phosphoricons::ph("binoculars"), # icon = shiny::icon("binoculars"), disabled = FALSE ), @@ -11925,7 +11895,7 @@ ui_elements <- function(selection) { inputId = "act_start", label = i18n$t("Let's begin!"), width = "100%", - icon = phosphoricons::ph("play",weight = "bold"), + icon = phosphoricons::ph("play"), # icon = shiny::icon("play"), disabled = TRUE ), @@ -12216,7 +12186,7 @@ ui_elements <- function(selection) { inputId = "act_eval", label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator",weight = "bold"), + icon = phosphoricons::ph("calculator"), # icon = shiny::icon("calculator"), disabled = TRUE ), @@ -12527,7 +12497,7 @@ update_factor_ui <- function(id) { actionButton( disabled = TRUE, inputId = ns("drop_levels"), - label = tagList(phosphoricons::ph("trash",weight = "bold"), i18n$t("Drop empty")), + label = tagList(phosphoricons::ph("trash"), i18n$t("Drop empty")), class = "btn-outline-primary mb-3", width = "100%" ) @@ -12538,7 +12508,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_levels"), label = tagList( - phosphoricons::ph("sort-ascending",weight = "bold"), + phosphoricons::ph("sort-ascending"), i18n$t("Sort by levels") ), class = "btn-outline-primary mb-3", @@ -12551,7 +12521,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_occurrences"), label = tagList( - phosphoricons::ph("sort-ascending",weight = "bold"), + phosphoricons::ph("sort-ascending"), i18n$t("Sort by count") ), class = "btn-outline-primary mb-3", @@ -12575,7 +12545,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("create"), label = tagList( - phosphoricons::ph("arrow-clockwise",weight = "bold"), + phosphoricons::ph("arrow-clockwise"), i18n$t("Update factor variable") ), class = "btn-outline-primary" @@ -12927,7 +12897,7 @@ update_variables_ui <- function(id, title = "") { placement = "bottom-end", shiny::actionButton( inputId = ns("settings"), - label = phosphoricons::ph("gear",weight = "bold"), + label = phosphoricons::ph("gear"), class = "pull-right float-right" ), shinyWidgets::textInputIcon( @@ -12972,7 +12942,7 @@ update_variables_ui <- function(id, title = "") { shiny::actionButton( inputId = ns("validate"), label = htmltools::tagList( - phosphoricons::ph("arrow-circle-right", title = i18n$t("Apply changes"),weight = "bold"), + phosphoricons::ph("arrow-circle-right", title = i18n$t("Apply changes")), i18n$t("Apply changes") ), width = "100%" diff --git a/app_docker/translations/translation_da.csv b/app_docker/translations/translation_da.csv index 927131ba..2240bc2c 100644 --- a/app_docker/translations/translation_da.csv +++ b/app_docker/translations/translation_da.csv @@ -275,6 +275,7 @@ "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.","Vælg et træningsdatasæt." "Data ready to be imported!","Data er klar til at blive importeret!" +"Data has %s obs. of %s variables.","Data har %s obs. på %s variabler." "Data successfully imported!","Data successfully imported!" "Click to see data","Klik for at se data" "No data present.","Ingen data tilstede." @@ -319,4 +320,3 @@ "Likert diagram","Likert diagram" "Modify factor","Modify factor" "Create factor/categorical variable from other variables.","Create factor/categorical variable from other variables." -"The data set has %s obs. in %s variables.","The data set has %s obs. in %s variables." diff --git a/app_docker/translations/translation_sw.csv b/app_docker/translations/translation_sw.csv index 134ec155..7866710e 100644 --- a/app_docker/translations/translation_sw.csv +++ b/app_docker/translations/translation_sw.csv @@ -275,6 +275,7 @@ "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 sample dataset from a package.","Select a sample dataset from a package." "Data ready to be imported!","Data ready to be imported!" +"Data has %s obs. of %s variables.","Data has %s obs. of %s variables." "Data successfully imported!","Data successfully imported!" "Click to see data","Click to see data" "No data present.","No data present." @@ -319,4 +320,3 @@ "Likert diagram","Likert diagram" "Modify factor","Modify factor" "Create factor/categorical variable from other variables.","Create factor/categorical variable from other variables." -"The data set has %s obs. in %s variables.","The data set has %s obs. in %s variables." diff --git a/inst/apps/FreesearchR/app.R b/inst/apps/FreesearchR/app.R index fbadebb2..66df2775 100644 --- a/inst/apps/FreesearchR/app.R +++ b/inst/apps/FreesearchR/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmprUCGcI/file47614d090a4c.R +#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpmlTuE8/file8be0207bfdc2.R ######## i18n_path <- system.file("translations", package = "FreesearchR") @@ -64,7 +64,7 @@ i18n$set_translation_language("en") #### Current file: /Users/au301842/FreesearchR/R//app_version.R ######## -app_version <- function()'26.4.2' +app_version <- function()'26.4.1' ######## @@ -512,7 +512,7 @@ create_column_ui <- function(id) { actionButton( inputId = ns("compute"), label = tagList( - phosphoricons::ph("pencil",weight = "bold"), i18n$t("Create column") + phosphoricons::ph("pencil"), i18n$t("Create column") ), class = "btn-outline-primary", width = "100%" @@ -520,7 +520,7 @@ create_column_ui <- function(id) { actionButton( inputId = ns("remove"), label = tagList( - phosphoricons::ph("x-circle",weight = "bold"), + phosphoricons::ph("x-circle"), i18n$t("Cancel") ), class = "btn-outline-danger", @@ -1568,7 +1568,7 @@ cut_variable_ui <- function(id) { toastui::datagridOutput2(outputId = ns("count")), actionButton( inputId = ns("create"), - label = tagList(phosphoricons::ph("scissors",weight = "bold"), i18n$t("Create factor variable")), + label = tagList(phosphoricons::ph("scissors"), i18n$t("Create factor variable")), class = "btn-outline-primary float-end" ), tags$div(class = "clearfix") @@ -2175,7 +2175,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { inputId = ns("act_plot"), label = i18n$t("Plot"), width = "100%", - icon = phosphoricons::ph("paint-brush",weight = "bold"), + icon = phosphoricons::ph("paint-brush"), # icon = shiny::icon("palette"), disabled = FALSE ), @@ -2380,8 +2380,7 @@ data_visuals_server <- function(id, colorSelectInput( inputId = ns("color_palette"), label = i18n$t("Choose color palette"), - choices = palettes, - previews = 5 + choices = palettes ) }) @@ -2859,7 +2858,6 @@ wrap_plot_list <- function(data, guides = "collect", axes = "collect", axis_titles = "collect", - y.axis.percentage = FALSE, ...) { if (ggplot2::is_ggplot(data[[1]])) { if (length(data) > 1) { @@ -2873,7 +2871,7 @@ wrap_plot_list <- function(data, .x } })() |> - align_axes(percentage=y.axis.percentage) |> + align_axes() |> patchwork::wrap_plots(guides = guides, axes = axes, axis_titles = axis_titles, @@ -2918,8 +2916,7 @@ wrap_plot_list <- function(data, #' align_axes <- function(..., x.axis = TRUE, - y.axis = TRUE, - percentage = FALSE) { + y.axis = TRUE) { # https://stackoverflow.com/questions/62818776/get-axis-limits-from-ggplot-object # https://github.com/thomasp85/patchwork/blob/main/R/plot_multipage.R#L150 if (ggplot2::is_ggplot(..1)) { @@ -2937,7 +2934,7 @@ align_axes <- function(..., xr <- clean_common_axis(p, "x") suppressWarnings({ - p_out <- purrr::map(p, \(.x) { + purrr::map(p, \(.x) { out <- .x if (isTRUE(x.axis)) { out <- out + ggplot2::xlim(xr) @@ -2948,15 +2945,6 @@ align_axes <- function(..., out }) }) - - if(isTRUE(percentage)){ - lapply(p_out,\(.x){ - .x+ - ggplot2::scale_y_continuous(labels = scales::percent) - }) - } else { - p_out - } } #' Extract and clean axis ranges @@ -4043,13 +4031,13 @@ color_choices <- function() { "Perceptual (blue-yellow)" = "viridis", "Perceptual (fire)" = "plasma", "Colour-blind friendly" = "Okabe-Ito", - "Diverging (red-yellow-green)"= "RdYlGn", - "Diverging (red-blue)" = "RdBu", - "Sequential (blues)" = "Blues", - "Qualitative (paired)" = "Paired", "Qualitative (bold)" = "Dark 2", - "Rainbow" = "Spectral", - "Generic" = "Set1" + "Qualitative (paired)" = "Paired", + "Sequential (blues)" = "Blues", + "Diverging (red-blue)" = "RdBu", + "Tableau style" = "Tableau 10", + "Pastel" = "Pastel 1", + "Rainbow" = "rainbow" ) } @@ -4957,7 +4945,7 @@ apply_idea_filter <- function(filtered_reactive, df_target, env = parent.frame() #### Current file: /Users/au301842/FreesearchR/R//hosted_version.R ######## -hosted_version <- function()'v26.4.2-260410' +hosted_version <- function()'v26.4.1-260402' ######## @@ -6097,7 +6085,7 @@ make_success_alert <- function(data, i18n$t("Data ready to be imported!") ), sprintf( - i18n$t("The data set has %s obs. in %s variables."), + i18n$t("Data has %s obs. of %s variables."), nrow(data), ncol(data) ), @@ -6108,7 +6096,7 @@ make_success_alert <- function(data, i18n$t("Data successfully imported!") ), sprintf( - i18n$t("The data set has %s obs. in %s variables."), + i18n$t("Data has %s obs. of %s variables."), nrow(data), ncol(data) ), @@ -6593,7 +6581,7 @@ data_missings_ui <- function(id, ...) { inputId = ns("act_miss"), label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator",weight = "bold"), + icon = phosphoricons::ph("calculator"), # icon = shiny::icon("calculator"), disabled = TRUE ) @@ -6930,32 +6918,8 @@ missings_logic_across <- function(data, exclude = NULL) { #### Current file: /Users/au301842/FreesearchR/R//plot_bar.R ######## -#' Title -#' -#' @name data-plots -#' -#' @param style barplot style passed to geom_bar position argument. -#' One of c("stack", "dodge", "fill") -#' -#' @returns ggplot list object -#' @export -#' -#' @examples -#' mtcars |> -#' dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> -#' plot_bar(pri = "cyl", sec = "am", style = "fill") -#' -#' mtcars |> -#' dplyr::mutate(dplyr::across(tidyselect::all_of(c("cyl","am","gear")),factor)) |> -#' plot_bar(pri = "cyl", sec = "gear", ter = "am", style = "stack",color.palette="turbo") -plot_bar <- function(data, - pri, - sec = NULL, - ter = NULL, - style = c("stack", "dodge", "fill"), - color.palette = "viridis", - max_level = 30, - ...) { +plot_bar <- function(data, pri, sec, ter = NULL, style = c("stack", "dodge", "fill"), + color.palette = "viridis", max_level = 30, ...) { style <- match.arg(style) if (!is.null(ter)) { @@ -6964,7 +6928,7 @@ plot_bar <- function(data, ds <- list(data) } - out <- lapply(ds, \(.ds) { + out <- lapply(ds, \(.ds){ plot_bar_single( data = .ds, pri = pri, @@ -6975,10 +6939,7 @@ plot_bar <- function(data, ) }) - wrap_plot_list(out, - title = glue::glue(i18n$t("Grouped by {get_label(data,ter)}")), - y.axis.percentage = TRUE, - ...) + wrap_plot_list(out, title = glue::glue(i18n$t("Grouped by {get_label(data,ter)}")), ...) } @@ -7000,11 +6961,7 @@ plot_bar <- function(data, #' mtcars |> #' dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> #' plot_bar_single(pri = "cyl", style = "stack",color.palette="turbo") -plot_bar_single <- function(data, - pri, - sec = NULL, - style = c("stack", "dodge", "fill"), - max_level = 30, +plot_bar_single <- function(data, pri, sec = NULL, style = c("stack", "dodge", "fill"), max_level = 30, color.palette = "viridis") { style <- match.arg(style) @@ -7014,11 +6971,16 @@ plot_bar_single <- function(data, p_data <- as.data.frame(table(data[c(pri, sec)])) |> dplyr::mutate(dplyr::across(tidyselect::any_of(c(pri, sec)), forcats::as_factor), - p = Freq / NROW(data)) + p = Freq / NROW(data) + ) if (nrow(p_data) > max_level) { - p_data <- sort_by(p_data, p_data[["Freq"]], decreasing = TRUE) |> + p_data <- sort_by( + p_data, + p_data[["Freq"]], + decreasing = TRUE + ) |> head(max_level) } @@ -7031,33 +6993,41 @@ plot_bar_single <- function(data, fill <- pri } - p <- ggplot2::ggplot(p_data, ggplot2::aes(x = .data[[pri]], y = p, fill = .data[[fill]])) + + p <- ggplot2::ggplot( + p_data, + ggplot2::aes( + x = .data[[pri]], + y = p, + fill = .data[[fill]] + ) + ) + ggplot2::geom_bar(position = style, stat = "identity") + - scale_fill_generate(palette = color.palette) + - ggplot2::xlab(get_label(data, pri)) + - ggplot2::guides(fill = ggplot2::guide_legend(title = get_label(data, fill))) + ggplot2::scale_y_continuous(labels = scales::percent) + + scale_fill_generate(palette=color.palette) + + ggplot2::ylab("Percentage") + + ggplot2::xlab(get_label(data,pri))+ + ggplot2::guides(fill = ggplot2::guide_legend(title = get_label(data,fill))) ## To handle large number of levels and long level names - if (nrow(p_data) > 10 | - any(nchar(as.character(p_data[[pri]])) > 6)) { + if (nrow(p_data) > 10 | any(nchar(as.character(p_data[[pri]])) > 6)) { p <- p + # ggplot2::guides(fill = "none") + - ggplot2::theme(axis.text.x = ggplot2::element_text( - angle = 90, - vjust = 1, - hjust = 1 - )) + - ggplot2::theme(axis.text.x = ggplot2::element_text(vjust = 0.5)) + ggplot2::theme( + axis.text.x = ggplot2::element_text( + angle = 90, + vjust = 1, hjust = 1 + ))+ + ggplot2::theme( + axis.text.x = ggplot2::element_text(vjust = 0.5) + ) - if (is.null(sec)) { + if (is.null(sec)){ p <- p + ggplot2::guides(fill = "none") } } - p + - ggplot2::scale_y_continuous(labels = scales::percent) + - ggplot2::ylab("Percentage") + p } @@ -10995,7 +10965,7 @@ string_split_ui <- function(id) { ), actionButton( inputId = ns("create"), - label = tagList(phosphoricons::ph("pencil",weight = "bold"), i18n$t("Apply split")), + label = tagList(phosphoricons::ph("pencil"), i18n$t("Apply split")), class = "btn-outline-primary float-end" ), tags$div(class = "clearfix") @@ -11880,7 +11850,7 @@ ui_elements <- function(selection) { inputId = "modal_initial_view", label = i18n$t("Quick overview"), width = "100%", - icon = phosphoricons::ph("binoculars",weight = "bold"), + icon = phosphoricons::ph("binoculars"), # icon = shiny::icon("binoculars"), disabled = FALSE ), @@ -11925,7 +11895,7 @@ ui_elements <- function(selection) { inputId = "act_start", label = i18n$t("Let's begin!"), width = "100%", - icon = phosphoricons::ph("play",weight = "bold"), + icon = phosphoricons::ph("play"), # icon = shiny::icon("play"), disabled = TRUE ), @@ -12216,7 +12186,7 @@ ui_elements <- function(selection) { inputId = "act_eval", label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator",weight = "bold"), + icon = phosphoricons::ph("calculator"), # icon = shiny::icon("calculator"), disabled = TRUE ), @@ -12527,7 +12497,7 @@ update_factor_ui <- function(id) { actionButton( disabled = TRUE, inputId = ns("drop_levels"), - label = tagList(phosphoricons::ph("trash",weight = "bold"), i18n$t("Drop empty")), + label = tagList(phosphoricons::ph("trash"), i18n$t("Drop empty")), class = "btn-outline-primary mb-3", width = "100%" ) @@ -12538,7 +12508,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_levels"), label = tagList( - phosphoricons::ph("sort-ascending",weight = "bold"), + phosphoricons::ph("sort-ascending"), i18n$t("Sort by levels") ), class = "btn-outline-primary mb-3", @@ -12551,7 +12521,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("sort_occurrences"), label = tagList( - phosphoricons::ph("sort-ascending",weight = "bold"), + phosphoricons::ph("sort-ascending"), i18n$t("Sort by count") ), class = "btn-outline-primary mb-3", @@ -12575,7 +12545,7 @@ update_factor_ui <- function(id) { actionButton( inputId = ns("create"), label = tagList( - phosphoricons::ph("arrow-clockwise",weight = "bold"), + phosphoricons::ph("arrow-clockwise"), i18n$t("Update factor variable") ), class = "btn-outline-primary" @@ -12927,7 +12897,7 @@ update_variables_ui <- function(id, title = "") { placement = "bottom-end", shiny::actionButton( inputId = ns("settings"), - label = phosphoricons::ph("gear",weight = "bold"), + label = phosphoricons::ph("gear"), class = "pull-right float-right" ), shinyWidgets::textInputIcon( @@ -12972,7 +12942,7 @@ update_variables_ui <- function(id, title = "") { shiny::actionButton( inputId = ns("validate"), label = htmltools::tagList( - phosphoricons::ph("arrow-circle-right", title = i18n$t("Apply changes"),weight = "bold"), + phosphoricons::ph("arrow-circle-right", title = i18n$t("Apply changes")), i18n$t("Apply changes") ), width = "100%" diff --git a/inst/translations/translation_da.csv b/inst/translations/translation_da.csv index 927131ba..2240bc2c 100644 --- a/inst/translations/translation_da.csv +++ b/inst/translations/translation_da.csv @@ -275,6 +275,7 @@ "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.","Vælg et træningsdatasæt." "Data ready to be imported!","Data er klar til at blive importeret!" +"Data has %s obs. of %s variables.","Data har %s obs. på %s variabler." "Data successfully imported!","Data successfully imported!" "Click to see data","Klik for at se data" "No data present.","Ingen data tilstede." @@ -319,4 +320,3 @@ "Likert diagram","Likert diagram" "Modify factor","Modify factor" "Create factor/categorical variable from other variables.","Create factor/categorical variable from other variables." -"The data set has %s obs. in %s variables.","The data set has %s obs. in %s variables." diff --git a/inst/translations/translation_sw.csv b/inst/translations/translation_sw.csv index 134ec155..7866710e 100644 --- a/inst/translations/translation_sw.csv +++ b/inst/translations/translation_sw.csv @@ -275,6 +275,7 @@ "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 sample dataset from a package.","Select a sample dataset from a package." "Data ready to be imported!","Data ready to be imported!" +"Data has %s obs. of %s variables.","Data has %s obs. of %s variables." "Data successfully imported!","Data successfully imported!" "Click to see data","Click to see data" "No data present.","No data present." @@ -319,4 +320,3 @@ "Likert diagram","Likert diagram" "Modify factor","Modify factor" "Create factor/categorical variable from other variables.","Create factor/categorical variable from other variables." -"The data set has %s obs. in %s variables.","The data set has %s obs. in %s variables." diff --git a/man/align_axes.Rd b/man/align_axes.Rd index 6d3e79e2..2a8ab279 100644 --- a/man/align_axes.Rd +++ b/man/align_axes.Rd @@ -4,7 +4,7 @@ \alias{align_axes} \title{Aligns axes between plots} \usage{ -align_axes(..., x.axis = TRUE, y.axis = TRUE, percentage = FALSE) +align_axes(..., x.axis = TRUE, y.axis = TRUE) } \arguments{ \item{...}{ggplot2 objects or list of ggplot2 objects} diff --git a/man/data-plots.Rd b/man/data-plots.Rd index 4222466f..6da5a230 100644 --- a/man/data-plots.Rd +++ b/man/data-plots.Rd @@ -7,7 +7,6 @@ \alias{data_visuals_ui} \alias{data_visuals_server} \alias{create_plot} -\alias{plot_bar} \alias{plot_bar_single} \alias{plot_box} \alias{plot_box_single} @@ -26,17 +25,6 @@ data_visuals_server(id, data, palettes, ...) create_plot(data, type, pri, sec, ter = NULL, color.palette = "viridis", ...) -plot_bar( - data, - pri, - sec = NULL, - ter = NULL, - style = c("stack", "dodge", "fill"), - color.palette = "viridis", - max_level = 30, - ... -) - plot_bar_single( data, pri, @@ -103,8 +91,6 @@ shiny server module ggplot2 object -ggplot list object - ggplot object ggplot2 object @@ -130,8 +116,6 @@ Data correlations evaluation module Wrapper to create plot based on provided type -Title - Single vertical barplot Beautiful box plot(s) @@ -154,13 +138,6 @@ Beautiful violin plot } \examples{ create_plot(mtcars, "plot_violin", "mpg", "cyl") |> attributes() -mtcars |> - dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> - plot_bar(pri = "cyl", sec = "am", style = "fill") - -mtcars |> - dplyr::mutate(dplyr::across(tidyselect::all_of(c("cyl","am","gear")),factor)) |> - plot_bar(pri = "cyl", sec = "gear", ter = "am", style = "stack",color.palette="turbo") mtcars |> dplyr::mutate(cyl = factor(cyl), am = factor(am)) |> plot_bar_single(pri = "cyl", sec = "am", style = "fill") diff --git a/man/wrap_plot_list.Rd b/man/wrap_plot_list.Rd index 40cf0ba1..2a6e8d62 100644 --- a/man/wrap_plot_list.Rd +++ b/man/wrap_plot_list.Rd @@ -12,7 +12,6 @@ wrap_plot_list( guides = "collect", axes = "collect", axis_titles = "collect", - y.axis.percentage = FALSE, ... ) }