R/jamovimdiff2x2.h.R

Defines functions jamovimdiff2x2

Documented in jamovimdiff2x2

# This file is automatically generated, you probably don't want to edit this

jamovimdiff2x2Options <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "jamovimdiff2x2Options",
    inherit = jmvcore::Options,
    public = list(
        initialize = function(
            design = "fully_between",
            switch = "from_raw",
            outcome_variable = NULL,
            grouping_variable_A = NULL,
            grouping_variable_B = NULL,
            outcome_variable_level1 = NULL,
            outcome_variable_level2 = NULL,
            outcome_variable_name_bs = "My outcome variable",
            grouping_variable = NULL,
            repeated_measures_name = "Time",
            outcome_variable_name = "My outcome variable",
            A1_label = "A1 level",
            A2_label = "A2 level",
            B1_label = "B1 level",
            B2_label = "B2 level",
            A_label = "Variable A",
            B_label = "Variable B",
            A1B1_mean = " ",
            A1B1_sd = " ",
            A1B1_n = " ",
            A1B2_mean = " ",
            A1B2_sd = " ",
            A1B2_n = " ",
            A2B1_mean = " ",
            A2B1_sd = " ",
            A2B1_n = " ",
            A2B2_mean = " ",
            A2B2_sd = " ",
            A2B2_n = " ",
            conf_level = 95,
            effect_size = "mean_difference",
            assume_equal_variance = TRUE,
            show_details = FALSE,
            show_interaction_plot = FALSE,
            show_CI = FALSE,
            evaluate_hypotheses = FALSE,
            null_value = "0",
            null_boundary = "0",
            rope_units = "raw",
            alpha = 0.05,
            null_color = "#A40122",
            es_plot_width = "700",
            es_plot_height = "400",
            ymin = "auto",
            ymax = "auto",
            ybreaks = "auto",
            ylab = "auto",
            xlab = "auto",
            axis.text.y = "14",
            axis.title.y = "15",
            axis.text.x = "14",
            axis.title.x = "15",
            simple_contrast_labels = FALSE,
            error_layout = "halfeye",
            error_scale = "0.25",
            error_nudge = "0.5",
            data_layout = "random",
            data_spread = "0.20",
            difference_axis_units = "raw",
            difference_axis_breaks = "auto",
            shape_raw_reference = "circle filled",
            shape_raw_comparison = "circle filled",
            shape_raw_unused = "circle filled",
            shape_summary_reference = "circle filled",
            shape_summary_comparison = "circle filled",
            shape_summary_unused = "circle filled",
            shape_summary_difference = "triangle filled",
            color_raw_reference = "#008DF9",
            color_raw_comparison = "#009F81",
            color_raw_unused = "gray65",
            color_summary_reference = "#008DF9",
            color_summary_comparison = "#009F81",
            color_summary_unused = "gray65",
            color_summary_difference = "black",
            fill_raw_reference = "NA",
            fill_raw_comparison = "NA",
            fill_raw_unused = "NA",
            fill_summary_reference = "#008DF9",
            fill_summary_comparison = "#009F81",
            fill_summary_unused = "gray65",
            fill_summary_difference = "black",
            size_raw_reference = "2",
            size_raw_comparison = "2",
            size_raw_unused = "1",
            size_summary_reference = "4",
            size_summary_comparison = "4",
            size_summary_unused = "4",
            size_summary_difference = "4",
            alpha_raw_reference = "1",
            alpha_raw_comparison = "1",
            alpha_raw_unused = "1",
            alpha_summary_reference = "1",
            alpha_summary_comparison = "1",
            alpha_summary_unused = "1",
            alpha_summary_difference = "1",
            linetype_summary_reference = "solid",
            linetype_summary_comparison = "solid",
            linetype_summary_unused = "solid",
            linetype_summary_difference = "solid",
            color_interval_reference = "black",
            color_interval_comparison = "black",
            color_interval_unused = "gray65",
            color_interval_difference = "black",
            size_interval_reference = "3",
            size_interval_comparison = "3",
            size_interval_unused = "3",
            size_interval_difference = "3",
            alpha_interval_reference = "1",
            alpha_interval_comparison = "1",
            alpha_interval_unused = "1",
            alpha_interval_difference = "1",
            alpha_error_reference = "1",
            alpha_error_comparison = "1",
            alpha_error_unused = "1",
            alpha_error_difference = "1",
            fill_error_reference = "gray75",
            fill_error_comparison = "gray75",
            fill_error_unused = "gray75",
            fill_error_difference = "gray75", ...) {

            super$initialize(
                package="esci",
                name="jamovimdiff2x2",
                requiresData=TRUE,
                ...)

            private$..design <- jmvcore::OptionList$new(
                "design",
                design,
                default="fully_between",
                options=list(
                    "fully_between",
                    "mixed"))
            private$..switch <- jmvcore::OptionList$new(
                "switch",
                switch,
                default="from_raw",
                options=list(
                    "from_raw",
                    "from_summary"))
            private$..outcome_variable <- jmvcore::OptionVariable$new(
                "outcome_variable",
                outcome_variable,
                suggested=list(
                    "continuous"),
                permitted=list(
                    "numeric"))
            private$..grouping_variable_A <- jmvcore::OptionVariable$new(
                "grouping_variable_A",
                grouping_variable_A,
                suggested=list(
                    "nominal",
                    "ordinal"),
                permitted=list(
                    "factor"))
            private$..grouping_variable_B <- jmvcore::OptionVariable$new(
                "grouping_variable_B",
                grouping_variable_B,
                suggested=list(
                    "nominal",
                    "ordinal"),
                permitted=list(
                    "factor"))
            private$..outcome_variable_level1 <- jmvcore::OptionVariable$new(
                "outcome_variable_level1",
                outcome_variable_level1,
                suggested=list(
                    "continuous"),
                permitted=list(
                    "numeric"))
            private$..outcome_variable_level2 <- jmvcore::OptionVariable$new(
                "outcome_variable_level2",
                outcome_variable_level2,
                suggested=list(
                    "continuous"),
                permitted=list(
                    "numeric"))
            private$..outcome_variable_name_bs <- jmvcore::OptionString$new(
                "outcome_variable_name_bs",
                outcome_variable_name_bs,
                default="My outcome variable")
            private$..grouping_variable <- jmvcore::OptionVariable$new(
                "grouping_variable",
                grouping_variable,
                suggested=list(
                    "nominal",
                    "ordinal"),
                permitted=list(
                    "factor"))
            private$..repeated_measures_name <- jmvcore::OptionString$new(
                "repeated_measures_name",
                repeated_measures_name,
                default="Time")
            private$..outcome_variable_name <- jmvcore::OptionString$new(
                "outcome_variable_name",
                outcome_variable_name,
                default="My outcome variable")
            private$..A1_label <- jmvcore::OptionString$new(
                "A1_label",
                A1_label,
                default="A1 level")
            private$..A2_label <- jmvcore::OptionString$new(
                "A2_label",
                A2_label,
                default="A2 level")
            private$..B1_label <- jmvcore::OptionString$new(
                "B1_label",
                B1_label,
                default="B1 level")
            private$..B2_label <- jmvcore::OptionString$new(
                "B2_label",
                B2_label,
                default="B2 level")
            private$..A_label <- jmvcore::OptionString$new(
                "A_label",
                A_label,
                default="Variable A")
            private$..B_label <- jmvcore::OptionString$new(
                "B_label",
                B_label,
                default="Variable B")
            private$..A1B1_mean <- jmvcore::OptionString$new(
                "A1B1_mean",
                A1B1_mean,
                default=" ")
            private$..A1B1_sd <- jmvcore::OptionString$new(
                "A1B1_sd",
                A1B1_sd,
                default=" ")
            private$..A1B1_n <- jmvcore::OptionString$new(
                "A1B1_n",
                A1B1_n,
                default=" ")
            private$..A1B2_mean <- jmvcore::OptionString$new(
                "A1B2_mean",
                A1B2_mean,
                default=" ")
            private$..A1B2_sd <- jmvcore::OptionString$new(
                "A1B2_sd",
                A1B2_sd,
                default=" ")
            private$..A1B2_n <- jmvcore::OptionString$new(
                "A1B2_n",
                A1B2_n,
                default=" ")
            private$..A2B1_mean <- jmvcore::OptionString$new(
                "A2B1_mean",
                A2B1_mean,
                default=" ")
            private$..A2B1_sd <- jmvcore::OptionString$new(
                "A2B1_sd",
                A2B1_sd,
                default=" ")
            private$..A2B1_n <- jmvcore::OptionString$new(
                "A2B1_n",
                A2B1_n,
                default=" ")
            private$..A2B2_mean <- jmvcore::OptionString$new(
                "A2B2_mean",
                A2B2_mean,
                default=" ")
            private$..A2B2_sd <- jmvcore::OptionString$new(
                "A2B2_sd",
                A2B2_sd,
                default=" ")
            private$..A2B2_n <- jmvcore::OptionString$new(
                "A2B2_n",
                A2B2_n,
                default=" ")
            private$..conf_level <- jmvcore::OptionNumber$new(
                "conf_level",
                conf_level,
                default=95)
            private$..effect_size <- jmvcore::OptionList$new(
                "effect_size",
                effect_size,
                default="mean_difference",
                options=list(
                    "mean_difference",
                    "median_difference"))
            private$..assume_equal_variance <- jmvcore::OptionBool$new(
                "assume_equal_variance",
                assume_equal_variance,
                default=TRUE)
            private$..show_details <- jmvcore::OptionBool$new(
                "show_details",
                show_details,
                default=FALSE)
            private$..show_interaction_plot <- jmvcore::OptionBool$new(
                "show_interaction_plot",
                show_interaction_plot,
                default=FALSE)
            private$..show_CI <- jmvcore::OptionBool$new(
                "show_CI",
                show_CI,
                default=FALSE)
            private$..evaluate_hypotheses <- jmvcore::OptionBool$new(
                "evaluate_hypotheses",
                evaluate_hypotheses,
                default=FALSE)
            private$..null_value <- jmvcore::OptionString$new(
                "null_value",
                null_value,
                default="0")
            private$..null_boundary <- jmvcore::OptionString$new(
                "null_boundary",
                null_boundary,
                default="0")
            private$..rope_units <- jmvcore::OptionList$new(
                "rope_units",
                rope_units,
                default="raw",
                options=list(
                    "raw",
                    "sd"))
            private$..alpha <- jmvcore::OptionNumber$new(
                "alpha",
                alpha,
                default=0.05)
            private$..null_color <- jmvcore::OptionList$new(
                "null_color",
                null_color,
                default="#A40122",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..es_plot_width <- jmvcore::OptionString$new(
                "es_plot_width",
                es_plot_width,
                default="700")
            private$..es_plot_height <- jmvcore::OptionString$new(
                "es_plot_height",
                es_plot_height,
                default="400")
            private$..ymin <- jmvcore::OptionString$new(
                "ymin",
                ymin,
                default="auto")
            private$..ymax <- jmvcore::OptionString$new(
                "ymax",
                ymax,
                default="auto")
            private$..ybreaks <- jmvcore::OptionString$new(
                "ybreaks",
                ybreaks,
                default="auto")
            private$..ylab <- jmvcore::OptionString$new(
                "ylab",
                ylab,
                default="auto")
            private$..xlab <- jmvcore::OptionString$new(
                "xlab",
                xlab,
                default="auto")
            private$..axis.text.y <- jmvcore::OptionString$new(
                "axis.text.y",
                axis.text.y,
                default="14")
            private$..axis.title.y <- jmvcore::OptionString$new(
                "axis.title.y",
                axis.title.y,
                default="15")
            private$..axis.text.x <- jmvcore::OptionString$new(
                "axis.text.x",
                axis.text.x,
                default="14")
            private$..axis.title.x <- jmvcore::OptionString$new(
                "axis.title.x",
                axis.title.x,
                default="15")
            private$..simple_contrast_labels <- jmvcore::OptionBool$new(
                "simple_contrast_labels",
                simple_contrast_labels,
                default=FALSE)
            private$..error_layout <- jmvcore::OptionList$new(
                "error_layout",
                error_layout,
                default="halfeye",
                options=list(
                    "halfeye",
                    "eye",
                    "none"))
            private$..error_scale <- jmvcore::OptionString$new(
                "error_scale",
                error_scale,
                default="0.25")
            private$..error_nudge <- jmvcore::OptionString$new(
                "error_nudge",
                error_nudge,
                default="0.5")
            private$..data_layout <- jmvcore::OptionList$new(
                "data_layout",
                data_layout,
                default="random",
                options=list(
                    "random",
                    "swarm",
                    "none"))
            private$..data_spread <- jmvcore::OptionString$new(
                "data_spread",
                data_spread,
                default="0.20")
            private$..difference_axis_units <- jmvcore::OptionList$new(
                "difference_axis_units",
                difference_axis_units,
                default="raw",
                options=list(
                    "raw",
                    "sd"))
            private$..difference_axis_breaks <- jmvcore::OptionString$new(
                "difference_axis_breaks",
                difference_axis_breaks,
                default="auto")
            private$..shape_raw_reference <- jmvcore::OptionList$new(
                "shape_raw_reference",
                shape_raw_reference,
                default="circle filled",
                options=list(
                    "circle filled",
                    "square filled",
                    "triangle filled",
                    "diamond filled"))
            private$..shape_raw_comparison <- jmvcore::OptionList$new(
                "shape_raw_comparison",
                shape_raw_comparison,
                default="circle filled",
                options=list(
                    "circle filled",
                    "square filled",
                    "triangle filled",
                    "diamond filled"))
            private$..shape_raw_unused <- jmvcore::OptionList$new(
                "shape_raw_unused",
                shape_raw_unused,
                default="circle filled",
                options=list(
                    "circle filled",
                    "square filled",
                    "triangle filled",
                    "diamond filled"))
            private$..shape_summary_reference <- jmvcore::OptionList$new(
                "shape_summary_reference",
                shape_summary_reference,
                default="circle filled",
                options=list(
                    "circle filled",
                    "square filled",
                    "triangle filled",
                    "diamond filled"))
            private$..shape_summary_comparison <- jmvcore::OptionList$new(
                "shape_summary_comparison",
                shape_summary_comparison,
                default="circle filled",
                options=list(
                    "circle filled",
                    "square filled",
                    "triangle filled",
                    "diamond filled"))
            private$..shape_summary_unused <- jmvcore::OptionList$new(
                "shape_summary_unused",
                shape_summary_unused,
                default="circle filled",
                options=list(
                    "circle filled",
                    "square filled",
                    "triangle filled",
                    "diamond filled"))
            private$..shape_summary_difference <- jmvcore::OptionList$new(
                "shape_summary_difference",
                shape_summary_difference,
                default="triangle filled",
                options=list(
                    "circle filled",
                    "square filled",
                    "triangle filled",
                    "diamond filled"))
            private$..color_raw_reference <- jmvcore::OptionList$new(
                "color_raw_reference",
                color_raw_reference,
                default="#008DF9",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_raw_comparison <- jmvcore::OptionList$new(
                "color_raw_comparison",
                color_raw_comparison,
                default="#009F81",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_raw_unused <- jmvcore::OptionList$new(
                "color_raw_unused",
                color_raw_unused,
                default="gray65",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_summary_reference <- jmvcore::OptionList$new(
                "color_summary_reference",
                color_summary_reference,
                default="#008DF9",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_summary_comparison <- jmvcore::OptionList$new(
                "color_summary_comparison",
                color_summary_comparison,
                default="#009F81",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_summary_unused <- jmvcore::OptionList$new(
                "color_summary_unused",
                color_summary_unused,
                default="gray65",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_summary_difference <- jmvcore::OptionList$new(
                "color_summary_difference",
                color_summary_difference,
                default="black",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_raw_reference <- jmvcore::OptionList$new(
                "fill_raw_reference",
                fill_raw_reference,
                default="NA",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_raw_comparison <- jmvcore::OptionList$new(
                "fill_raw_comparison",
                fill_raw_comparison,
                default="NA",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_raw_unused <- jmvcore::OptionList$new(
                "fill_raw_unused",
                fill_raw_unused,
                default="NA",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_summary_reference <- jmvcore::OptionList$new(
                "fill_summary_reference",
                fill_summary_reference,
                default="#008DF9",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_summary_comparison <- jmvcore::OptionList$new(
                "fill_summary_comparison",
                fill_summary_comparison,
                default="#009F81",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_summary_unused <- jmvcore::OptionList$new(
                "fill_summary_unused",
                fill_summary_unused,
                default="gray65",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_summary_difference <- jmvcore::OptionList$new(
                "fill_summary_difference",
                fill_summary_difference,
                default="black",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..size_raw_reference <- jmvcore::OptionList$new(
                "size_raw_reference",
                size_raw_reference,
                default="2",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6"))
            private$..size_raw_comparison <- jmvcore::OptionList$new(
                "size_raw_comparison",
                size_raw_comparison,
                default="2",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6"))
            private$..size_raw_unused <- jmvcore::OptionList$new(
                "size_raw_unused",
                size_raw_unused,
                default="1",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6"))
            private$..size_summary_reference <- jmvcore::OptionList$new(
                "size_summary_reference",
                size_summary_reference,
                default="4",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6"))
            private$..size_summary_comparison <- jmvcore::OptionList$new(
                "size_summary_comparison",
                size_summary_comparison,
                default="4",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6"))
            private$..size_summary_unused <- jmvcore::OptionList$new(
                "size_summary_unused",
                size_summary_unused,
                default="4",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6"))
            private$..size_summary_difference <- jmvcore::OptionList$new(
                "size_summary_difference",
                size_summary_difference,
                default="4",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6"))
            private$..alpha_raw_reference <- jmvcore::OptionList$new(
                "alpha_raw_reference",
                alpha_raw_reference,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_raw_comparison <- jmvcore::OptionList$new(
                "alpha_raw_comparison",
                alpha_raw_comparison,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_raw_unused <- jmvcore::OptionList$new(
                "alpha_raw_unused",
                alpha_raw_unused,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_summary_reference <- jmvcore::OptionList$new(
                "alpha_summary_reference",
                alpha_summary_reference,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_summary_comparison <- jmvcore::OptionList$new(
                "alpha_summary_comparison",
                alpha_summary_comparison,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_summary_unused <- jmvcore::OptionList$new(
                "alpha_summary_unused",
                alpha_summary_unused,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_summary_difference <- jmvcore::OptionList$new(
                "alpha_summary_difference",
                alpha_summary_difference,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..linetype_summary_reference <- jmvcore::OptionList$new(
                "linetype_summary_reference",
                linetype_summary_reference,
                default="solid",
                options=list(
                    "solid",
                    "dotted",
                    "dotdash",
                    "dashed",
                    "blank"))
            private$..linetype_summary_comparison <- jmvcore::OptionList$new(
                "linetype_summary_comparison",
                linetype_summary_comparison,
                default="solid",
                options=list(
                    "solid",
                    "dotted",
                    "dotdash",
                    "dashed",
                    "blank"))
            private$..linetype_summary_unused <- jmvcore::OptionList$new(
                "linetype_summary_unused",
                linetype_summary_unused,
                default="solid",
                options=list(
                    "solid",
                    "dotted",
                    "dotdash",
                    "dashed",
                    "blank"))
            private$..linetype_summary_difference <- jmvcore::OptionList$new(
                "linetype_summary_difference",
                linetype_summary_difference,
                default="solid",
                options=list(
                    "solid",
                    "dotted",
                    "dotdash",
                    "dashed",
                    "blank"))
            private$..color_interval_reference <- jmvcore::OptionList$new(
                "color_interval_reference",
                color_interval_reference,
                default="black",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_interval_comparison <- jmvcore::OptionList$new(
                "color_interval_comparison",
                color_interval_comparison,
                default="black",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_interval_unused <- jmvcore::OptionList$new(
                "color_interval_unused",
                color_interval_unused,
                default="gray65",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..color_interval_difference <- jmvcore::OptionList$new(
                "color_interval_difference",
                color_interval_difference,
                default="black",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..size_interval_reference <- jmvcore::OptionList$new(
                "size_interval_reference",
                size_interval_reference,
                default="3",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6",
                    "7",
                    "8"))
            private$..size_interval_comparison <- jmvcore::OptionList$new(
                "size_interval_comparison",
                size_interval_comparison,
                default="3",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6",
                    "7",
                    "8"))
            private$..size_interval_unused <- jmvcore::OptionList$new(
                "size_interval_unused",
                size_interval_unused,
                default="3",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6",
                    "7",
                    "8"))
            private$..size_interval_difference <- jmvcore::OptionList$new(
                "size_interval_difference",
                size_interval_difference,
                default="3",
                options=list(
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6",
                    "7",
                    "8"))
            private$..alpha_interval_reference <- jmvcore::OptionList$new(
                "alpha_interval_reference",
                alpha_interval_reference,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_interval_comparison <- jmvcore::OptionList$new(
                "alpha_interval_comparison",
                alpha_interval_comparison,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_interval_unused <- jmvcore::OptionList$new(
                "alpha_interval_unused",
                alpha_interval_unused,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_interval_difference <- jmvcore::OptionList$new(
                "alpha_interval_difference",
                alpha_interval_difference,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_error_reference <- jmvcore::OptionList$new(
                "alpha_error_reference",
                alpha_error_reference,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_error_comparison <- jmvcore::OptionList$new(
                "alpha_error_comparison",
                alpha_error_comparison,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_error_unused <- jmvcore::OptionList$new(
                "alpha_error_unused",
                alpha_error_unused,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..alpha_error_difference <- jmvcore::OptionList$new(
                "alpha_error_difference",
                alpha_error_difference,
                default="1",
                options=list(
                    "1",
                    ".75",
                    ".5",
                    ".25",
                    ".20",
                    ".15",
                    ".10",
                    ".05",
                    "0"))
            private$..fill_error_reference <- jmvcore::OptionList$new(
                "fill_error_reference",
                fill_error_reference,
                default="gray75",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_error_comparison <- jmvcore::OptionList$new(
                "fill_error_comparison",
                fill_error_comparison,
                default="gray75",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_error_unused <- jmvcore::OptionList$new(
                "fill_error_unused",
                fill_error_unused,
                default="gray75",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))
            private$..fill_error_difference <- jmvcore::OptionList$new(
                "fill_error_difference",
                fill_error_difference,
                default="gray75",
                options=list(
                    "black",
                    "#00C2F9",
                    "#008DF9",
                    "#009F81",
                    "#FF5AAF",
                    "#9F0162",
                    "#A40122",
                    "#00FCCF",
                    "#FF6E3A",
                    "#FFB2FD",
                    "#8400CD",
                    "#E20134",
                    "#FFC33B",
                    "white",
                    "NA",
                    "NA",
                    "gray0",
                    "gray5",
                    "gray10",
                    "gray15",
                    "gray20",
                    "gray25",
                    "gray30",
                    "gray35",
                    "gray40",
                    "gray45",
                    "gray50",
                    "gray55",
                    "gray60",
                    "gray65",
                    "gray70",
                    "gray75",
                    "gray80",
                    "gray85",
                    "gray90",
                    "gray95",
                    "gray100"))

            self$.addOption(private$..design)
            self$.addOption(private$..switch)
            self$.addOption(private$..outcome_variable)
            self$.addOption(private$..grouping_variable_A)
            self$.addOption(private$..grouping_variable_B)
            self$.addOption(private$..outcome_variable_level1)
            self$.addOption(private$..outcome_variable_level2)
            self$.addOption(private$..outcome_variable_name_bs)
            self$.addOption(private$..grouping_variable)
            self$.addOption(private$..repeated_measures_name)
            self$.addOption(private$..outcome_variable_name)
            self$.addOption(private$..A1_label)
            self$.addOption(private$..A2_label)
            self$.addOption(private$..B1_label)
            self$.addOption(private$..B2_label)
            self$.addOption(private$..A_label)
            self$.addOption(private$..B_label)
            self$.addOption(private$..A1B1_mean)
            self$.addOption(private$..A1B1_sd)
            self$.addOption(private$..A1B1_n)
            self$.addOption(private$..A1B2_mean)
            self$.addOption(private$..A1B2_sd)
            self$.addOption(private$..A1B2_n)
            self$.addOption(private$..A2B1_mean)
            self$.addOption(private$..A2B1_sd)
            self$.addOption(private$..A2B1_n)
            self$.addOption(private$..A2B2_mean)
            self$.addOption(private$..A2B2_sd)
            self$.addOption(private$..A2B2_n)
            self$.addOption(private$..conf_level)
            self$.addOption(private$..effect_size)
            self$.addOption(private$..assume_equal_variance)
            self$.addOption(private$..show_details)
            self$.addOption(private$..show_interaction_plot)
            self$.addOption(private$..show_CI)
            self$.addOption(private$..evaluate_hypotheses)
            self$.addOption(private$..null_value)
            self$.addOption(private$..null_boundary)
            self$.addOption(private$..rope_units)
            self$.addOption(private$..alpha)
            self$.addOption(private$..null_color)
            self$.addOption(private$..es_plot_width)
            self$.addOption(private$..es_plot_height)
            self$.addOption(private$..ymin)
            self$.addOption(private$..ymax)
            self$.addOption(private$..ybreaks)
            self$.addOption(private$..ylab)
            self$.addOption(private$..xlab)
            self$.addOption(private$..axis.text.y)
            self$.addOption(private$..axis.title.y)
            self$.addOption(private$..axis.text.x)
            self$.addOption(private$..axis.title.x)
            self$.addOption(private$..simple_contrast_labels)
            self$.addOption(private$..error_layout)
            self$.addOption(private$..error_scale)
            self$.addOption(private$..error_nudge)
            self$.addOption(private$..data_layout)
            self$.addOption(private$..data_spread)
            self$.addOption(private$..difference_axis_units)
            self$.addOption(private$..difference_axis_breaks)
            self$.addOption(private$..shape_raw_reference)
            self$.addOption(private$..shape_raw_comparison)
            self$.addOption(private$..shape_raw_unused)
            self$.addOption(private$..shape_summary_reference)
            self$.addOption(private$..shape_summary_comparison)
            self$.addOption(private$..shape_summary_unused)
            self$.addOption(private$..shape_summary_difference)
            self$.addOption(private$..color_raw_reference)
            self$.addOption(private$..color_raw_comparison)
            self$.addOption(private$..color_raw_unused)
            self$.addOption(private$..color_summary_reference)
            self$.addOption(private$..color_summary_comparison)
            self$.addOption(private$..color_summary_unused)
            self$.addOption(private$..color_summary_difference)
            self$.addOption(private$..fill_raw_reference)
            self$.addOption(private$..fill_raw_comparison)
            self$.addOption(private$..fill_raw_unused)
            self$.addOption(private$..fill_summary_reference)
            self$.addOption(private$..fill_summary_comparison)
            self$.addOption(private$..fill_summary_unused)
            self$.addOption(private$..fill_summary_difference)
            self$.addOption(private$..size_raw_reference)
            self$.addOption(private$..size_raw_comparison)
            self$.addOption(private$..size_raw_unused)
            self$.addOption(private$..size_summary_reference)
            self$.addOption(private$..size_summary_comparison)
            self$.addOption(private$..size_summary_unused)
            self$.addOption(private$..size_summary_difference)
            self$.addOption(private$..alpha_raw_reference)
            self$.addOption(private$..alpha_raw_comparison)
            self$.addOption(private$..alpha_raw_unused)
            self$.addOption(private$..alpha_summary_reference)
            self$.addOption(private$..alpha_summary_comparison)
            self$.addOption(private$..alpha_summary_unused)
            self$.addOption(private$..alpha_summary_difference)
            self$.addOption(private$..linetype_summary_reference)
            self$.addOption(private$..linetype_summary_comparison)
            self$.addOption(private$..linetype_summary_unused)
            self$.addOption(private$..linetype_summary_difference)
            self$.addOption(private$..color_interval_reference)
            self$.addOption(private$..color_interval_comparison)
            self$.addOption(private$..color_interval_unused)
            self$.addOption(private$..color_interval_difference)
            self$.addOption(private$..size_interval_reference)
            self$.addOption(private$..size_interval_comparison)
            self$.addOption(private$..size_interval_unused)
            self$.addOption(private$..size_interval_difference)
            self$.addOption(private$..alpha_interval_reference)
            self$.addOption(private$..alpha_interval_comparison)
            self$.addOption(private$..alpha_interval_unused)
            self$.addOption(private$..alpha_interval_difference)
            self$.addOption(private$..alpha_error_reference)
            self$.addOption(private$..alpha_error_comparison)
            self$.addOption(private$..alpha_error_unused)
            self$.addOption(private$..alpha_error_difference)
            self$.addOption(private$..fill_error_reference)
            self$.addOption(private$..fill_error_comparison)
            self$.addOption(private$..fill_error_unused)
            self$.addOption(private$..fill_error_difference)
        }),
    active = list(
        design = function() private$..design$value,
        switch = function() private$..switch$value,
        outcome_variable = function() private$..outcome_variable$value,
        grouping_variable_A = function() private$..grouping_variable_A$value,
        grouping_variable_B = function() private$..grouping_variable_B$value,
        outcome_variable_level1 = function() private$..outcome_variable_level1$value,
        outcome_variable_level2 = function() private$..outcome_variable_level2$value,
        outcome_variable_name_bs = function() private$..outcome_variable_name_bs$value,
        grouping_variable = function() private$..grouping_variable$value,
        repeated_measures_name = function() private$..repeated_measures_name$value,
        outcome_variable_name = function() private$..outcome_variable_name$value,
        A1_label = function() private$..A1_label$value,
        A2_label = function() private$..A2_label$value,
        B1_label = function() private$..B1_label$value,
        B2_label = function() private$..B2_label$value,
        A_label = function() private$..A_label$value,
        B_label = function() private$..B_label$value,
        A1B1_mean = function() private$..A1B1_mean$value,
        A1B1_sd = function() private$..A1B1_sd$value,
        A1B1_n = function() private$..A1B1_n$value,
        A1B2_mean = function() private$..A1B2_mean$value,
        A1B2_sd = function() private$..A1B2_sd$value,
        A1B2_n = function() private$..A1B2_n$value,
        A2B1_mean = function() private$..A2B1_mean$value,
        A2B1_sd = function() private$..A2B1_sd$value,
        A2B1_n = function() private$..A2B1_n$value,
        A2B2_mean = function() private$..A2B2_mean$value,
        A2B2_sd = function() private$..A2B2_sd$value,
        A2B2_n = function() private$..A2B2_n$value,
        conf_level = function() private$..conf_level$value,
        effect_size = function() private$..effect_size$value,
        assume_equal_variance = function() private$..assume_equal_variance$value,
        show_details = function() private$..show_details$value,
        show_interaction_plot = function() private$..show_interaction_plot$value,
        show_CI = function() private$..show_CI$value,
        evaluate_hypotheses = function() private$..evaluate_hypotheses$value,
        null_value = function() private$..null_value$value,
        null_boundary = function() private$..null_boundary$value,
        rope_units = function() private$..rope_units$value,
        alpha = function() private$..alpha$value,
        null_color = function() private$..null_color$value,
        es_plot_width = function() private$..es_plot_width$value,
        es_plot_height = function() private$..es_plot_height$value,
        ymin = function() private$..ymin$value,
        ymax = function() private$..ymax$value,
        ybreaks = function() private$..ybreaks$value,
        ylab = function() private$..ylab$value,
        xlab = function() private$..xlab$value,
        axis.text.y = function() private$..axis.text.y$value,
        axis.title.y = function() private$..axis.title.y$value,
        axis.text.x = function() private$..axis.text.x$value,
        axis.title.x = function() private$..axis.title.x$value,
        simple_contrast_labels = function() private$..simple_contrast_labels$value,
        error_layout = function() private$..error_layout$value,
        error_scale = function() private$..error_scale$value,
        error_nudge = function() private$..error_nudge$value,
        data_layout = function() private$..data_layout$value,
        data_spread = function() private$..data_spread$value,
        difference_axis_units = function() private$..difference_axis_units$value,
        difference_axis_breaks = function() private$..difference_axis_breaks$value,
        shape_raw_reference = function() private$..shape_raw_reference$value,
        shape_raw_comparison = function() private$..shape_raw_comparison$value,
        shape_raw_unused = function() private$..shape_raw_unused$value,
        shape_summary_reference = function() private$..shape_summary_reference$value,
        shape_summary_comparison = function() private$..shape_summary_comparison$value,
        shape_summary_unused = function() private$..shape_summary_unused$value,
        shape_summary_difference = function() private$..shape_summary_difference$value,
        color_raw_reference = function() private$..color_raw_reference$value,
        color_raw_comparison = function() private$..color_raw_comparison$value,
        color_raw_unused = function() private$..color_raw_unused$value,
        color_summary_reference = function() private$..color_summary_reference$value,
        color_summary_comparison = function() private$..color_summary_comparison$value,
        color_summary_unused = function() private$..color_summary_unused$value,
        color_summary_difference = function() private$..color_summary_difference$value,
        fill_raw_reference = function() private$..fill_raw_reference$value,
        fill_raw_comparison = function() private$..fill_raw_comparison$value,
        fill_raw_unused = function() private$..fill_raw_unused$value,
        fill_summary_reference = function() private$..fill_summary_reference$value,
        fill_summary_comparison = function() private$..fill_summary_comparison$value,
        fill_summary_unused = function() private$..fill_summary_unused$value,
        fill_summary_difference = function() private$..fill_summary_difference$value,
        size_raw_reference = function() private$..size_raw_reference$value,
        size_raw_comparison = function() private$..size_raw_comparison$value,
        size_raw_unused = function() private$..size_raw_unused$value,
        size_summary_reference = function() private$..size_summary_reference$value,
        size_summary_comparison = function() private$..size_summary_comparison$value,
        size_summary_unused = function() private$..size_summary_unused$value,
        size_summary_difference = function() private$..size_summary_difference$value,
        alpha_raw_reference = function() private$..alpha_raw_reference$value,
        alpha_raw_comparison = function() private$..alpha_raw_comparison$value,
        alpha_raw_unused = function() private$..alpha_raw_unused$value,
        alpha_summary_reference = function() private$..alpha_summary_reference$value,
        alpha_summary_comparison = function() private$..alpha_summary_comparison$value,
        alpha_summary_unused = function() private$..alpha_summary_unused$value,
        alpha_summary_difference = function() private$..alpha_summary_difference$value,
        linetype_summary_reference = function() private$..linetype_summary_reference$value,
        linetype_summary_comparison = function() private$..linetype_summary_comparison$value,
        linetype_summary_unused = function() private$..linetype_summary_unused$value,
        linetype_summary_difference = function() private$..linetype_summary_difference$value,
        color_interval_reference = function() private$..color_interval_reference$value,
        color_interval_comparison = function() private$..color_interval_comparison$value,
        color_interval_unused = function() private$..color_interval_unused$value,
        color_interval_difference = function() private$..color_interval_difference$value,
        size_interval_reference = function() private$..size_interval_reference$value,
        size_interval_comparison = function() private$..size_interval_comparison$value,
        size_interval_unused = function() private$..size_interval_unused$value,
        size_interval_difference = function() private$..size_interval_difference$value,
        alpha_interval_reference = function() private$..alpha_interval_reference$value,
        alpha_interval_comparison = function() private$..alpha_interval_comparison$value,
        alpha_interval_unused = function() private$..alpha_interval_unused$value,
        alpha_interval_difference = function() private$..alpha_interval_difference$value,
        alpha_error_reference = function() private$..alpha_error_reference$value,
        alpha_error_comparison = function() private$..alpha_error_comparison$value,
        alpha_error_unused = function() private$..alpha_error_unused$value,
        alpha_error_difference = function() private$..alpha_error_difference$value,
        fill_error_reference = function() private$..fill_error_reference$value,
        fill_error_comparison = function() private$..fill_error_comparison$value,
        fill_error_unused = function() private$..fill_error_unused$value,
        fill_error_difference = function() private$..fill_error_difference$value),
    private = list(
        ..design = NA,
        ..switch = NA,
        ..outcome_variable = NA,
        ..grouping_variable_A = NA,
        ..grouping_variable_B = NA,
        ..outcome_variable_level1 = NA,
        ..outcome_variable_level2 = NA,
        ..outcome_variable_name_bs = NA,
        ..grouping_variable = NA,
        ..repeated_measures_name = NA,
        ..outcome_variable_name = NA,
        ..A1_label = NA,
        ..A2_label = NA,
        ..B1_label = NA,
        ..B2_label = NA,
        ..A_label = NA,
        ..B_label = NA,
        ..A1B1_mean = NA,
        ..A1B1_sd = NA,
        ..A1B1_n = NA,
        ..A1B2_mean = NA,
        ..A1B2_sd = NA,
        ..A1B2_n = NA,
        ..A2B1_mean = NA,
        ..A2B1_sd = NA,
        ..A2B1_n = NA,
        ..A2B2_mean = NA,
        ..A2B2_sd = NA,
        ..A2B2_n = NA,
        ..conf_level = NA,
        ..effect_size = NA,
        ..assume_equal_variance = NA,
        ..show_details = NA,
        ..show_interaction_plot = NA,
        ..show_CI = NA,
        ..evaluate_hypotheses = NA,
        ..null_value = NA,
        ..null_boundary = NA,
        ..rope_units = NA,
        ..alpha = NA,
        ..null_color = NA,
        ..es_plot_width = NA,
        ..es_plot_height = NA,
        ..ymin = NA,
        ..ymax = NA,
        ..ybreaks = NA,
        ..ylab = NA,
        ..xlab = NA,
        ..axis.text.y = NA,
        ..axis.title.y = NA,
        ..axis.text.x = NA,
        ..axis.title.x = NA,
        ..simple_contrast_labels = NA,
        ..error_layout = NA,
        ..error_scale = NA,
        ..error_nudge = NA,
        ..data_layout = NA,
        ..data_spread = NA,
        ..difference_axis_units = NA,
        ..difference_axis_breaks = NA,
        ..shape_raw_reference = NA,
        ..shape_raw_comparison = NA,
        ..shape_raw_unused = NA,
        ..shape_summary_reference = NA,
        ..shape_summary_comparison = NA,
        ..shape_summary_unused = NA,
        ..shape_summary_difference = NA,
        ..color_raw_reference = NA,
        ..color_raw_comparison = NA,
        ..color_raw_unused = NA,
        ..color_summary_reference = NA,
        ..color_summary_comparison = NA,
        ..color_summary_unused = NA,
        ..color_summary_difference = NA,
        ..fill_raw_reference = NA,
        ..fill_raw_comparison = NA,
        ..fill_raw_unused = NA,
        ..fill_summary_reference = NA,
        ..fill_summary_comparison = NA,
        ..fill_summary_unused = NA,
        ..fill_summary_difference = NA,
        ..size_raw_reference = NA,
        ..size_raw_comparison = NA,
        ..size_raw_unused = NA,
        ..size_summary_reference = NA,
        ..size_summary_comparison = NA,
        ..size_summary_unused = NA,
        ..size_summary_difference = NA,
        ..alpha_raw_reference = NA,
        ..alpha_raw_comparison = NA,
        ..alpha_raw_unused = NA,
        ..alpha_summary_reference = NA,
        ..alpha_summary_comparison = NA,
        ..alpha_summary_unused = NA,
        ..alpha_summary_difference = NA,
        ..linetype_summary_reference = NA,
        ..linetype_summary_comparison = NA,
        ..linetype_summary_unused = NA,
        ..linetype_summary_difference = NA,
        ..color_interval_reference = NA,
        ..color_interval_comparison = NA,
        ..color_interval_unused = NA,
        ..color_interval_difference = NA,
        ..size_interval_reference = NA,
        ..size_interval_comparison = NA,
        ..size_interval_unused = NA,
        ..size_interval_difference = NA,
        ..alpha_interval_reference = NA,
        ..alpha_interval_comparison = NA,
        ..alpha_interval_unused = NA,
        ..alpha_interval_difference = NA,
        ..alpha_error_reference = NA,
        ..alpha_error_comparison = NA,
        ..alpha_error_unused = NA,
        ..alpha_error_difference = NA,
        ..fill_error_reference = NA,
        ..fill_error_comparison = NA,
        ..fill_error_unused = NA,
        ..fill_error_difference = NA)
)

jamovimdiff2x2Results <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "jamovimdiff2x2Results",
    inherit = jmvcore::Group,
    active = list(
        analysis_type = function() private$.items[["analysis_type"]],
        debug = function() private$.items[["debug"]],
        help = function() private$.items[["help"]],
        overview = function() private$.items[["overview"]],
        es_median_difference = function() private$.items[["es_median_difference"]],
        es_mean_difference = function() private$.items[["es_mean_difference"]],
        es_smd = function() private$.items[["es_smd"]],
        point_null = function() private$.items[["point_null"]],
        interval_null = function() private$.items[["interval_null"]],
        estimation_plot_warnings = function() private$.items[["estimation_plot_warnings"]],
        main_effect_A = function() private$.items[["main_effect_A"]],
        main_effect_B = function() private$.items[["main_effect_B"]],
        interaction = function() private$.items[["interaction"]],
        interaction_plot = function() private$.items[["interaction_plot"]]),
    private = list(),
    public=list(
        initialize=function(options) {
            super$initialize(
                options=options,
                name="",
                title="Means and Medians: 2x2 Factorial")
            self$add(jmvcore::Html$new(
                options=options,
                name="analysis_type",
                visible=TRUE))
            self$add(jmvcore::Preformatted$new(
                options=options,
                name="debug",
                visible=FALSE))
            self$add(jmvcore::Html$new(
                options=options,
                name="help",
                visible=FALSE))
            self$add(jmvcore::Table$new(
                options=options,
                name="overview",
                title="Overview",
                rows=4,
                clearWith=list(
                    "switch",
                    "outcome_variable",
                    "grouping_variable_A",
                    "grouping_variable_B",
                    "outcome_variable_level1",
                    "outcome_variable_level2",
                    "outcome_variable_name_bs",
                    "grouping_variable",
                    "repeated_measures_name",
                    "outcome_variable_name",
                    "A1_label",
                    "A2_label",
                    "B1_label",
                    "B2_label",
                    "A_label",
                    "B_label",
                    "A1B1_mean",
                    "A1B1_sd",
                    "A1B1_n",
                    "A1B2_mean",
                    "A1B2_sd",
                    "A1B2_n",
                    "A2B1_mean",
                    "A2B1_sd",
                    "A2B1_n",
                    "A2B2_mean",
                    "A2B2_sd",
                    "A2B2_n",
                    "conf_level",
                    "effect_size",
                    "assume_equal_variance",
                    "show_details"),
                columns=list(
                    list(
                        `name`="outcome_variable_name", 
                        `title`="Outcome variable", 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="grouping_variable_name", 
                        `title`="Grouping variable", 
                        `type`="text", 
                        `combineBelow`=TRUE, 
                        `visible`=FALSE),
                    list(
                        `name`="grouping_variable_level", 
                        `title`="Group", 
                        `type`="text", 
                        `visible`=FALSE),
                    list(
                        `name`="grouping_variable_name_A", 
                        `title`="Grouping variable A", 
                        `type`="text", 
                        `combineBelow`=TRUE, 
                        `visible`=FALSE),
                    list(
                        `name`="grouping_variable_A_level", 
                        `title`="Group A", 
                        `type`="text"),
                    list(
                        `name`="grouping_variable_name_B", 
                        `title`="Grouping variable B", 
                        `type`="text", 
                        `combineBelow`=TRUE, 
                        `visible`=FALSE),
                    list(
                        `name`="grouping_variable_B_level", 
                        `title`="Group B", 
                        `type`="text"),
                    list(
                        `name`="mean", 
                        `type`="number", 
                        `title`="<i>M</i>"),
                    list(
                        `name`="mean_LL", 
                        `title`="LL", 
                        `type`="number", 
                        `visible`="(effect_size == 'mean_difference')"),
                    list(
                        `name`="mean_UL", 
                        `title`="UL", 
                        `type`="number", 
                        `visible`="(effect_size == 'mean_difference')"),
                    list(
                        `name`="moe", 
                        `type`="number", 
                        `title`="<i>MoE</i>", 
                        `visible`="(show_details & effect_size == 'mean_difference')"),
                    list(
                        `name`="mean_SE", 
                        `title`="<i>SE</i><sub>Mean</sub>", 
                        `type`="number", 
                        `visible`="(show_details & effect_size == 'mean_difference')"),
                    list(
                        `name`="median", 
                        `title`="<i>Mdn</i>", 
                        `type`="number", 
                        `visible`="(switch == 'from_raw')"),
                    list(
                        `name`="median_LL", 
                        `title`="LL", 
                        `type`="number", 
                        `visible`="(effect_size == 'median_difference' & switch == 'from_raw')"),
                    list(
                        `name`="median_UL", 
                        `title`="UL", 
                        `type`="number", 
                        `visible`="(effect_size == 'median_difference' & switch == 'from_raw')"),
                    list(
                        `name`="median_SE", 
                        `type`="number", 
                        `title`="<i>SE</i><sub>Median</sub>", 
                        `visible`="(show_details & effect_size == 'median_difference' & switch == 'from_raw')"),
                    list(
                        `name`="sd", 
                        `type`="number", 
                        `title`="<i>s</i>"),
                    list(
                        `name`="min", 
                        `title`="Minimum", 
                        `type`="number", 
                        `visible`="(show_details & switch == 'from_raw')"),
                    list(
                        `name`="max", 
                        `title`="Maximum", 
                        `type`="number", 
                        `visible`="(show_details & switch == 'from_raw')"),
                    list(
                        `name`="q1", 
                        `title`="25th", 
                        `type`="number", 
                        `superTitle`="Percentile", 
                        `visible`="(show_details & switch == 'from_raw')"),
                    list(
                        `name`="q3", 
                        `title`="75th", 
                        `type`="number", 
                        `superTitle`="Percentile", 
                        `visible`="(show_details & switch == 'from_raw')"),
                    list(
                        `name`="n", 
                        `title`="<i>n</i>", 
                        `type`="integer"),
                    list(
                        `name`="missing", 
                        `type`="integer", 
                        `title`="Missing", 
                        `visible`=FALSE),
                    list(
                        `name`="df_i", 
                        `title`="<i>df</i>", 
                        `type`="integer", 
                        `visible`="(show_details & effect_size == 'mean_difference')"),
                    list(
                        `name`="s_pooled", 
                        `type`="number", 
                        `title`="<i>s</i><sub>p</sub>", 
                        `visible`="(effect_size == 'mean_difference' & assume_equal_variance & design == 'fully_between')"))))
            self$add(jmvcore::Table$new(
                options=options,
                name="es_median_difference",
                title="Median Difference",
                visible="(effect_size == 'median_difference' & design == 'fully_between')",
                refs="lc_median_bs",
                rows="15 - switch - outcome_variable - grouping_variable_A - grouping_variable_B - outcome_variable_level1 - outcome_variable_level2 - outcome_variable_name_bs - grouping_variable - repeated_measures_name - outcome_variable_name - conf_level - effect_size - assume_equal_variance - show_details",
                columns=list(
                    list(
                        `name`="outcome_variable_name", 
                        `title`="Outcome variable", 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="effect_type", 
                        `title`="Effect type", 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="grouping_variable_name", 
                        `title`="Grouping variable", 
                        `type`="text", 
                        `combineBelow`=TRUE, 
                        `visible`=FALSE),
                    list(
                        `name`="effect", 
                        `title`="Effect", 
                        `type`="text", 
                        `visible`=FALSE),
                    list(
                        `name`="effects_complex", 
                        `title`="Effect", 
                        `type`="text"),
                    list(
                        `name`="effect_size", 
                        `type`="number", 
                        `title`="<i>Mdn</i>"),
                    list(
                        `name`="LL", 
                        `title`="LL", 
                        `type`="number"),
                    list(
                        `name`="UL", 
                        `title`="UL", 
                        `type`="number"),
                    list(
                        `name`="SE", 
                        `title`="<i>SE</i>", 
                        `type`="number", 
                        `visible`="(show_details)"))))
            self$add(jmvcore::Table$new(
                options=options,
                name="es_mean_difference",
                title="Mean Difference",
                rows=15,
                visible="(effect_size == 'mean_difference')",
                clearWith=list(
                    "switch",
                    "outcome_variable",
                    "grouping_variable_A",
                    "grouping_variable_B",
                    "outcome_variable_level1",
                    "outcome_variable_level2",
                    "outcome_variable_name_bs",
                    "grouping_variable",
                    "repeated_measures_name",
                    "outcome_variable_name",
                    "A1_label",
                    "A2_label",
                    "B1_label",
                    "B2_label",
                    "A_label",
                    "B_label",
                    "A1B1_mean",
                    "A1B1_sd",
                    "A1B1_n",
                    "A1B2_mean",
                    "A1B2_sd",
                    "A1B2_n",
                    "A2B1_mean",
                    "A2B1_sd",
                    "A2B1_n",
                    "A2B2_mean",
                    "A2B2_sd",
                    "A2B2_n",
                    "conf_level",
                    "effect_size",
                    "assume_equal_variance",
                    "show_details"),
                columns=list(
                    list(
                        `name`="outcome_variable_name", 
                        `title`="Outcome variable", 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="effect_type", 
                        `title`="Effect type", 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="grouping_variable_name", 
                        `title`="Grouping variable", 
                        `type`="text", 
                        `combineBelow`=TRUE, 
                        `visible`=FALSE),
                    list(
                        `name`="effect", 
                        `title`="Effect", 
                        `type`="text", 
                        `visible`=FALSE),
                    list(
                        `name`="effects_complex", 
                        `title`="Effect", 
                        `type`="text"),
                    list(
                        `name`="effect_size", 
                        `type`="number", 
                        `title`="<i>M</i>"),
                    list(
                        `name`="LL", 
                        `title`="LL", 
                        `type`="number"),
                    list(
                        `name`="UL", 
                        `title`="UL", 
                        `type`="number"),
                    list(
                        `name`="moe", 
                        `type`="number", 
                        `title`="<i>MoE</i>", 
                        `visible`="(show_details)"),
                    list(
                        `name`="SE", 
                        `title`="<i>SE</i>", 
                        `type`="number", 
                        `visible`="(show_details)"),
                    list(
                        `name`="df", 
                        `title`="<i>df</i>", 
                        `type`="number", 
                        `visible`="(show_details & !assume_equal_variance)"),
                    list(
                        `name`="df_i", 
                        `title`="<i>df</i>", 
                        `type`="integer", 
                        `visible`="(show_details & assume_equal_variance)"),
                    list(
                        `name`="s_component", 
                        `type`="number", 
                        `title`="<i>s</i><sub>p</sub>", 
                        `visible`="(show_details & assume_equal_variance & design == 'fully_between')"))))
            self$add(jmvcore::Table$new(
                options=options,
                name="es_smd",
                title="Standardized Mean Difference",
                rows=5,
                refs="lc_stdmean_bs",
                visible="(effect_size == 'mean_difference' & design == 'fully_between')",
                clearWith=list(
                    "switch",
                    "outcome_variable",
                    "grouping_variable_A",
                    "grouping_variable_B",
                    "outcome_variable_level1",
                    "outcome_variable_level2",
                    "outcome_variable_name_bs",
                    "grouping_variable",
                    "repeated_measures_name",
                    "outcome_variable_name",
                    "A1_label",
                    "A2_label",
                    "B1_label",
                    "B2_label",
                    "A_label",
                    "B_label",
                    "A1B1_mean",
                    "A1B1_sd",
                    "A1B1_n",
                    "A1B2_mean",
                    "A1B2_sd",
                    "A1B2_n",
                    "A2B1_mean",
                    "A2B1_sd",
                    "A2B1_n",
                    "A2B2_mean",
                    "A2B2_sd",
                    "A2B2_n",
                    "conf_level",
                    "effect_size",
                    "assume_equal_variance",
                    "show_details"),
                columns=list(
                    list(
                        `name`="outcome_variable_name", 
                        `title`="Outcome variable", 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="grouping_variable_name", 
                        `title`="Grouping variable", 
                        `type`="text", 
                        `combineBelow`=TRUE, 
                        `visible`=FALSE),
                    list(
                        `name`="effect", 
                        `title`="Effect", 
                        `type`="text", 
                        `visible`=FALSE),
                    list(
                        `name`="effect_type", 
                        `title`="Effect type", 
                        `type`="text", 
                        `visible`=TRUE),
                    list(
                        `name`="effects_complex", 
                        `title`="Effect", 
                        `type`="text"),
                    list(
                        `name`="numerator", 
                        `title`="<i>M</i><sub>diff</sub>", 
                        `superTitle`="Numerator", 
                        `type`="number"),
                    list(
                        `name`="denominator", 
                        `title`="Standardizer", 
                        `superTitle`="Standardizer", 
                        `type`="number"),
                    list(
                        `name`="effect_size", 
                        `type`="number", 
                        `title`="<i>d</i>"),
                    list(
                        `name`="LL", 
                        `title`="LL", 
                        `type`="number"),
                    list(
                        `name`="UL", 
                        `title`="UL", 
                        `type`="number"),
                    list(
                        `name`="SE", 
                        `title`="<i>SE</i>", 
                        `type`="number", 
                        `visible`="(show_details)"),
                    list(
                        `name`="df", 
                        `title`="<i>df</i>", 
                        `type`="number", 
                        `visible`="(show_details & !assume_equal_variance)"),
                    list(
                        `name`="df_i", 
                        `title`="<i>df</i>", 
                        `type`="integer", 
                        `visible`="(show_details & assume_equal_variance)"),
                    list(
                        `name`="d_biased", 
                        `title`="<i>d</i><sub>biased</sub>", 
                        `type`="number", 
                        `visible`="(assume_equal_variance)"))))
            self$add(jmvcore::Table$new(
                options=options,
                name="point_null",
                title="Hypothesis Evaluation",
                rows=1,
                visible="(evaluate_hypotheses & null_boundary == 0)",
                clearWith=list(
                    "switch",
                    "outcome_variable",
                    "grouping_variable_A",
                    "grouping_variable_B",
                    "outcome_variable_level1",
                    "outcome_variable_level2",
                    "outcome_variable_name_bs",
                    "grouping_variable",
                    "repeated_measures_name",
                    "outcome_variable_name",
                    "A1_label",
                    "A2_label",
                    "B1_label",
                    "B2_label",
                    "A_label",
                    "B_label",
                    "A1B1_mean",
                    "A1B1_sd",
                    "A1B1_n",
                    "A1B2_mean",
                    "A1B2_sd",
                    "A1B2_n",
                    "A2B1_mean",
                    "A2B1_sd",
                    "A2B1_n",
                    "A2B2_mean",
                    "A2B2_sd",
                    "A2B2_n",
                    "conf_level",
                    "effect_size",
                    "assume_equal_variance",
                    "show_details",
                    "null_boundary",
                    "rope_units"),
                columns=list(
                    list(
                        `name`="outcome_variable_name", 
                        `title`="Outcome variable", 
                        `visible`=TRUE, 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="effect", 
                        `title`="Effect", 
                        `type`="text", 
                        `combineBelow`=FALSE, 
                        `visible`=FALSE),
                    list(
                        `name`="effect_type", 
                        `title`="Effect type", 
                        `type`="text", 
                        `visible`=TRUE),
                    list(
                        `name`="effects_complex", 
                        `title`="Effect", 
                        `type`="text"),
                    list(
                        `name`="null_words", 
                        `title`="<i>H</i><sub>0</sub>", 
                        `type`="text"),
                    list(
                        `name`="CI", 
                        `title`="CI", 
                        `type`="text"),
                    list(
                        `name`="CI_compare", 
                        `title`="Compare CI with <i>H</i><sub>0</sub>", 
                        `type`="text"),
                    list(
                        `name`="t", 
                        `title`="<i>t</i>", 
                        `type`="number", 
                        `visible`="(effect_size == 'mean_difference')"),
                    list(
                        `name`="df", 
                        `title`="<i>df</i>", 
                        `type`="number", 
                        `visible`="(effect_size == 'mean_difference' & !assume_equal_variance)"),
                    list(
                        `name`="df_i", 
                        `title`="<i>df</i>", 
                        `type`="integer", 
                        `visible`="(effect_size == 'mean_difference' & assume_equal_variance)"),
                    list(
                        `name`="p", 
                        `title`="<i>p</i>, two-tailed", 
                        `type`="number", 
                        `format`="zto,pvalue", 
                        `visible`="(effect_size == 'mean_difference')"),
                    list(
                        `name`="p_result", 
                        `title`="<i>p</i>, two-tailed", 
                        `type`="text", 
                        `visible`="(effect_size == 'median_difference')"),
                    list(
                        `name`="null_decision", 
                        `title`="<i>H</i><sub>0</sub> decision"),
                    list(
                        `name`="conclusion", 
                        `title`="Conclusion", 
                        `type`="text"))))
            self$add(jmvcore::Table$new(
                options=options,
                name="interval_null",
                title="Hypothesis Evaluation",
                rows=1,
                visible="(evaluate_hypotheses & null_boundary != 0)",
                columns=list(
                    list(
                        `name`="outcome_variable_name", 
                        `title`="Outcome variable", 
                        `visible`=TRUE, 
                        `type`="text", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="effect", 
                        `title`="Effect", 
                        `type`="text", 
                        `combineBelow`=FALSE, 
                        `visible`=FALSE),
                    list(
                        `name`="effect_type", 
                        `title`="Effect type", 
                        `type`="text", 
                        `visible`=TRUE),
                    list(
                        `name`="effects_complex", 
                        `title`="Effect", 
                        `type`="text"),
                    list(
                        `name`="rope", 
                        `title`="<i>H</i><sub>0</sub>", 
                        `type`="text"),
                    list(
                        `name`="CI", 
                        `title`="CI", 
                        `type`="text"),
                    list(
                        `name`="rope_compare", 
                        `title`="Compare CI with <i>H</i><sub>0</sub>", 
                        `type`="text"),
                    list(
                        `name`="p_result", 
                        `title`="<i>p</i>, two tailed", 
                        `type`="text"),
                    list(
                        `name`="conclusion", 
                        `title`="Conclusion", 
                        `type`="text"))))
            self$add(jmvcore::Html$new(
                options=options,
                name="estimation_plot_warnings",
                title="Estimation Figure Warnings",
                visible=TRUE))
            self$add(jmvcore::Image$new(
                options=options,
                name="main_effect_A",
                title="Main Effect A",
                requiresData=TRUE,
                width=700,
                height=400,
                refs="ggdist",
                renderFun=".estimation_plot"))
            self$add(jmvcore::Image$new(
                options=options,
                name="main_effect_B",
                title="Main Effect B",
                requiresData=TRUE,
                width=700,
                height=400,
                renderFun=".estimation_plot"))
            self$add(jmvcore::Image$new(
                options=options,
                name="interaction",
                title="Interaction",
                requiresData=TRUE,
                width=700,
                height=400,
                renderFun=".estimation_plot"))
            self$add(jmvcore::Image$new(
                options=options,
                name="interaction_plot",
                title="Figure Emphasizing Interaction",
                visible="(show_interaction_plot)",
                requiresData=TRUE,
                width=700,
                height=400,
                renderFun=".interaction_plot"))}))

jamovimdiff2x2Base <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "jamovimdiff2x2Base",
    inherit = jmvcore::Analysis,
    public = list(
        initialize = function(options, data=NULL, datasetId="", analysisId="", revision=0) {
            super$initialize(
                package = "esci",
                name = "jamovimdiff2x2",
                version = c(1,0,0),
                options = options,
                results = jamovimdiff2x2Results$new(options=options),
                data = data,
                datasetId = datasetId,
                analysisId = analysisId,
                revision = revision,
                pause = NULL,
                completeWhenFilled = FALSE,
                requiresMissings = FALSE,
                weightsSupport = 'auto')
        }))

#' Means and Medians: 2x2 Factorial
#'
#' 
#' @param design .
#' @param switch .
#' @param data .
#' @param outcome_variable .
#' @param grouping_variable_A .
#' @param grouping_variable_B .
#' @param outcome_variable_level1 .
#' @param outcome_variable_level2 .
#' @param outcome_variable_name_bs .
#' @param grouping_variable .
#' @param repeated_measures_name .
#' @param outcome_variable_name .
#' @param A1_label .
#' @param A2_label .
#' @param B1_label .
#' @param B2_label .
#' @param A_label .
#' @param B_label .
#' @param A1B1_mean .
#' @param A1B1_sd .
#' @param A1B1_n .
#' @param A1B2_mean .
#' @param A1B2_sd .
#' @param A1B2_n .
#' @param A2B1_mean .
#' @param A2B1_sd .
#' @param A2B1_n .
#' @param A2B2_mean .
#' @param A2B2_sd .
#' @param A2B2_n .
#' @param conf_level .
#' @param effect_size .
#' @param assume_equal_variance .
#' @param show_details .
#' @param show_interaction_plot .
#' @param show_CI .
#' @param evaluate_hypotheses .
#' @param null_value .
#' @param null_boundary .
#' @param rope_units .
#' @param alpha .
#' @param null_color .
#' @param es_plot_width .
#' @param es_plot_height .
#' @param ymin .
#' @param ymax .
#' @param ybreaks .
#' @param ylab .
#' @param xlab .
#' @param axis.text.y .
#' @param axis.title.y .
#' @param axis.text.x .
#' @param axis.title.x .
#' @param simple_contrast_labels .
#' @param error_layout .
#' @param error_scale .
#' @param error_nudge .
#' @param data_layout .
#' @param data_spread .
#' @param difference_axis_units .
#' @param difference_axis_breaks .
#' @param shape_raw_reference .
#' @param shape_raw_comparison .
#' @param shape_raw_unused .
#' @param shape_summary_reference .
#' @param shape_summary_comparison .
#' @param shape_summary_unused .
#' @param shape_summary_difference .
#' @param color_raw_reference .
#' @param color_raw_comparison .
#' @param color_raw_unused .
#' @param color_summary_reference .
#' @param color_summary_comparison .
#' @param color_summary_unused .
#' @param color_summary_difference .
#' @param fill_raw_reference .
#' @param fill_raw_comparison .
#' @param fill_raw_unused .
#' @param fill_summary_reference .
#' @param fill_summary_comparison .
#' @param fill_summary_unused .
#' @param fill_summary_difference .
#' @param size_raw_reference .
#' @param size_raw_comparison .
#' @param size_raw_unused .
#' @param size_summary_reference .
#' @param size_summary_comparison .
#' @param size_summary_unused .
#' @param size_summary_difference .
#' @param alpha_raw_reference .
#' @param alpha_raw_comparison .
#' @param alpha_raw_unused .
#' @param alpha_summary_reference .
#' @param alpha_summary_comparison .
#' @param alpha_summary_unused .
#' @param alpha_summary_difference .
#' @param linetype_summary_reference .
#' @param linetype_summary_comparison .
#' @param linetype_summary_unused .
#' @param linetype_summary_difference .
#' @param color_interval_reference .
#' @param color_interval_comparison .
#' @param color_interval_unused .
#' @param color_interval_difference .
#' @param size_interval_reference .
#' @param size_interval_comparison .
#' @param size_interval_unused .
#' @param size_interval_difference .
#' @param alpha_interval_reference .
#' @param alpha_interval_comparison .
#' @param alpha_interval_unused .
#' @param alpha_interval_difference .
#' @param alpha_error_reference .
#' @param alpha_error_comparison .
#' @param alpha_error_unused .
#' @param alpha_error_difference .
#' @param fill_error_reference .
#' @param fill_error_comparison .
#' @param fill_error_unused .
#' @param fill_error_difference .
#' @return A results object containing:
#' \tabular{llllll}{
#'   \code{results$analysis_type} \tab \tab \tab \tab \tab a html \cr
#'   \code{results$debug} \tab \tab \tab \tab \tab a preformatted \cr
#'   \code{results$help} \tab \tab \tab \tab \tab a html \cr
#'   \code{results$overview} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$es_median_difference} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$es_mean_difference} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$es_smd} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$point_null} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$interval_null} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$estimation_plot_warnings} \tab \tab \tab \tab \tab a html \cr
#'   \code{results$main_effect_A} \tab \tab \tab \tab \tab an image \cr
#'   \code{results$main_effect_B} \tab \tab \tab \tab \tab an image \cr
#'   \code{results$interaction} \tab \tab \tab \tab \tab an image \cr
#'   \code{results$interaction_plot} \tab \tab \tab \tab \tab an image \cr
#' }
#'
#' Tables can be converted to data frames with \code{asDF} or \code{\link{as.data.frame}}. For example:
#'
#' \code{results$overview$asDF}
#'
#' \code{as.data.frame(results$overview)}
#'
#' @export
jamovimdiff2x2 <- function(
    design = "fully_between",
    switch = "from_raw",
    data,
    outcome_variable,
    grouping_variable_A,
    grouping_variable_B,
    outcome_variable_level1,
    outcome_variable_level2,
    outcome_variable_name_bs = "My outcome variable",
    grouping_variable,
    repeated_measures_name = "Time",
    outcome_variable_name = "My outcome variable",
    A1_label = "A1 level",
    A2_label = "A2 level",
    B1_label = "B1 level",
    B2_label = "B2 level",
    A_label = "Variable A",
    B_label = "Variable B",
    A1B1_mean = " ",
    A1B1_sd = " ",
    A1B1_n = " ",
    A1B2_mean = " ",
    A1B2_sd = " ",
    A1B2_n = " ",
    A2B1_mean = " ",
    A2B1_sd = " ",
    A2B1_n = " ",
    A2B2_mean = " ",
    A2B2_sd = " ",
    A2B2_n = " ",
    conf_level = 95,
    effect_size = "mean_difference",
    assume_equal_variance = TRUE,
    show_details = FALSE,
    show_interaction_plot = FALSE,
    show_CI = FALSE,
    evaluate_hypotheses = FALSE,
    null_value = "0",
    null_boundary = "0",
    rope_units = "raw",
    alpha = 0.05,
    null_color = "#A40122",
    es_plot_width = "700",
    es_plot_height = "400",
    ymin = "auto",
    ymax = "auto",
    ybreaks = "auto",
    ylab = "auto",
    xlab = "auto",
    axis.text.y = "14",
    axis.title.y = "15",
    axis.text.x = "14",
    axis.title.x = "15",
    simple_contrast_labels = FALSE,
    error_layout = "halfeye",
    error_scale = "0.25",
    error_nudge = "0.5",
    data_layout = "random",
    data_spread = "0.20",
    difference_axis_units = "raw",
    difference_axis_breaks = "auto",
    shape_raw_reference = "circle filled",
    shape_raw_comparison = "circle filled",
    shape_raw_unused = "circle filled",
    shape_summary_reference = "circle filled",
    shape_summary_comparison = "circle filled",
    shape_summary_unused = "circle filled",
    shape_summary_difference = "triangle filled",
    color_raw_reference = "#008DF9",
    color_raw_comparison = "#009F81",
    color_raw_unused = "gray65",
    color_summary_reference = "#008DF9",
    color_summary_comparison = "#009F81",
    color_summary_unused = "gray65",
    color_summary_difference = "black",
    fill_raw_reference = "NA",
    fill_raw_comparison = "NA",
    fill_raw_unused = "NA",
    fill_summary_reference = "#008DF9",
    fill_summary_comparison = "#009F81",
    fill_summary_unused = "gray65",
    fill_summary_difference = "black",
    size_raw_reference = "2",
    size_raw_comparison = "2",
    size_raw_unused = "1",
    size_summary_reference = "4",
    size_summary_comparison = "4",
    size_summary_unused = "4",
    size_summary_difference = "4",
    alpha_raw_reference = "1",
    alpha_raw_comparison = "1",
    alpha_raw_unused = "1",
    alpha_summary_reference = "1",
    alpha_summary_comparison = "1",
    alpha_summary_unused = "1",
    alpha_summary_difference = "1",
    linetype_summary_reference = "solid",
    linetype_summary_comparison = "solid",
    linetype_summary_unused = "solid",
    linetype_summary_difference = "solid",
    color_interval_reference = "black",
    color_interval_comparison = "black",
    color_interval_unused = "gray65",
    color_interval_difference = "black",
    size_interval_reference = "3",
    size_interval_comparison = "3",
    size_interval_unused = "3",
    size_interval_difference = "3",
    alpha_interval_reference = "1",
    alpha_interval_comparison = "1",
    alpha_interval_unused = "1",
    alpha_interval_difference = "1",
    alpha_error_reference = "1",
    alpha_error_comparison = "1",
    alpha_error_unused = "1",
    alpha_error_difference = "1",
    fill_error_reference = "gray75",
    fill_error_comparison = "gray75",
    fill_error_unused = "gray75",
    fill_error_difference = "gray75") {

    if ( ! requireNamespace("jmvcore", quietly=TRUE))
        stop("jamovimdiff2x2 requires jmvcore to be installed (restart may be required)")

    if ( ! missing(outcome_variable)) outcome_variable <- jmvcore::resolveQuo(jmvcore::enquo(outcome_variable))
    if ( ! missing(grouping_variable_A)) grouping_variable_A <- jmvcore::resolveQuo(jmvcore::enquo(grouping_variable_A))
    if ( ! missing(grouping_variable_B)) grouping_variable_B <- jmvcore::resolveQuo(jmvcore::enquo(grouping_variable_B))
    if ( ! missing(outcome_variable_level1)) outcome_variable_level1 <- jmvcore::resolveQuo(jmvcore::enquo(outcome_variable_level1))
    if ( ! missing(outcome_variable_level2)) outcome_variable_level2 <- jmvcore::resolveQuo(jmvcore::enquo(outcome_variable_level2))
    if ( ! missing(grouping_variable)) grouping_variable <- jmvcore::resolveQuo(jmvcore::enquo(grouping_variable))
    if (missing(data))
        data <- jmvcore::marshalData(
            parent.frame(),
            `if`( ! missing(outcome_variable), outcome_variable, NULL),
            `if`( ! missing(grouping_variable_A), grouping_variable_A, NULL),
            `if`( ! missing(grouping_variable_B), grouping_variable_B, NULL),
            `if`( ! missing(outcome_variable_level1), outcome_variable_level1, NULL),
            `if`( ! missing(outcome_variable_level2), outcome_variable_level2, NULL),
            `if`( ! missing(grouping_variable), grouping_variable, NULL))

    for (v in grouping_variable_A) if (v %in% names(data)) data[[v]] <- as.factor(data[[v]])
    for (v in grouping_variable_B) if (v %in% names(data)) data[[v]] <- as.factor(data[[v]])
    for (v in grouping_variable) if (v %in% names(data)) data[[v]] <- as.factor(data[[v]])

    options <- jamovimdiff2x2Options$new(
        design = design,
        switch = switch,
        outcome_variable = outcome_variable,
        grouping_variable_A = grouping_variable_A,
        grouping_variable_B = grouping_variable_B,
        outcome_variable_level1 = outcome_variable_level1,
        outcome_variable_level2 = outcome_variable_level2,
        outcome_variable_name_bs = outcome_variable_name_bs,
        grouping_variable = grouping_variable,
        repeated_measures_name = repeated_measures_name,
        outcome_variable_name = outcome_variable_name,
        A1_label = A1_label,
        A2_label = A2_label,
        B1_label = B1_label,
        B2_label = B2_label,
        A_label = A_label,
        B_label = B_label,
        A1B1_mean = A1B1_mean,
        A1B1_sd = A1B1_sd,
        A1B1_n = A1B1_n,
        A1B2_mean = A1B2_mean,
        A1B2_sd = A1B2_sd,
        A1B2_n = A1B2_n,
        A2B1_mean = A2B1_mean,
        A2B1_sd = A2B1_sd,
        A2B1_n = A2B1_n,
        A2B2_mean = A2B2_mean,
        A2B2_sd = A2B2_sd,
        A2B2_n = A2B2_n,
        conf_level = conf_level,
        effect_size = effect_size,
        assume_equal_variance = assume_equal_variance,
        show_details = show_details,
        show_interaction_plot = show_interaction_plot,
        show_CI = show_CI,
        evaluate_hypotheses = evaluate_hypotheses,
        null_value = null_value,
        null_boundary = null_boundary,
        rope_units = rope_units,
        alpha = alpha,
        null_color = null_color,
        es_plot_width = es_plot_width,
        es_plot_height = es_plot_height,
        ymin = ymin,
        ymax = ymax,
        ybreaks = ybreaks,
        ylab = ylab,
        xlab = xlab,
        axis.text.y = axis.text.y,
        axis.title.y = axis.title.y,
        axis.text.x = axis.text.x,
        axis.title.x = axis.title.x,
        simple_contrast_labels = simple_contrast_labels,
        error_layout = error_layout,
        error_scale = error_scale,
        error_nudge = error_nudge,
        data_layout = data_layout,
        data_spread = data_spread,
        difference_axis_units = difference_axis_units,
        difference_axis_breaks = difference_axis_breaks,
        shape_raw_reference = shape_raw_reference,
        shape_raw_comparison = shape_raw_comparison,
        shape_raw_unused = shape_raw_unused,
        shape_summary_reference = shape_summary_reference,
        shape_summary_comparison = shape_summary_comparison,
        shape_summary_unused = shape_summary_unused,
        shape_summary_difference = shape_summary_difference,
        color_raw_reference = color_raw_reference,
        color_raw_comparison = color_raw_comparison,
        color_raw_unused = color_raw_unused,
        color_summary_reference = color_summary_reference,
        color_summary_comparison = color_summary_comparison,
        color_summary_unused = color_summary_unused,
        color_summary_difference = color_summary_difference,
        fill_raw_reference = fill_raw_reference,
        fill_raw_comparison = fill_raw_comparison,
        fill_raw_unused = fill_raw_unused,
        fill_summary_reference = fill_summary_reference,
        fill_summary_comparison = fill_summary_comparison,
        fill_summary_unused = fill_summary_unused,
        fill_summary_difference = fill_summary_difference,
        size_raw_reference = size_raw_reference,
        size_raw_comparison = size_raw_comparison,
        size_raw_unused = size_raw_unused,
        size_summary_reference = size_summary_reference,
        size_summary_comparison = size_summary_comparison,
        size_summary_unused = size_summary_unused,
        size_summary_difference = size_summary_difference,
        alpha_raw_reference = alpha_raw_reference,
        alpha_raw_comparison = alpha_raw_comparison,
        alpha_raw_unused = alpha_raw_unused,
        alpha_summary_reference = alpha_summary_reference,
        alpha_summary_comparison = alpha_summary_comparison,
        alpha_summary_unused = alpha_summary_unused,
        alpha_summary_difference = alpha_summary_difference,
        linetype_summary_reference = linetype_summary_reference,
        linetype_summary_comparison = linetype_summary_comparison,
        linetype_summary_unused = linetype_summary_unused,
        linetype_summary_difference = linetype_summary_difference,
        color_interval_reference = color_interval_reference,
        color_interval_comparison = color_interval_comparison,
        color_interval_unused = color_interval_unused,
        color_interval_difference = color_interval_difference,
        size_interval_reference = size_interval_reference,
        size_interval_comparison = size_interval_comparison,
        size_interval_unused = size_interval_unused,
        size_interval_difference = size_interval_difference,
        alpha_interval_reference = alpha_interval_reference,
        alpha_interval_comparison = alpha_interval_comparison,
        alpha_interval_unused = alpha_interval_unused,
        alpha_interval_difference = alpha_interval_difference,
        alpha_error_reference = alpha_error_reference,
        alpha_error_comparison = alpha_error_comparison,
        alpha_error_unused = alpha_error_unused,
        alpha_error_difference = alpha_error_difference,
        fill_error_reference = fill_error_reference,
        fill_error_comparison = fill_error_comparison,
        fill_error_unused = fill_error_unused,
        fill_error_difference = fill_error_difference)

    analysis <- jamovimdiff2x2Class$new(
        options = options,
        data = data)

    analysis$run()

    analysis$results
}
rcalinjageman/esci documentation built on March 29, 2024, 7:30 p.m.