# This file is automatically generated, you probably don't want to edit this
summarydataOptions <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
"summarydataOptions",
inherit = jmvcore::Options,
public = list(
initialize = function(
vars = NULL,
date_vars = NULL,
distr = FALSE,
summary_format = "standard",
grvar = NULL,
pivot_layout = "clinical",
include_confidence = TRUE,
advanced_metrics = FALSE,
pivot_export = FALSE,
summarytools_graphs = TRUE,
summarytools_round_digits = 2, ...) {
super$initialize(
package="ClinicoPathDescriptives",
name="summarydata",
requiresData=TRUE,
...)
private$..vars <- jmvcore::OptionVariables$new(
"vars",
vars,
suggested=list(
"continuous"),
permitted=list(
"numeric"))
private$..date_vars <- jmvcore::OptionVariables$new(
"date_vars",
date_vars,
suggested=list(
"continuous"),
permitted=list(
"numeric"),
default=NULL)
private$..distr <- jmvcore::OptionBool$new(
"distr",
distr,
default=FALSE)
private$..summary_format <- jmvcore::OptionList$new(
"summary_format",
summary_format,
options=list(
"standard",
"sumvar",
"pivot",
"summarytools_df",
"summarytools_desc",
"summarytools_freq"),
default="standard")
private$..grvar <- jmvcore::OptionVariable$new(
"grvar",
grvar,
suggested=list(
"ordinal",
"nominal"),
permitted=list(
"factor"),
default=NULL)
private$..pivot_layout <- jmvcore::OptionList$new(
"pivot_layout",
pivot_layout,
options=list(
"clinical",
"statistical",
"comparative"),
default="clinical")
private$..include_confidence <- jmvcore::OptionBool$new(
"include_confidence",
include_confidence,
default=TRUE)
private$..advanced_metrics <- jmvcore::OptionBool$new(
"advanced_metrics",
advanced_metrics,
default=FALSE)
private$..pivot_export <- jmvcore::OptionBool$new(
"pivot_export",
pivot_export,
default=FALSE)
private$..summarytools_graphs <- jmvcore::OptionBool$new(
"summarytools_graphs",
summarytools_graphs,
default=TRUE)
private$..summarytools_round_digits <- jmvcore::OptionInteger$new(
"summarytools_round_digits",
summarytools_round_digits,
min=1,
max=6,
default=2)
self$.addOption(private$..vars)
self$.addOption(private$..date_vars)
self$.addOption(private$..distr)
self$.addOption(private$..summary_format)
self$.addOption(private$..grvar)
self$.addOption(private$..pivot_layout)
self$.addOption(private$..include_confidence)
self$.addOption(private$..advanced_metrics)
self$.addOption(private$..pivot_export)
self$.addOption(private$..summarytools_graphs)
self$.addOption(private$..summarytools_round_digits)
}),
active = list(
vars = function() private$..vars$value,
date_vars = function() private$..date_vars$value,
distr = function() private$..distr$value,
summary_format = function() private$..summary_format$value,
grvar = function() private$..grvar$value,
pivot_layout = function() private$..pivot_layout$value,
include_confidence = function() private$..include_confidence$value,
advanced_metrics = function() private$..advanced_metrics$value,
pivot_export = function() private$..pivot_export$value,
summarytools_graphs = function() private$..summarytools_graphs$value,
summarytools_round_digits = function() private$..summarytools_round_digits$value),
private = list(
..vars = NA,
..date_vars = NA,
..distr = NA,
..summary_format = NA,
..grvar = NA,
..pivot_layout = NA,
..include_confidence = NA,
..advanced_metrics = NA,
..pivot_export = NA,
..summarytools_graphs = NA,
..summarytools_round_digits = NA)
)
summarydataResults <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
"summarydataResults",
inherit = jmvcore::Group,
active = list(
todo = function() private$.items[["todo"]],
text = function() private$.items[["text"]],
text1 = function() private$.items[["text1"]],
pivot_summary = function() private$.items[["pivot_summary"]],
pivot_export_info = function() private$.items[["pivot_export_info"]]),
private = list(),
public=list(
initialize=function(options) {
super$initialize(
options=options,
name="",
title="Summary of Continuous Variables",
refs=list(
"gtExtras",
"ClinicoPathJamoviModule"))
self$add(jmvcore::Html$new(
options=options,
name="todo",
title="To Do"))
self$add(jmvcore::Html$new(
options=options,
name="text",
title=""))
self$add(jmvcore::Html$new(
options=options,
name="text1",
title="Continuous Data Plots"))
self$add(jmvcore::Html$new(
options=options,
name="pivot_summary",
title="Enhanced Pivot Summary",
visible="(summary_format:pivot)",
clearWith=list(
"vars",
"summary_format",
"pivot_layout",
"include_confidence",
"advanced_metrics",
"grvar")))
self$add(jmvcore::Html$new(
options=options,
name="pivot_export_info",
title="Export Information",
visible="(pivot_export && summary_format:pivot)"))}))
summarydataBase <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
"summarydataBase",
inherit = jmvcore::Analysis,
public = list(
initialize = function(options, data=NULL, datasetId="", analysisId="", revision=0) {
super$initialize(
package = "ClinicoPathDescriptives",
name = "summarydata",
version = c(0,0,3),
options = options,
results = summarydataResults$new(options=options),
data = data,
datasetId = datasetId,
analysisId = analysisId,
revision = revision,
pause = NULL,
completeWhenFilled = FALSE,
requiresMissings = FALSE,
weightsSupport = 'auto')
}))
#' Summary of Continuous Variables
#'
#' This module generates descriptive statistics for continuous variables.
#' It provides both a textual summary and a visually appealing summary table.
#' Optionally, you can enable distribution diagnostics to examine normality,
#' skewness, and kurtosis.
#'
#'
#' @examples
#' \donttest{
#' # Example:
#' # 1. Load your data frame.
#' # 2. Select one or more continuous variables.
#' # 3. (Optional) Enable Distribution Diagnostics to view additional tests.
#' # 4. Run the summarydata module to see descriptive statistics and distribution characteristics.
#'}
#' @param data The data as a data frame.
#' @param vars a string naming the variables from \code{data} that contains
#' the continuous values used for the report
#' @param date_vars Variables containing date/time data to be analyzed with
#' date-specific statistics (similar to sumvar's dist_date function)
#' @param distr If TRUE, additional distribution diagnostics (Shapiro-Wilk
#' test, skewness, and kurtosis) will be computed and explained.
#' @param summary_format Choose the format for summary statistics display. New
#' summarytools options provide publication-ready automated EDA summaries with
#' embedded visualizations.
#' @param grvar Optional grouping variable to stratify the summary statistics
#' by categories.
#' @param pivot_layout Layout style for pivottabler enhanced summaries.
#' @param include_confidence Include confidence intervals in pivot summary
#' tables.
#' @param advanced_metrics Include advanced metrics like IQR, MAD, and robust
#' statistics.
#' @param pivot_export Enable enhanced export capabilities for pivot tables.
#' @param summarytools_graphs Include histograms and bar charts in
#' summarytools dfSummary output.
#' @param summarytools_round_digits Number of decimal places for summarytools
#' output.
#' @return A results object containing:
#' \tabular{llllll}{
#' \code{results$todo} \tab \tab \tab \tab \tab a html \cr
#' \code{results$text} \tab \tab \tab \tab \tab a html \cr
#' \code{results$text1} \tab \tab \tab \tab \tab a html \cr
#' \code{results$pivot_summary} \tab \tab \tab \tab \tab a html \cr
#' \code{results$pivot_export_info} \tab \tab \tab \tab \tab a html \cr
#' }
#'
#' @export
summarydata <- function(
data,
vars,
date_vars = NULL,
distr = FALSE,
summary_format = "standard",
grvar = NULL,
pivot_layout = "clinical",
include_confidence = TRUE,
advanced_metrics = FALSE,
pivot_export = FALSE,
summarytools_graphs = TRUE,
summarytools_round_digits = 2) {
if ( ! requireNamespace("jmvcore", quietly=TRUE))
stop("summarydata requires jmvcore to be installed (restart may be required)")
if ( ! missing(vars)) vars <- jmvcore::resolveQuo(jmvcore::enquo(vars))
if ( ! missing(date_vars)) date_vars <- jmvcore::resolveQuo(jmvcore::enquo(date_vars))
if ( ! missing(grvar)) grvar <- jmvcore::resolveQuo(jmvcore::enquo(grvar))
if (missing(data))
data <- jmvcore::marshalData(
parent.frame(),
`if`( ! missing(vars), vars, NULL),
`if`( ! missing(date_vars), date_vars, NULL),
`if`( ! missing(grvar), grvar, NULL))
for (v in grvar) if (v %in% names(data)) data[[v]] <- as.factor(data[[v]])
options <- summarydataOptions$new(
vars = vars,
date_vars = date_vars,
distr = distr,
summary_format = summary_format,
grvar = grvar,
pivot_layout = pivot_layout,
include_confidence = include_confidence,
advanced_metrics = advanced_metrics,
pivot_export = pivot_export,
summarytools_graphs = summarytools_graphs,
summarytools_round_digits = summarytools_round_digits)
analysis <- summarydataClass$new(
options = options,
data = data)
analysis$run()
analysis$results
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.