Compare commits
No commits in common. "5c8d84fccd7db80d73c3839eb0bd2c5dd2c2ab51" and "c7b879f458c116801c43ac3cfb9db1c62c141d89" have entirely different histories.
5c8d84fccd
...
c7b879f458
|
@ -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.7.2
|
version: 25.6.4
|
||||||
doi: 10.5281/zenodo.14527429
|
doi: 10.5281/zenodo.14527429
|
||||||
identifiers:
|
identifiers:
|
||||||
- type: url
|
- type: url
|
||||||
|
|
|
@ -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.7.2
|
Version: 25.6.4
|
||||||
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")),
|
||||||
|
|
|
@ -17,7 +17,6 @@ export(clean_common_axis)
|
||||||
export(clean_date)
|
export(clean_date)
|
||||||
export(clean_sep)
|
export(clean_sep)
|
||||||
export(columnSelectInput)
|
export(columnSelectInput)
|
||||||
export(compare_missings)
|
|
||||||
export(contrast_text)
|
export(contrast_text)
|
||||||
export(create_baseline)
|
export(create_baseline)
|
||||||
export(create_column_server)
|
export(create_column_server)
|
||||||
|
|
8
NEWS.md
|
@ -1,11 +1,3 @@
|
||||||
# FreesearchR 25.7.2 - DEV
|
|
||||||
|
|
||||||
- *FIX* refining hiding drop downs. All JavaScript is now in separate file. Coded with GAI help from claude.ai.
|
|
||||||
|
|
||||||
# FreesearchR 25.7.1
|
|
||||||
|
|
||||||
- *NEW* UI overhaul and navigation update. The interface is simplified to clearly show the relationship between panels and sub-items by abandoning multiple levels on panel to instead show a drop-down menu. This also results in simplified sidebar menus with room to add more controls in the future.
|
|
||||||
|
|
||||||
# FreesearchR 25.6.4
|
# FreesearchR 25.6.4
|
||||||
|
|
||||||
The app is now also published as a docker container. See the README for instructions. It is mainly to use for hosting the app. Work is ongoing to publish a true standalone app, preferably for both Windows and MacOS.
|
The app is now also published as a docker container. See the README for instructions. It is mainly to use for hosting the app. Work is ongoing to publish a true standalone app, preferably for both Windows and MacOS.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
app_version <- function()'25.7.2'
|
app_version <- function()'25.6.4'
|
||||||
|
|
166
R/data_plots.R
|
@ -11,96 +11,97 @@
|
||||||
data_visuals_ui <- function(id, tab_title = "Plots", ...) {
|
data_visuals_ui <- function(id, tab_title = "Plots", ...) {
|
||||||
ns <- shiny::NS(id)
|
ns <- shiny::NS(id)
|
||||||
|
|
||||||
|
# bslib::navset_bar(
|
||||||
list(
|
list(
|
||||||
bslib::layout_sidebar(
|
|
||||||
sidebar = bslib::sidebar(
|
# Sidebar with a slider input
|
||||||
bslib::accordion(
|
sidebar = bslib::sidebar(
|
||||||
multiple = FALSE,
|
bslib::accordion(
|
||||||
bslib::accordion_panel(
|
multiple = FALSE,
|
||||||
title = "Creating plot",
|
bslib::accordion_panel(
|
||||||
icon = bsicons::bs_icon("graph-up"),
|
title = "Creating plot",
|
||||||
shiny::uiOutput(outputId = ns("primary")),
|
icon = bsicons::bs_icon("graph-up"),
|
||||||
shiny::helpText('Only non-text variables are available for plotting. Go the "Data" to reclass data to plot.'),
|
shiny::uiOutput(outputId = ns("primary")),
|
||||||
shiny::tags$br(),
|
shiny::helpText('Only non-text variables are available for plotting. Go the "Data" to reclass data to plot.'),
|
||||||
shiny::uiOutput(outputId = ns("type")),
|
shiny::tags$br(),
|
||||||
shiny::uiOutput(outputId = ns("secondary")),
|
shiny::uiOutput(outputId = ns("type")),
|
||||||
shiny::uiOutput(outputId = ns("tertiary")),
|
shiny::uiOutput(outputId = ns("secondary")),
|
||||||
shiny::br(),
|
shiny::uiOutput(outputId = ns("tertiary")),
|
||||||
shiny::actionButton(
|
shiny::br(),
|
||||||
inputId = ns("act_plot"),
|
shiny::actionButton(
|
||||||
label = "Plot",
|
inputId = ns("act_plot"),
|
||||||
width = "100%",
|
label = "Plot",
|
||||||
icon = shiny::icon("palette"),
|
width = "100%",
|
||||||
disabled = FALSE
|
icon = shiny::icon("palette"),
|
||||||
),
|
disabled = FALSE
|
||||||
shiny::helpText('Adjust settings, then press "Plot".')
|
|
||||||
),
|
),
|
||||||
bslib::accordion_panel(
|
shiny::helpText('Adjust settings, then press "Plot".')
|
||||||
title = "Download",
|
|
||||||
icon = bsicons::bs_icon("download"),
|
|
||||||
shinyWidgets::noUiSliderInput(
|
|
||||||
inputId = ns("height_slide"),
|
|
||||||
label = "Plot height (mm)",
|
|
||||||
min = 50,
|
|
||||||
max = 300,
|
|
||||||
value = 100,
|
|
||||||
step = 1,
|
|
||||||
format = shinyWidgets::wNumbFormat(decimals = 0),
|
|
||||||
color = datamods:::get_primary_color(),
|
|
||||||
inline = TRUE
|
|
||||||
),
|
|
||||||
# shiny::numericInput(
|
|
||||||
# inputId = ns("height_numeric"),
|
|
||||||
# label = "Plot height (mm)",
|
|
||||||
# min = 50,
|
|
||||||
# max = 300,
|
|
||||||
# value = 100
|
|
||||||
# ),
|
|
||||||
shinyWidgets::noUiSliderInput(
|
|
||||||
inputId = ns("width"),
|
|
||||||
label = "Plot width (mm)",
|
|
||||||
min = 50,
|
|
||||||
max = 300,
|
|
||||||
value = 100,
|
|
||||||
step = 1,
|
|
||||||
format = shinyWidgets::wNumbFormat(decimals = 0),
|
|
||||||
color = datamods:::get_primary_color()
|
|
||||||
),
|
|
||||||
shiny::selectInput(
|
|
||||||
inputId = ns("plot_type"),
|
|
||||||
label = "File format",
|
|
||||||
choices = list(
|
|
||||||
"png",
|
|
||||||
"tiff",
|
|
||||||
"eps",
|
|
||||||
"pdf",
|
|
||||||
"jpeg",
|
|
||||||
"svg"
|
|
||||||
)
|
|
||||||
),
|
|
||||||
shiny::br(),
|
|
||||||
# Button
|
|
||||||
shiny::downloadButton(
|
|
||||||
outputId = ns("download_plot"),
|
|
||||||
label = "Download plot",
|
|
||||||
icon = shiny::icon("download")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
),
|
||||||
shiny::p("We have collected a few notes on visualising data and details on the options included in FreesearchR:", shiny::tags$a(
|
# bslib::accordion_panel(
|
||||||
href = "https://agdamsbo.github.io/FreesearchR/articles/visuals.html",
|
# title = "Advanced",
|
||||||
"View notes in new tab",
|
# icon = bsicons::bs_icon("gear")
|
||||||
target = "_blank",
|
# ),
|
||||||
rel = "noopener noreferrer"
|
bslib::accordion_panel(
|
||||||
))
|
title = "Download",
|
||||||
),
|
icon = bsicons::bs_icon("download"),
|
||||||
|
shinyWidgets::noUiSliderInput(
|
||||||
|
inputId = ns("height_slide"),
|
||||||
|
label = "Plot height (mm)",
|
||||||
|
min = 50,
|
||||||
|
max = 300,
|
||||||
|
value = 100,
|
||||||
|
step = 1,
|
||||||
|
format = shinyWidgets::wNumbFormat(decimals = 0),
|
||||||
|
color = datamods:::get_primary_color(),
|
||||||
|
inline = TRUE
|
||||||
|
),
|
||||||
|
# shiny::numericInput(
|
||||||
|
# inputId = ns("height_numeric"),
|
||||||
|
# label = "Plot height (mm)",
|
||||||
|
# min = 50,
|
||||||
|
# max = 300,
|
||||||
|
# value = 100
|
||||||
|
# ),
|
||||||
|
shinyWidgets::noUiSliderInput(
|
||||||
|
inputId = ns("width"),
|
||||||
|
label = "Plot width (mm)",
|
||||||
|
min = 50,
|
||||||
|
max = 300,
|
||||||
|
value = 100,
|
||||||
|
step = 1,
|
||||||
|
format = shinyWidgets::wNumbFormat(decimals = 0),
|
||||||
|
color = datamods:::get_primary_color()
|
||||||
|
),
|
||||||
|
shiny::selectInput(
|
||||||
|
inputId = ns("plot_type"),
|
||||||
|
label = "File format",
|
||||||
|
choices = list(
|
||||||
|
"png",
|
||||||
|
"tiff",
|
||||||
|
"eps",
|
||||||
|
"pdf",
|
||||||
|
"jpeg",
|
||||||
|
"svg"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
shiny::br(),
|
||||||
|
# Button
|
||||||
|
shiny::downloadButton(
|
||||||
|
outputId = ns("download_plot"),
|
||||||
|
label = "Download plot",
|
||||||
|
icon = shiny::icon("download")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
bslib::nav_panel(
|
||||||
|
title = tab_title,
|
||||||
shiny::plotOutput(ns("plot"), height = "70vh"),
|
shiny::plotOutput(ns("plot"), height = "70vh"),
|
||||||
shiny::tags$br(),
|
shiny::tags$br(),
|
||||||
shiny::tags$br(),
|
shiny::tags$br(),
|
||||||
shiny::htmlOutput(outputId = ns("code_plot"))
|
shiny::htmlOutput(outputId = ns("code_plot"))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
# )
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -724,7 +725,6 @@ get_label <- function(data, var = NULL) {
|
||||||
#' paste(sample(letters[1:10], 100, TRUE), collapse = "") |> line_break(force = TRUE)
|
#' paste(sample(letters[1:10], 100, TRUE), collapse = "") |> line_break(force = TRUE)
|
||||||
line_break <- function(data, lineLength = 20, force = FALSE) {
|
line_break <- function(data, lineLength = 20, force = FALSE) {
|
||||||
if (isTRUE(force)) {
|
if (isTRUE(force)) {
|
||||||
## This eats some letters when splitting a sentence... ??
|
|
||||||
gsub(paste0("(.{1,", lineLength, "})(\\s|[[:alnum:]])"), "\\1\n", data)
|
gsub(paste0("(.{1,", lineLength, "})(\\s|[[:alnum:]])"), "\\1\n", data)
|
||||||
} else {
|
} else {
|
||||||
paste(strwrap(data, lineLength), collapse = "\n")
|
paste(strwrap(data, lineLength), collapse = "\n")
|
||||||
|
@ -746,7 +746,7 @@ line_break <- function(data, lineLength = 20, force = FALSE) {
|
||||||
wrap_plot_list <- function(data,
|
wrap_plot_list <- function(data,
|
||||||
tag_levels = NULL,
|
tag_levels = NULL,
|
||||||
title = NULL,
|
title = NULL,
|
||||||
axis.font.family = NULL,
|
axis.font.family=NULL,
|
||||||
...) {
|
...) {
|
||||||
if (ggplot2::is_ggplot(data[[1]])) {
|
if (ggplot2::is_ggplot(data[[1]])) {
|
||||||
if (length(data) > 1) {
|
if (length(data) > 1) {
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
hosted_version <- function()'v25.7.2-250703'
|
hosted_version <- function()'v25.6.4-250627'
|
||||||
|
|
|
@ -44,7 +44,14 @@ data_missings_server <- function(id,
|
||||||
|
|
||||||
tryCatch(
|
tryCatch(
|
||||||
{
|
{
|
||||||
out <- compare_missings(df_tbl,by_var)
|
if (!is.null(by_var) && by_var != "" && by_var %in% names(df_tbl)) {
|
||||||
|
df_tbl[[by_var]] <- ifelse(is.na(df_tbl[[by_var]]), "Missing", "Non-missing")
|
||||||
|
|
||||||
|
out <- gtsummary::tbl_summary(df_tbl, by = by_var) |>
|
||||||
|
gtsummary::add_p()
|
||||||
|
} else {
|
||||||
|
out <- gtsummary::tbl_summary(df_tbl)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error = function(err) {
|
error = function(err) {
|
||||||
showNotification(paste0("Error: ", err), type = "err")
|
showNotification(paste0("Error: ", err), type = "err")
|
||||||
|
@ -122,22 +129,10 @@ missing_demo_app <- function() {
|
||||||
|
|
||||||
missing_demo_app()
|
missing_demo_app()
|
||||||
|
|
||||||
#' Pairwise comparison of missings across covariables
|
|
||||||
#'
|
|
||||||
#' @param data data frame
|
|
||||||
#' @param by_var variable to stratify by missingness
|
|
||||||
#'
|
|
||||||
#' @returns gtsummary list object
|
|
||||||
#' @export
|
|
||||||
#'
|
|
||||||
compare_missings <- function(data,by_var){
|
|
||||||
if (!is.null(by_var) && by_var != "" && by_var %in% names(data)) {
|
|
||||||
data[[by_var]] <- ifelse(is.na(data[[by_var]]), "Missing", "Non-missing")
|
|
||||||
|
|
||||||
out <- gtsummary::tbl_summary(data, by = by_var) |>
|
|
||||||
gtsummary::add_p()
|
|
||||||
} else {
|
|
||||||
out <- gtsummary::tbl_summary(data)
|
|
||||||
}
|
|
||||||
out
|
|
||||||
}
|
|
||||||
|
|
|
@ -44,173 +44,155 @@ regression_ui <- function(id, ...) {
|
||||||
ns <- shiny::NS(id)
|
ns <- shiny::NS(id)
|
||||||
|
|
||||||
shiny::tagList(
|
shiny::tagList(
|
||||||
# title = "",
|
title = "",
|
||||||
bslib::nav_panel(
|
sidebar = bslib::sidebar(
|
||||||
title = "Regression table",
|
shiny::uiOutput(outputId = ns("data_info"), inline = TRUE),
|
||||||
bslib::layout_sidebar(
|
bslib::accordion(
|
||||||
sidebar = bslib::sidebar(
|
open = "acc_reg",
|
||||||
shiny::uiOutput(outputId = ns("data_info"), inline = TRUE),
|
multiple = FALSE,
|
||||||
bslib::accordion(
|
bslib::accordion_panel(
|
||||||
open = "acc_reg",
|
value = "acc_reg",
|
||||||
multiple = FALSE,
|
title = "Regression",
|
||||||
bslib::accordion_panel(
|
icon = bsicons::bs_icon("calculator"),
|
||||||
value = "acc_reg",
|
shiny::uiOutput(outputId = ns("outcome_var")),
|
||||||
title = "Regression",
|
# shiny::selectInput(
|
||||||
icon = bsicons::bs_icon("calculator"),
|
# inputId = "design",
|
||||||
shiny::uiOutput(outputId = ns("outcome_var")),
|
# label = "Study design",
|
||||||
# shiny::selectInput(
|
# selected = "no",
|
||||||
# inputId = "design",
|
# inline = TRUE,
|
||||||
# label = "Study design",
|
# choices = list(
|
||||||
# selected = "no",
|
# "Cross-sectional" = "cross-sectional"
|
||||||
# inline = TRUE,
|
# )
|
||||||
# choices = list(
|
# ),
|
||||||
# "Cross-sectional" = "cross-sectional"
|
shiny::uiOutput(outputId = ns("regression_type")),
|
||||||
# )
|
shiny::radioButtons(
|
||||||
# ),
|
inputId = ns("all"),
|
||||||
shiny::uiOutput(outputId = ns("regression_type")),
|
label = "Specify covariables",
|
||||||
shiny::radioButtons(
|
inline = TRUE, selected = 2,
|
||||||
inputId = ns("all"),
|
choiceNames = c(
|
||||||
label = "Specify covariables",
|
"Yes",
|
||||||
inline = TRUE, selected = 2,
|
"No"
|
||||||
choiceNames = c(
|
),
|
||||||
"Yes",
|
choiceValues = c(1, 2)
|
||||||
"No"
|
),
|
||||||
),
|
shiny::conditionalPanel(
|
||||||
choiceValues = c(1, 2)
|
condition = "input.all==1",
|
||||||
),
|
shiny::uiOutput(outputId = ns("regression_vars")),
|
||||||
shiny::conditionalPanel(
|
shiny::helpText("If none are selected, all are included."),
|
||||||
condition = "input.all==1",
|
shiny::tags$br(),
|
||||||
shiny::uiOutput(outputId = ns("regression_vars")),
|
ns = ns
|
||||||
shiny::helpText("If none are selected, all are included."),
|
),
|
||||||
shiny::tags$br(),
|
bslib::input_task_button(
|
||||||
ns = ns
|
id = ns("load"),
|
||||||
),
|
label = "Analyse",
|
||||||
bslib::input_task_button(
|
icon = bsicons::bs_icon("pencil"),
|
||||||
id = ns("load"),
|
label_busy = "Working...",
|
||||||
label = "Analyse",
|
icon_busy = fontawesome::fa_i("arrows-rotate",
|
||||||
icon = bsicons::bs_icon("pencil"),
|
class = "fa-spin",
|
||||||
label_busy = "Working...",
|
"aria-hidden" = "true"
|
||||||
icon_busy = fontawesome::fa_i("arrows-rotate",
|
),
|
||||||
class = "fa-spin",
|
type = "secondary",
|
||||||
"aria-hidden" = "true"
|
auto_reset = TRUE
|
||||||
),
|
),
|
||||||
type = "secondary",
|
shiny::helpText("Press 'Analyse' to create the regression model and after changing parameters."),
|
||||||
auto_reset = TRUE
|
shiny::tags$br(),
|
||||||
),
|
shiny::radioButtons(
|
||||||
shiny::helpText("Press 'Analyse' to create the regression model and after changing parameters."),
|
inputId = ns("add_regression_p"),
|
||||||
shiny::tags$br(),
|
label = "Show p-value",
|
||||||
shiny::radioButtons(
|
inline = TRUE,
|
||||||
inputId = ns("add_regression_p"),
|
selected = "yes",
|
||||||
label = "Show p-value",
|
choices = list(
|
||||||
inline = TRUE,
|
"Yes" = "yes",
|
||||||
selected = "yes",
|
"No" = "no"
|
||||||
choices = list(
|
|
||||||
"Yes" = "yes",
|
|
||||||
"No" = "no"
|
|
||||||
)
|
|
||||||
),
|
|
||||||
# shiny::tags$br(),
|
|
||||||
# shiny::radioButtons(
|
|
||||||
# inputId = ns("tbl_theme"),
|
|
||||||
# label = "Show p-value",
|
|
||||||
# inline = TRUE,
|
|
||||||
# selected = "jama",
|
|
||||||
# choices = list(
|
|
||||||
# "JAMA" = "jama",
|
|
||||||
# "Lancet" = "lancet",
|
|
||||||
# "NEJM" = "nejm"
|
|
||||||
# )
|
|
||||||
# ),
|
|
||||||
shiny::tags$br()
|
|
||||||
)
|
)
|
||||||
)
|
),
|
||||||
|
# shiny::tags$br(),
|
||||||
|
# shiny::radioButtons(
|
||||||
|
# inputId = ns("tbl_theme"),
|
||||||
|
# label = "Show p-value",
|
||||||
|
# inline = TRUE,
|
||||||
|
# selected = "jama",
|
||||||
|
# choices = list(
|
||||||
|
# "JAMA" = "jama",
|
||||||
|
# "Lancet" = "lancet",
|
||||||
|
# "NEJM" = "nejm"
|
||||||
|
# )
|
||||||
|
# ),
|
||||||
|
shiny::tags$br()
|
||||||
),
|
),
|
||||||
gt::gt_output(outputId = ns("table2"))
|
do.call(
|
||||||
)
|
bslib::accordion_panel,
|
||||||
),
|
c(
|
||||||
bslib::nav_panel(
|
list(
|
||||||
title = "Coefficient plot",
|
value = "acc_plot",
|
||||||
bslib::layout_sidebar(
|
title = "Coefficient plot",
|
||||||
sidebar = bslib::sidebar(
|
icon = bsicons::bs_icon("bar-chart-steps"),
|
||||||
bslib::accordion(
|
shiny::tags$br(),
|
||||||
open = "acc_reg",
|
shiny::uiOutput(outputId = ns("plot_model"))
|
||||||
multiple = FALSE,
|
),
|
||||||
do.call(
|
# plot_download_ui(ns("reg_plot_download"))
|
||||||
bslib::accordion_panel,
|
shiny::tagList(
|
||||||
c(
|
shinyWidgets::noUiSliderInput(
|
||||||
list(
|
inputId = ns("plot_height"),
|
||||||
value = "acc_plot",
|
label = "Plot height (mm)",
|
||||||
title = "Coefficient plot",
|
min = 50,
|
||||||
icon = bsicons::bs_icon("bar-chart-steps"),
|
max = 300,
|
||||||
shiny::tags$br(),
|
value = 100,
|
||||||
shiny::uiOutput(outputId = ns("plot_model"))
|
step = 1,
|
||||||
),
|
format = shinyWidgets::wNumbFormat(decimals = 0),
|
||||||
# plot_download_ui(ns("reg_plot_download"))
|
color = datamods:::get_primary_color()
|
||||||
shiny::tagList(
|
),
|
||||||
shinyWidgets::noUiSliderInput(
|
shinyWidgets::noUiSliderInput(
|
||||||
inputId = ns("plot_height"),
|
inputId = ns("plot_width"),
|
||||||
label = "Plot height (mm)",
|
label = "Plot width (mm)",
|
||||||
min = 50,
|
min = 50,
|
||||||
max = 300,
|
max = 300,
|
||||||
value = 100,
|
value = 100,
|
||||||
step = 1,
|
step = 1,
|
||||||
format = shinyWidgets::wNumbFormat(decimals = 0),
|
format = shinyWidgets::wNumbFormat(decimals = 0),
|
||||||
color = datamods:::get_primary_color()
|
color = datamods:::get_primary_color()
|
||||||
),
|
),
|
||||||
shinyWidgets::noUiSliderInput(
|
shiny::selectInput(
|
||||||
inputId = ns("plot_width"),
|
inputId = ns("plot_type"),
|
||||||
label = "Plot width (mm)",
|
label = "File format",
|
||||||
min = 50,
|
choices = list(
|
||||||
max = 300,
|
"png",
|
||||||
value = 100,
|
"tiff",
|
||||||
step = 1,
|
"eps",
|
||||||
format = shinyWidgets::wNumbFormat(decimals = 0),
|
"pdf",
|
||||||
color = datamods:::get_primary_color()
|
"jpeg",
|
||||||
),
|
"svg"
|
||||||
shiny::selectInput(
|
|
||||||
inputId = ns("plot_type"),
|
|
||||||
label = "File format",
|
|
||||||
choices = list(
|
|
||||||
"png",
|
|
||||||
"tiff",
|
|
||||||
"eps",
|
|
||||||
"pdf",
|
|
||||||
"jpeg",
|
|
||||||
"svg"
|
|
||||||
)
|
|
||||||
),
|
|
||||||
shiny::br(),
|
|
||||||
# Button
|
|
||||||
shiny::downloadButton(
|
|
||||||
outputId = ns("download_plot"),
|
|
||||||
label = "Download plot",
|
|
||||||
icon = shiny::icon("download")
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
),
|
||||||
|
shiny::br(),
|
||||||
|
# Button
|
||||||
|
shiny::downloadButton(
|
||||||
|
outputId = ns("download_plot"),
|
||||||
|
label = "Download plot",
|
||||||
|
icon = shiny::icon("download")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
shiny::plotOutput(outputId = ns("regression_plot"), height = "80vh")
|
bslib::accordion_panel(
|
||||||
|
value = "acc_checks",
|
||||||
|
title = "Checks",
|
||||||
|
icon = bsicons::bs_icon("clipboard-check"),
|
||||||
|
shiny::uiOutput(outputId = ns("plot_checks"))
|
||||||
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
bslib::nav_panel(
|
||||||
|
title = "Regression table",
|
||||||
|
gt::gt_output(outputId = ns("table2"))
|
||||||
|
),
|
||||||
|
bslib::nav_panel(
|
||||||
|
title = "Coefficient plot",
|
||||||
|
shiny::plotOutput(outputId = ns("regression_plot"), height = "80vh")
|
||||||
|
),
|
||||||
bslib::nav_panel(
|
bslib::nav_panel(
|
||||||
title = "Model checks",
|
title = "Model checks",
|
||||||
bslib::layout_sidebar(
|
shiny::plotOutput(outputId = ns("check"), height = "90vh")
|
||||||
sidebar = bslib::sidebar(
|
|
||||||
bslib::accordion(
|
|
||||||
open = "acc_reg",
|
|
||||||
multiple = FALSE,
|
|
||||||
bslib::accordion_panel(
|
|
||||||
value = "acc_checks",
|
|
||||||
title = "Checks",
|
|
||||||
icon = bsicons::bs_icon("clipboard-check"),
|
|
||||||
shiny::uiOutput(outputId = ns("plot_checks"))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
shiny::plotOutput(outputId = ns("check"), height = "90vh")
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
BIN
R/sysdata.rda
33
SESSION.md
|
@ -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-07-03 |
|
|date |2025-06-27 |
|
||||||
|rstudio |2025.05.0+496 Mariposa Orchid (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.7.2.250703 |
|
|FreesearchR |25.6.4.250627 |
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
@ -26,8 +26,6 @@
|
||||||
|apexcharter |0.4.4 |2024-09-06 |CRAN (R 4.4.1) |
|
|apexcharter |0.4.4 |2024-09-06 |CRAN (R 4.4.1) |
|
||||||
|askpass |1.2.1 |2024-10-04 |CRAN (R 4.4.1) |
|
|askpass |1.2.1 |2024-10-04 |CRAN (R 4.4.1) |
|
||||||
|assertthat |0.2.1 |2019-03-21 |CRAN (R 4.4.1) |
|
|assertthat |0.2.1 |2019-03-21 |CRAN (R 4.4.1) |
|
||||||
|attachment |0.4.5 |2025-03-14 |CRAN (R 4.4.1) |
|
|
||||||
|attempt |0.3.1 |2020-05-03 |CRAN (R 4.4.1) |
|
|
||||||
|backports |1.5.0 |2024-05-23 |CRAN (R 4.4.1) |
|
|backports |1.5.0 |2024-05-23 |CRAN (R 4.4.1) |
|
||||||
|base64enc |0.1-3 |2015-07-28 |CRAN (R 4.4.1) |
|
|base64enc |0.1-3 |2015-07-28 |CRAN (R 4.4.1) |
|
||||||
|bayestestR |0.15.3 |2025-04-28 |CRAN (R 4.4.1) |
|
|bayestestR |0.15.3 |2025-04-28 |CRAN (R 4.4.1) |
|
||||||
|
@ -45,7 +43,6 @@
|
||||||
|cardx |0.2.4 |2025-04-12 |CRAN (R 4.4.1) |
|
|cardx |0.2.4 |2025-04-12 |CRAN (R 4.4.1) |
|
||||||
|caTools |1.18.3 |2024-09-04 |CRAN (R 4.4.1) |
|
|caTools |1.18.3 |2024-09-04 |CRAN (R 4.4.1) |
|
||||||
|cellranger |1.1.0 |2016-07-27 |CRAN (R 4.4.0) |
|
|cellranger |1.1.0 |2016-07-27 |CRAN (R 4.4.0) |
|
||||||
|cffr |1.2.0 |2025-01-25 |CRAN (R 4.4.1) |
|
|
||||||
|checkmate |2.3.2 |2024-07-29 |CRAN (R 4.4.0) |
|
|checkmate |2.3.2 |2024-07-29 |CRAN (R 4.4.0) |
|
||||||
|class |7.3-23 |2025-01-01 |CRAN (R 4.4.1) |
|
|class |7.3-23 |2025-01-01 |CRAN (R 4.4.1) |
|
||||||
|classInt |0.4-11 |2025-01-08 |CRAN (R 4.4.1) |
|
|classInt |0.4-11 |2025-01-08 |CRAN (R 4.4.1) |
|
||||||
|
@ -55,9 +52,6 @@
|
||||||
|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) |
|
|
||||||
|crosstalk |1.2.1 |2023-11-23 |CRAN (R 4.4.0) |
|
|
||||||
|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) |
|
||||||
|datawizard |1.0.2 |2025-03-24 |CRAN (R 4.4.1) |
|
|datawizard |1.0.2 |2025-03-24 |CRAN (R 4.4.1) |
|
||||||
|
@ -66,13 +60,11 @@
|
||||||
|devtools |2.4.5 |2022-10-11 |CRAN (R 4.4.0) |
|
|devtools |2.4.5 |2022-10-11 |CRAN (R 4.4.0) |
|
||||||
|DHARMa |0.4.7 |2024-10-18 |CRAN (R 4.4.1) |
|
|DHARMa |0.4.7 |2024-10-18 |CRAN (R 4.4.1) |
|
||||||
|digest |0.6.37 |2024-08-19 |CRAN (R 4.4.1) |
|
|digest |0.6.37 |2024-08-19 |CRAN (R 4.4.1) |
|
||||||
|dockerfiler |0.2.5 |2025-05-07 |CRAN (R 4.4.1) |
|
|
||||||
|doParallel |1.0.17 |2022-02-07 |CRAN (R 4.4.0) |
|
|doParallel |1.0.17 |2022-02-07 |CRAN (R 4.4.0) |
|
||||||
|dplyr |1.1.4 |2023-11-17 |CRAN (R 4.4.0) |
|
|dplyr |1.1.4 |2023-11-17 |CRAN (R 4.4.0) |
|
||||||
|DT |0.33 |2024-04-04 |CRAN (R 4.4.0) |
|
|DT |0.33 |2024-04-04 |CRAN (R 4.4.0) |
|
||||||
|e1071 |1.7-16 |2024-09-16 |CRAN (R 4.4.1) |
|
|e1071 |1.7-16 |2024-09-16 |CRAN (R 4.4.1) |
|
||||||
|easystats |0.7.4 |2025-02-06 |CRAN (R 4.4.1) |
|
|easystats |0.7.4 |2025-02-06 |CRAN (R 4.4.1) |
|
||||||
|effectsize |1.0.0 |2024-12-10 |CRAN (R 4.4.1) |
|
|
||||||
|ellipsis |0.3.2 |2021-04-29 |CRAN (R 4.4.1) |
|
|ellipsis |0.3.2 |2021-04-29 |CRAN (R 4.4.1) |
|
||||||
|emmeans |1.11.1 |2025-05-04 |CRAN (R 4.4.1) |
|
|emmeans |1.11.1 |2025-05-04 |CRAN (R 4.4.1) |
|
||||||
|esquisse |2.1.0 |2025-02-21 |CRAN (R 4.4.1) |
|
|esquisse |2.1.0 |2025-02-21 |CRAN (R 4.4.1) |
|
||||||
|
@ -90,19 +82,16 @@
|
||||||
|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.7.2 |NA |NA |
|
|FreesearchR |25.6.4 |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) |
|
||||||
|
@ -116,30 +105,24 @@
|
||||||
|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) |
|
||||||
|jquerylib |0.1.4 |2021-04-26 |CRAN (R 4.4.0) |
|
|jquerylib |0.1.4 |2021-04-26 |CRAN (R 4.4.0) |
|
||||||
|jsonlite |2.0.0 |2025-03-27 |CRAN (R 4.4.1) |
|
|jsonlite |2.0.0 |2025-03-27 |CRAN (R 4.4.1) |
|
||||||
|jsonvalidate |1.5.0 |2025-02-07 |CRAN (R 4.4.1) |
|
|
||||||
|KernSmooth |2.23-26 |2025-01-01 |CRAN (R 4.4.1) |
|
|KernSmooth |2.23-26 |2025-01-01 |CRAN (R 4.4.1) |
|
||||||
|keyring |1.3.2 |2023-12-11 |CRAN (R 4.4.0) |
|
|keyring |1.3.2 |2023-12-11 |CRAN (R 4.4.0) |
|
||||||
|knitr |1.50 |2025-03-16 |CRAN (R 4.4.1) |
|
|knitr |1.50 |2025-03-16 |CRAN (R 4.4.1) |
|
||||||
|labeling |0.4.3 |2023-08-29 |CRAN (R 4.4.1) |
|
|labeling |0.4.3 |2023-08-29 |CRAN (R 4.4.1) |
|
||||||
|labelled |2.14.0 |2025-01-08 |CRAN (R 4.4.1) |
|
|
||||||
|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) |
|
||||||
|mgcv |1.9-3 |2025-04-04 |CRAN (R 4.4.1) |
|
|
||||||
|mime |0.13 |2025-03-17 |CRAN (R 4.4.1) |
|
|mime |0.13 |2025-03-17 |CRAN (R 4.4.1) |
|
||||||
|miniUI |0.1.2 |2025-04-17 |CRAN (R 4.4.1) |
|
|miniUI |0.1.2 |2025-04-17 |CRAN (R 4.4.1) |
|
||||||
|minqa |1.2.8 |2024-08-17 |CRAN (R 4.4.1) |
|
|minqa |1.2.8 |2024-08-17 |CRAN (R 4.4.1) |
|
||||||
|
@ -151,7 +134,6 @@
|
||||||
|opdisDownsampling |1.0.1 |2024-04-15 |CRAN (R 4.4.0) |
|
|opdisDownsampling |1.0.1 |2024-04-15 |CRAN (R 4.4.0) |
|
||||||
|openssl |2.3.2 |2025-02-03 |CRAN (R 4.4.1) |
|
|openssl |2.3.2 |2025-02-03 |CRAN (R 4.4.1) |
|
||||||
|openxlsx2 |1.15 |2025-04-25 |CRAN (R 4.4.1) |
|
|openxlsx2 |1.15 |2025-04-25 |CRAN (R 4.4.1) |
|
||||||
|pak |0.8.0.2 |2025-04-08 |CRAN (R 4.4.1) |
|
|
||||||
|parameters |0.24.2 |2025-03-04 |CRAN (R 4.4.1) |
|
|parameters |0.24.2 |2025-03-04 |CRAN (R 4.4.1) |
|
||||||
|patchwork |1.3.0 |2024-09-16 |CRAN (R 4.4.1) |
|
|patchwork |1.3.0 |2024-09-16 |CRAN (R 4.4.1) |
|
||||||
|pbmcapply |1.5.1 |2022-04-28 |CRAN (R 4.4.1) |
|
|pbmcapply |1.5.1 |2022-04-28 |CRAN (R 4.4.1) |
|
||||||
|
@ -180,7 +162,6 @@
|
||||||
|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) |
|
||||||
|
@ -211,16 +192,13 @@
|
||||||
|see |0.11.0 |2025-03-11 |CRAN (R 4.4.1) |
|
|see |0.11.0 |2025-03-11 |CRAN (R 4.4.1) |
|
||||||
|sessioninfo |1.2.3 |2025-02-05 |CRAN (R 4.4.1) |
|
|sessioninfo |1.2.3 |2025-02-05 |CRAN (R 4.4.1) |
|
||||||
|shiny |1.10.0 |2024-12-14 |CRAN (R 4.4.1) |
|
|shiny |1.10.0 |2024-12-14 |CRAN (R 4.4.1) |
|
||||||
|shiny2docker |0.0.2 |2025-02-09 |CRAN (R 4.4.1) |
|
|
||||||
|shinybusy |0.3.3 |2024-03-09 |CRAN (R 4.4.0) |
|
|shinybusy |0.3.3 |2024-03-09 |CRAN (R 4.4.0) |
|
||||||
|shinyjs |2.1.0 |2021-12-23 |CRAN (R 4.4.0) |
|
|shinyjs |2.1.0 |2021-12-23 |CRAN (R 4.4.0) |
|
||||||
|shinyTime |1.0.3 |2022-08-19 |CRAN (R 4.4.0) |
|
|shinyTime |1.0.3 |2022-08-19 |CRAN (R 4.4.0) |
|
||||||
|shinyWidgets |0.9.0 |2025-02-21 |CRAN (R 4.4.1) |
|
|shinyWidgets |0.9.0 |2025-02-21 |CRAN (R 4.4.1) |
|
||||||
|sourcetools |0.1.7-1 |2023-02-01 |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) |
|
||||||
|styler |1.10.3 |2024-04-07 |CRAN (R 4.4.0) |
|
|styler |1.10.3 |2024-04-07 |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) |
|
||||||
|
@ -235,9 +213,11 @@
|
||||||
|tzdb |0.5.0 |2025-03-15 |CRAN (R 4.4.1) |
|
|tzdb |0.5.0 |2025-03-15 |CRAN (R 4.4.1) |
|
||||||
|urlchecker |1.0.1 |2021-11-30 |CRAN (R 4.4.1) |
|
|urlchecker |1.0.1 |2021-11-30 |CRAN (R 4.4.1) |
|
||||||
|usethis |3.1.0 |2024-11-26 |CRAN (R 4.4.1) |
|
|usethis |3.1.0 |2024-11-26 |CRAN (R 4.4.1) |
|
||||||
|
|utf8 |1.2.4 |2023-10-22 |CRAN (R 4.4.1) |
|
||||||
|uuid |1.2-1 |2024-07-29 |CRAN (R 4.4.1) |
|
|uuid |1.2-1 |2024-07-29 |CRAN (R 4.4.1) |
|
||||||
|V8 |6.0.3 |2025-03-26 |CRAN (R 4.4.1) |
|
|
||||||
|vctrs |0.6.5 |2023-12-01 |CRAN (R 4.4.0) |
|
|vctrs |0.6.5 |2023-12-01 |CRAN (R 4.4.0) |
|
||||||
|
|viridis |0.6.5 |2024-01-29 |CRAN (R 4.4.0) |
|
||||||
|
|viridisLite |0.4.2 |2023-05-02 |CRAN (R 4.4.1) |
|
||||||
|vroom |1.6.5 |2023-12-05 |CRAN (R 4.4.0) |
|
|vroom |1.6.5 |2023-12-05 |CRAN (R 4.4.0) |
|
||||||
|withr |3.0.2 |2024-10-28 |CRAN (R 4.4.1) |
|
|withr |3.0.2 |2024-10-28 |CRAN (R 4.4.1) |
|
||||||
|writexl |1.5.4 |2025-04-15 |CRAN (R 4.4.1) |
|
|writexl |1.5.4 |2025-04-15 |CRAN (R 4.4.1) |
|
||||||
|
@ -245,5 +225,4 @@
|
||||||
|xml2 |1.3.8 |2025-03-14 |CRAN (R 4.4.1) |
|
|xml2 |1.3.8 |2025-03-14 |CRAN (R 4.4.1) |
|
||||||
|xtable |1.8-4 |2019-04-21 |CRAN (R 4.4.1) |
|
|xtable |1.8-4 |2019-04-21 |CRAN (R 4.4.1) |
|
||||||
|yaml |2.3.10 |2024-07-26 |CRAN (R 4.4.1) |
|
|yaml |2.3.10 |2024-07-26 |CRAN (R 4.4.1) |
|
||||||
|yesno |0.1.3 |2024-07-26 |CRAN (R 4.4.1) |
|
|
||||||
|zip |2.3.2 |2025-02-01 |CRAN (R 4.4.1) |
|
|zip |2.3.2 |2025-02-01 |CRAN (R 4.4.1) |
|
||||||
|
|
1159
app_docker/app.R
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 246 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 246 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 85 KiB |
|
@ -1,29 +0,0 @@
|
||||||
// Automatically close drop-downs on navigation
|
|
||||||
// Thanks to claude.ai
|
|
||||||
$(document).on('shown.bs.tab', '#main_panel', function(e) {
|
|
||||||
// Close dropdown in this specific navset only
|
|
||||||
$('#main_panel .dropdown-menu').removeClass('show');
|
|
||||||
$('#main_panel .dropdown-toggle').removeClass('show').attr('aria-expanded', 'false');
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on('shiny:sessioninitialized', function() {
|
|
||||||
// Function to collapse navbar on mobile
|
|
||||||
function collapseNavbar() {
|
|
||||||
var navbar = $('.navbar-collapse');
|
|
||||||
if (navbar.hasClass('show')) {
|
|
||||||
navbar.removeClass('show');
|
|
||||||
$('.navbar-toggler').addClass('collapsed');
|
|
||||||
$('.navbar-toggler').attr('aria-expanded', 'false');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add click event to navigation tabs
|
|
||||||
$(document).on('click', '.nav-link[data-bs-toggle=\"tab\"]', function() {
|
|
||||||
setTimeout(collapseNavbar, 10);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Also handle direct clicks on nav items
|
|
||||||
$(document).on('click', '.navbar-nav .nav-link', function() {
|
|
||||||
setTimeout(collapseNavbar, 10);
|
|
||||||
});
|
|
||||||
});
|
|
|
@ -1,29 +0,0 @@
|
||||||
// Automatically close drop-downs on navigation
|
|
||||||
// Thanks to claude.ai
|
|
||||||
$(document).on('shown.bs.tab', '#main_panel', function(e) {
|
|
||||||
// Close dropdown in this specific navset only
|
|
||||||
$('#main_panel .dropdown-menu').removeClass('show');
|
|
||||||
$('#main_panel .dropdown-toggle').removeClass('show').attr('aria-expanded', 'false');
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on('shiny:sessioninitialized', function() {
|
|
||||||
// Function to collapse navbar on mobile
|
|
||||||
function collapseNavbar() {
|
|
||||||
var navbar = $('.navbar-collapse');
|
|
||||||
if (navbar.hasClass('show')) {
|
|
||||||
navbar.removeClass('show');
|
|
||||||
$('.navbar-toggler').addClass('collapsed');
|
|
||||||
$('.navbar-toggler').attr('aria-expanded', 'false');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add click event to navigation tabs
|
|
||||||
$(document).on('click', '.nav-link[data-bs-toggle=\"tab\"]', function() {
|
|
||||||
setTimeout(collapseNavbar, 10);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Also handle direct clicks on nav items
|
|
||||||
$(document).on('click', '.navbar-nav .nav-link', function() {
|
|
||||||
setTimeout(collapseNavbar, 10);
|
|
||||||
});
|
|
||||||
});
|
|
|
@ -1,19 +0,0 @@
|
||||||
% Generated by roxygen2: do not edit by hand
|
|
||||||
% Please edit documentation in R/missings-module.R
|
|
||||||
\name{compare_missings}
|
|
||||||
\alias{compare_missings}
|
|
||||||
\title{Pairwise comparison of missings across covariables}
|
|
||||||
\usage{
|
|
||||||
compare_missings(data, by_var)
|
|
||||||
}
|
|
||||||
\arguments{
|
|
||||||
\item{data}{data frame}
|
|
||||||
|
|
||||||
\item{by_var}{variable to stratify by missingness}
|
|
||||||
}
|
|
||||||
\value{
|
|
||||||
gtsummary list object
|
|
||||||
}
|
|
||||||
\description{
|
|
||||||
Pairwise comparison of missings across covariables
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
---
|
|
||||||
title: "Missingness in data"
|
|
||||||
output: rmarkdown::html_vignette
|
|
||||||
vignette: >
|
|
||||||
%\VignetteIndexEntry{missingness}
|
|
||||||
%\VignetteEngine{knitr::rmarkdown}
|
|
||||||
%\VignetteEncoding{UTF-8}
|
|
||||||
---
|
|
||||||
|
|
||||||
```{r, include = FALSE}
|
|
||||||
knitr::opts_chunk$set(
|
|
||||||
collapse = TRUE,
|
|
||||||
comment = "#>"
|
|
||||||
)
|
|
||||||
options(rmarkdown.html_vignette.check_title = FALSE)
|
|
||||||
```
|
|
||||||
|
|
||||||
```{r setup}
|
|
||||||
library(FreesearchR)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Considering missing observations
|
|
||||||
|
|
||||||
### Further reading
|
|
||||||
|
|
||||||
The authors behind the [{finalfit}-package]() have shared a very comprehensive article on what to do and think about missing observations in your data. Please [have a look here]().
|
|