feat: table rendering set factor levels limit to 20

This commit is contained in:
Andreas Gammelgaard Damsbo 2025-10-31 11:37:57 +01:00
parent 5a632e60fa
commit ebc8c65628
No known key found for this signature in database
2 changed files with 14 additions and 3 deletions

View file

@ -24,6 +24,7 @@ data_missings_ui <- function(id) {
data_missings_server <- function(id,
data,
variable,
max_level=20,
...) {
shiny::moduleServer(
id = id,
@ -44,7 +45,7 @@ data_missings_server <- function(id,
tryCatch(
{
out <- compare_missings(df_tbl,by_var)
out <- compare_missings(df_tbl,by_var,max_level = max_level)
},
error = function(err) {
showNotification(paste0("Error: ", err), type = "err")
@ -133,8 +134,18 @@ missing_demo_app()
#' @returns gtsummary list object
#' @export
#'
compare_missings <- function(data,by_var){
compare_missings <- function(data,by_var,max_level=20){
if (!is.null(by_var) && by_var != "" && by_var %in% names(data)) {
data <- data |>
lapply(\(.x){
# browser()
if (is.factor(.x)){
cut_var(.x,breaks=20,type="top")
} else {
.x
}
}) |> dplyr::bind_cols()
data[[by_var]] <- ifelse(is.na(data[[by_var]]), "Missing", "Non-missing")
out <- gtsummary::tbl_summary(data, by = by_var) |>

View file

@ -8,7 +8,7 @@
\usage{
data_missings_ui(id)
data_missings_server(id, data, variable, ...)
data_missings_server(id, data, variable, max_level = 20, ...)
}
\arguments{
\item{id}{Module id}