R/gamljglm.h.R

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

gamljglmOptions <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "gamljglmOptions",
    inherit = jmvcore::Options,
    public = list(
        initialize = function(
            .caller = "glm",
            .interface = "jamovi",
            dep = NULL,
            dep2 = NULL,
            factors = NULL,
            covs = NULL,
            offset = NULL,
            model_terms = NULL,
            fixed_intercept = TRUE,
            nested_intercept = TRUE,
            nested_terms = NULL,
            comparison = FALSE,
            estimates_ci = FALSE,
            donotrun = FALSE,
            input_method = "standard",
            ci_method = "wald",
            boot_r = 1000,
            ci_width = 95,
            contrasts = NULL,
            show_contrastnames = FALSE,
            show_contrastcodes = FALSE,
            vcov = FALSE,
            crosstab = FALSE,
            plot_x = NULL,
            plot_z = NULL,
            plot_by = NULL,
            plot_raw = FALSE,
            plot_yscale = FALSE,
            plot_xoriginal = FALSE,
            plot_black = FALSE,
            plot_around = "ci",
            emmeans = NULL,
            posthoc = NULL,
            posthoc_ci = FALSE,
            simple_x = NULL,
            simple_mods = NULL,
            simple_interactions = FALSE,
            covs_conditioning = "mean_sd",
            ccra_steps = 1,
            ccm_value = 1,
            ccp_value = 25,
            covs_scale_labels = "labels",
            adjust = list(
                "bonf"),
            covs_scale = NULL,
            scale_missing = "complete",
            mute = FALSE,
            expb_ci = TRUE,
            es = list(
                "expb"),
            model_type = "linear",
            custom_family = "gaussian",
            custom_link = "identity",
            propodds_test = FALSE,
            preds_phi = FALSE,
            plot_scale = "response", ...) {

            super$initialize(
                package="GAMLj3",
                name="gamljglm",
                requiresData=TRUE,
                ...)

            private$...caller <- jmvcore::OptionString$new(
                ".caller",
                .caller,
                default="glm",
                hidden=TRUE)
            private$...interface <- jmvcore::OptionString$new(
                ".interface",
                .interface,
                default="jamovi",
                hidden=TRUE)
            private$..dep <- jmvcore::OptionVariable$new(
                "dep",
                dep,
                default=NULL,
                permitted=list(
                    "factor",
                    "numeric"))
            private$..dep2 <- jmvcore::OptionVariable$new(
                "dep2",
                dep2,
                default=NULL,
                permitted=list(
                    "factor",
                    "numeric"))
            private$..factors <- jmvcore::OptionVariables$new(
                "factors",
                factors,
                suggested=list(
                    "nominal"),
                permitted=list(
                    "factor"),
                default=NULL)
            private$..covs <- jmvcore::OptionVariables$new(
                "covs",
                covs,
                suggested=list(
                    "continuous",
                    "ordinal"),
                permitted=list(
                    "numeric"),
                default=NULL)
            private$..offset <- jmvcore::OptionVariable$new(
                "offset",
                offset,
                default=NULL)
            private$..model_terms <- jmvcore::OptionTerms$new(
                "model_terms",
                model_terms,
                default=NULL)
            private$..fixed_intercept <- jmvcore::OptionBool$new(
                "fixed_intercept",
                fixed_intercept,
                default=TRUE)
            private$..nested_intercept <- jmvcore::OptionBool$new(
                "nested_intercept",
                nested_intercept,
                default=TRUE)
            private$..nested_terms <- jmvcore::OptionTerms$new(
                "nested_terms",
                nested_terms,
                default=NULL)
            private$..comparison <- jmvcore::OptionBool$new(
                "comparison",
                comparison,
                default=FALSE)
            private$..estimates_ci <- jmvcore::OptionBool$new(
                "estimates_ci",
                estimates_ci,
                default=FALSE)
            private$..donotrun <- jmvcore::OptionBool$new(
                "donotrun",
                donotrun,
                default=FALSE)
            private$..input_method <- jmvcore::OptionList$new(
                "input_method",
                input_method,
                default="standard",
                options=list(
                    "standard",
                    "success",
                    "total"))
            private$..ci_method <- jmvcore::OptionList$new(
                "ci_method",
                ci_method,
                default="wald",
                options=list(
                    "wald",
                    "profile",
                    "quantile",
                    "bcai"))
            private$..boot_r <- jmvcore::OptionNumber$new(
                "boot_r",
                boot_r,
                min=1,
                default=1000)
            private$..ci_width <- jmvcore::OptionNumber$new(
                "ci_width",
                ci_width,
                min=50,
                max=99.9,
                default=95)
            private$..contrasts <- jmvcore::OptionArray$new(
                "contrasts",
                contrasts,
                items="(factors)",
                default=NULL,
                template=jmvcore::OptionGroup$new(
                    "contrasts",
                    NULL,
                    elements=list(
                        jmvcore::OptionVariable$new(
                            "var",
                            NULL,
                            content="$key"),
                        jmvcore::OptionList$new(
                            "type",
                            NULL,
                            options=list(
                                "simple",
                                "deviation",
                                "dummy",
                                "difference",
                                "helmert",
                                "repeated",
                                "polynomial"),
                            default="simple"))))
            private$..show_contrastnames <- jmvcore::OptionBool$new(
                "show_contrastnames",
                show_contrastnames,
                default=FALSE)
            private$..show_contrastcodes <- jmvcore::OptionBool$new(
                "show_contrastcodes",
                show_contrastcodes,
                default=FALSE)
            private$..vcov <- jmvcore::OptionBool$new(
                "vcov",
                vcov,
                default=FALSE)
            private$..crosstab <- jmvcore::OptionBool$new(
                "crosstab",
                crosstab,
                default=FALSE)
            private$..plot_x <- jmvcore::OptionVariable$new(
                "plot_x",
                plot_x,
                default=NULL)
            private$..plot_z <- jmvcore::OptionVariable$new(
                "plot_z",
                plot_z,
                default=NULL)
            private$..plot_by <- jmvcore::OptionVariables$new(
                "plot_by",
                plot_by,
                default=NULL)
            private$..plot_raw <- jmvcore::OptionBool$new(
                "plot_raw",
                plot_raw,
                default=FALSE)
            private$..plot_yscale <- jmvcore::OptionBool$new(
                "plot_yscale",
                plot_yscale,
                default=FALSE)
            private$..plot_xoriginal <- jmvcore::OptionBool$new(
                "plot_xoriginal",
                plot_xoriginal,
                default=FALSE)
            private$..plot_black <- jmvcore::OptionBool$new(
                "plot_black",
                plot_black,
                default=FALSE)
            private$..plot_around <- jmvcore::OptionList$new(
                "plot_around",
                plot_around,
                options=list(
                    "none",
                    "ci",
                    "se"),
                default="ci")
            private$..emmeans <- jmvcore::OptionTerms$new(
                "emmeans",
                emmeans,
                default=NULL)
            private$..posthoc <- jmvcore::OptionTerms$new(
                "posthoc",
                posthoc,
                default=NULL)
            private$..posthoc_ci <- jmvcore::OptionBool$new(
                "posthoc_ci",
                posthoc_ci,
                default=FALSE)
            private$..simple_x <- jmvcore::OptionVariable$new(
                "simple_x",
                simple_x,
                default=NULL)
            private$..simple_mods <- jmvcore::OptionVariables$new(
                "simple_mods",
                simple_mods,
                default=NULL)
            private$..simple_interactions <- jmvcore::OptionBool$new(
                "simple_interactions",
                simple_interactions,
                default=FALSE)
            private$..covs_conditioning <- jmvcore::OptionList$new(
                "covs_conditioning",
                covs_conditioning,
                options=list(
                    "mean_sd",
                    "percent",
                    "range"),
                default="mean_sd")
            private$..ccra_steps <- jmvcore::OptionNumber$new(
                "ccra_steps",
                ccra_steps,
                default=1,
                min=1,
                max=50)
            private$..ccm_value <- jmvcore::OptionNumber$new(
                "ccm_value",
                ccm_value,
                default=1)
            private$..ccp_value <- jmvcore::OptionNumber$new(
                "ccp_value",
                ccp_value,
                default=25,
                min=5,
                max=50)
            private$..covs_scale_labels <- jmvcore::OptionList$new(
                "covs_scale_labels",
                covs_scale_labels,
                options=list(
                    "labels",
                    "values",
                    "values_labels",
                    "uvalues",
                    "uvalues_labels"),
                default="labels")
            private$..adjust <- jmvcore::OptionNMXList$new(
                "adjust",
                adjust,
                options=list(
                    "none",
                    "bonf",
                    "tukey",
                    "holm",
                    "scheffe",
                    "sidak"),
                default=list(
                    "bonf"))
            private$..predicted <- jmvcore::OptionOutput$new(
                "predicted")
            private$..residuals <- jmvcore::OptionOutput$new(
                "residuals")
            private$..covs_scale <- jmvcore::OptionArray$new(
                "covs_scale",
                covs_scale,
                items="(covs)",
                default=NULL,
                template=jmvcore::OptionGroup$new(
                    "covs_scale",
                    NULL,
                    elements=list(
                        jmvcore::OptionVariable$new(
                            "var",
                            NULL,
                            content="$key"),
                        jmvcore::OptionList$new(
                            "type",
                            NULL,
                            options=list(
                                "centered",
                                "standardized",
                                "none"),
                            default="centered"))))
            private$..scale_missing <- jmvcore::OptionList$new(
                "scale_missing",
                scale_missing,
                options=list(
                    "complete",
                    "colwise"),
                default="complete")
            private$..mute <- jmvcore::OptionBool$new(
                "mute",
                mute,
                default=FALSE)
            private$..expb_ci <- jmvcore::OptionBool$new(
                "expb_ci",
                expb_ci,
                default=TRUE)
            private$..es <- jmvcore::OptionNMXList$new(
                "es",
                es,
                options=list(
                    "expb",
                    "RR",
                    "marginals"),
                default=list(
                    "expb"))
            private$..model_type <- jmvcore::OptionList$new(
                "model_type",
                model_type,
                options=list(
                    "linear",
                    "poisson",
                    "poiover",
                    "nb",
                    "logistic",
                    "probit",
                    "probit",
                    "beta",
                    "ordinal",
                    "multinomial",
                    "custom"),
                default="linear")
            private$..custom_family <- jmvcore::OptionList$new(
                "custom_family",
                custom_family,
                options=list(
                    "gaussian",
                    "binomial",
                    "poisson",
                    "inverse.gaussian",
                    "Gamma"),
                default="gaussian")
            private$..custom_link <- jmvcore::OptionList$new(
                "custom_link",
                custom_link,
                options=list(
                    "identity",
                    "logit",
                    "log",
                    "inverse",
                    "1/mu^2",
                    "sqrt"),
                default="identity")
            private$..propodds_test <- jmvcore::OptionBool$new(
                "propodds_test",
                propodds_test,
                default=FALSE)
            private$..preds_phi <- jmvcore::OptionBool$new(
                "preds_phi",
                preds_phi,
                default=FALSE)
            private$..plot_scale <- jmvcore::OptionList$new(
                "plot_scale",
                plot_scale,
                options=list(
                    "response",
                    "link",
                    "mean.class"),
                default="response")

            self$.addOption(private$...caller)
            self$.addOption(private$...interface)
            self$.addOption(private$..dep)
            self$.addOption(private$..dep2)
            self$.addOption(private$..factors)
            self$.addOption(private$..covs)
            self$.addOption(private$..offset)
            self$.addOption(private$..model_terms)
            self$.addOption(private$..fixed_intercept)
            self$.addOption(private$..nested_intercept)
            self$.addOption(private$..nested_terms)
            self$.addOption(private$..comparison)
            self$.addOption(private$..estimates_ci)
            self$.addOption(private$..donotrun)
            self$.addOption(private$..input_method)
            self$.addOption(private$..ci_method)
            self$.addOption(private$..boot_r)
            self$.addOption(private$..ci_width)
            self$.addOption(private$..contrasts)
            self$.addOption(private$..show_contrastnames)
            self$.addOption(private$..show_contrastcodes)
            self$.addOption(private$..vcov)
            self$.addOption(private$..crosstab)
            self$.addOption(private$..plot_x)
            self$.addOption(private$..plot_z)
            self$.addOption(private$..plot_by)
            self$.addOption(private$..plot_raw)
            self$.addOption(private$..plot_yscale)
            self$.addOption(private$..plot_xoriginal)
            self$.addOption(private$..plot_black)
            self$.addOption(private$..plot_around)
            self$.addOption(private$..emmeans)
            self$.addOption(private$..posthoc)
            self$.addOption(private$..posthoc_ci)
            self$.addOption(private$..simple_x)
            self$.addOption(private$..simple_mods)
            self$.addOption(private$..simple_interactions)
            self$.addOption(private$..covs_conditioning)
            self$.addOption(private$..ccra_steps)
            self$.addOption(private$..ccm_value)
            self$.addOption(private$..ccp_value)
            self$.addOption(private$..covs_scale_labels)
            self$.addOption(private$..adjust)
            self$.addOption(private$..predicted)
            self$.addOption(private$..residuals)
            self$.addOption(private$..covs_scale)
            self$.addOption(private$..scale_missing)
            self$.addOption(private$..mute)
            self$.addOption(private$..expb_ci)
            self$.addOption(private$..es)
            self$.addOption(private$..model_type)
            self$.addOption(private$..custom_family)
            self$.addOption(private$..custom_link)
            self$.addOption(private$..propodds_test)
            self$.addOption(private$..preds_phi)
            self$.addOption(private$..plot_scale)
        }),
    active = list(
        .caller = function() private$...caller$value,
        .interface = function() private$...interface$value,
        dep = function() private$..dep$value,
        dep2 = function() private$..dep2$value,
        factors = function() private$..factors$value,
        covs = function() private$..covs$value,
        offset = function() private$..offset$value,
        model_terms = function() private$..model_terms$value,
        fixed_intercept = function() private$..fixed_intercept$value,
        nested_intercept = function() private$..nested_intercept$value,
        nested_terms = function() private$..nested_terms$value,
        comparison = function() private$..comparison$value,
        estimates_ci = function() private$..estimates_ci$value,
        donotrun = function() private$..donotrun$value,
        input_method = function() private$..input_method$value,
        ci_method = function() private$..ci_method$value,
        boot_r = function() private$..boot_r$value,
        ci_width = function() private$..ci_width$value,
        contrasts = function() private$..contrasts$value,
        show_contrastnames = function() private$..show_contrastnames$value,
        show_contrastcodes = function() private$..show_contrastcodes$value,
        vcov = function() private$..vcov$value,
        crosstab = function() private$..crosstab$value,
        plot_x = function() private$..plot_x$value,
        plot_z = function() private$..plot_z$value,
        plot_by = function() private$..plot_by$value,
        plot_raw = function() private$..plot_raw$value,
        plot_yscale = function() private$..plot_yscale$value,
        plot_xoriginal = function() private$..plot_xoriginal$value,
        plot_black = function() private$..plot_black$value,
        plot_around = function() private$..plot_around$value,
        emmeans = function() private$..emmeans$value,
        posthoc = function() private$..posthoc$value,
        posthoc_ci = function() private$..posthoc_ci$value,
        simple_x = function() private$..simple_x$value,
        simple_mods = function() private$..simple_mods$value,
        simple_interactions = function() private$..simple_interactions$value,
        covs_conditioning = function() private$..covs_conditioning$value,
        ccra_steps = function() private$..ccra_steps$value,
        ccm_value = function() private$..ccm_value$value,
        ccp_value = function() private$..ccp_value$value,
        covs_scale_labels = function() private$..covs_scale_labels$value,
        adjust = function() private$..adjust$value,
        predicted = function() private$..predicted$value,
        residuals = function() private$..residuals$value,
        covs_scale = function() private$..covs_scale$value,
        scale_missing = function() private$..scale_missing$value,
        mute = function() private$..mute$value,
        expb_ci = function() private$..expb_ci$value,
        es = function() private$..es$value,
        model_type = function() private$..model_type$value,
        custom_family = function() private$..custom_family$value,
        custom_link = function() private$..custom_link$value,
        propodds_test = function() private$..propodds_test$value,
        preds_phi = function() private$..preds_phi$value,
        plot_scale = function() private$..plot_scale$value),
    private = list(
        ...caller = NA,
        ...interface = NA,
        ..dep = NA,
        ..dep2 = NA,
        ..factors = NA,
        ..covs = NA,
        ..offset = NA,
        ..model_terms = NA,
        ..fixed_intercept = NA,
        ..nested_intercept = NA,
        ..nested_terms = NA,
        ..comparison = NA,
        ..estimates_ci = NA,
        ..donotrun = NA,
        ..input_method = NA,
        ..ci_method = NA,
        ..boot_r = NA,
        ..ci_width = NA,
        ..contrasts = NA,
        ..show_contrastnames = NA,
        ..show_contrastcodes = NA,
        ..vcov = NA,
        ..crosstab = NA,
        ..plot_x = NA,
        ..plot_z = NA,
        ..plot_by = NA,
        ..plot_raw = NA,
        ..plot_yscale = NA,
        ..plot_xoriginal = NA,
        ..plot_black = NA,
        ..plot_around = NA,
        ..emmeans = NA,
        ..posthoc = NA,
        ..posthoc_ci = NA,
        ..simple_x = NA,
        ..simple_mods = NA,
        ..simple_interactions = NA,
        ..covs_conditioning = NA,
        ..ccra_steps = NA,
        ..ccm_value = NA,
        ..ccp_value = NA,
        ..covs_scale_labels = NA,
        ..adjust = NA,
        ..predicted = NA,
        ..residuals = NA,
        ..covs_scale = NA,
        ..scale_missing = NA,
        ..mute = NA,
        ..expb_ci = NA,
        ..es = NA,
        ..model_type = NA,
        ..custom_family = NA,
        ..custom_link = NA,
        ..propodds_test = NA,
        ..preds_phi = NA,
        ..plot_scale = NA)
)

gamljglmResults <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "gamljglmResults",
    inherit = jmvcore::Group,
    active = list(
        model = function() private$..model,
        info = function() private$.items[["info"]],
        main = function() private$.items[["main"]],
        posthoc = function() private$.items[["posthoc"]],
        simpleEffects = function() private$.items[["simpleEffects"]],
        simpleInteractions = function() private$.items[["simpleInteractions"]],
        emmeans = function() private$.items[["emmeans"]],
        mainPlots = function() private$.items[["mainPlots"]],
        plotnotes = function() private$.items[["plotnotes"]],
        predicted = function() private$.items[["predicted"]],
        residuals = function() private$.items[["residuals"]]),
    private = list(
        ..model = NA),
    public=list(
        initialize=function(options) {
            super$initialize(
                options=options,
                name="",
                title="Generalized Linear Model")
            private$..model <- NULL
            self$add(jmvcore::Table$new(
                options=options,
                name="info",
                title="Model Info",
                columns=list(
                    list(
                        `name`="info", 
                        `type`="text", 
                        `title`="Info"),
                    list(
                        `name`="value", 
                        `type`="text", 
                        `title`=""),
                    list(
                        `name`="specs", 
                        `type`="text", 
                        `title`="")),
                refs="gamlj"))
            self$add(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    r2 = function() private$.items[["r2"]],
                    fit = function() private$.items[["fit"]],
                    crosstab = function() private$.items[["crosstab"]],
                    anova = function() private$.items[["anova"]],
                    coefficients = function() private$.items[["coefficients"]],
                    phi = function() private$.items[["phi"]],
                    vcov = function() private$.items[["vcov"]],
                    contrastCodeTables = function() private$.items[["contrastCodeTables"]],
                    marginals = function() private$.items[["marginals"]],
                    relativerisk = function() private$.items[["relativerisk"]],
                    paralleltest = function() private$.items[["paralleltest"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="main",
                            title="Model Results")
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="r2",
                            title="Model Fit",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link",
                                "nested_terms",
                                "nested_intercept",
                                "comparison"),
                            rows=1,
                            columns=list(
                                list(
                                    `name`="model", 
                                    `title`="Model", 
                                    `visible`="(comparison)"),
                                list(
                                    `name`="r2", 
                                    `title`="R\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="ar2", 
                                    `title`="Adj. R\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="df1", 
                                    `title`="df", 
                                    `type`="integer"),
                                list(
                                    `name`="test", 
                                    `title`="X\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue")),
                            refs="goodness"))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="fit",
                            title="Additional indices",
                            visible=TRUE,
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link"),
                            columns=list(
                                list(
                                    `name`="info", 
                                    `type`="text", 
                                    `title`="Info"),
                                list(
                                    `name`="value", 
                                    `type`="text", 
                                    `title`="Model Value"),
                                list(
                                    `name`="nested", 
                                    `type`="text", 
                                    `title`="Nested Model", 
                                    `visible`="(comparison)"),
                                list(
                                    `name`="diff", 
                                    `type`="text", 
                                    `title`="\u0394", 
                                    `visible`="(comparison)"),
                                list(
                                    `name`="specs", 
                                    `type`="text", 
                                    `title`="Comment"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="crosstab",
                            title="Classification table",
                            visible="(crosstab)",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link"),
                            columns=list(
                                list(
                                    `name`="obs", 
                                    `title`="Observed", 
                                    `type`="integer"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="anova",
                            title="Omnibus tests",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link"),
                            columns=list(
                                list(
                                    `name`="source", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="test", 
                                    `title`="X\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="df", 
                                    `title`="df", 
                                    `type`="integer"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="coefficients",
                            title="Parameter Estimates (Coefficients)",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link",
                                "ci_width",
                                "ci_method",
                                "boot_r"),
                            columns=list(
                                list(
                                    `name`="response", 
                                    `title`="Response", 
                                    `type`="text", 
                                    `visible`="(model_type:multinomial)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="source", 
                                    `title`="Name", 
                                    `type`="text"),
                                list(
                                    `name`="label", 
                                    `title`="Effect", 
                                    `type`="text", 
                                    `visible`="(show_contrastnames)"),
                                list(
                                    `name`="estimate", 
                                    `title`="Estimate", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="est.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(estimates_ci)"),
                                list(
                                    `name`="est.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(estimates_ci)"),
                                list(
                                    `name`="expb", 
                                    `type`="number", 
                                    `title`="Exp(B)", 
                                    `visible`="(es:expb)"),
                                list(
                                    `name`="expb.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(es:expb & expb_ci)"),
                                list(
                                    `name`="expb.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(es:expb & expb_ci)"),
                                list(
                                    `name`="test", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="phi",
                            title="Precision Parameter Estimates (phi)",
                            visible="(model_type:beta)",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link",
                                "ci_width",
                                "ci_method",
                                "boot_r"),
                            columns=list(
                                list(
                                    `name`="source", 
                                    `title`="Name", 
                                    `type`="text"),
                                list(
                                    `name`="label", 
                                    `title`="Effect", 
                                    `type`="text", 
                                    `visible`="(show_contrastnames)"),
                                list(
                                    `name`="estimate", 
                                    `title`="Estimate", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="est.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower"),
                                list(
                                    `name`="est.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper"),
                                list(
                                    `name`="test", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="vcov",
                            title="Coefficients Covariances",
                            visible="(vcov)",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link"),
                            columns=list(
                                list(
                                    `name`="source", 
                                    `title`="Coefficient", 
                                    `type`="text", 
                                    `visible`="(show_contrastnames)"))))
                        self$add(jmvcore::Array$new(
                            options=options,
                            name="contrastCodeTables",
                            title="Contrast Coefficients",
                            visible="(show_contrastcodes)",
                            items="(factors)",
                            clearWith=list(
                                "contrasts"),
                            template=jmvcore::Table$new(
                                options=options,
                                title="$key",
                                columns=list(
                                    list(
                                        `name`="cname", 
                                        `title`="Name", 
                                        `type`="text", 
                                        `visible`="(show_contrastnames)"),
                                    list(
                                        `name`="clab", 
                                        `title`="Contrast", 
                                        `type`="text"),
                                    list(
                                        `name`="bogus", 
                                        `title`="bogus", 
                                        `type`="text", 
                                        `visible`=FALSE)))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="marginals",
                            title="Marginal Effects",
                            visible="(es:marginals)",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link",
                                "simple_x",
                                "simple_mods",
                                "simple_scale",
                                "ccm_value",
                                "ccp_value",
                                "ccra_steps",
                                "covs_scale_labels",
                                "covs_conditioning"),
                            columns=list(
                                list(
                                    `name`="response", 
                                    `title`="Response", 
                                    `type`="text", 
                                    `combineBelow`=TRUE, 
                                    `visible`="(model_type:multinomial)"),
                                list(
                                    `name`="source", 
                                    `title`="Name", 
                                    `type`="text"),
                                list(
                                    `name`="contrast", 
                                    `title`="Effect", 
                                    `type`="text"),
                                list(
                                    `name`="estimate", 
                                    `title`="AME", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="est.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(expb_ci | estimates_ci)"),
                                list(
                                    `name`="est.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(expb_ci | estimates_ci)"),
                                list(
                                    `name`="test", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="relativerisk",
                            title="Relative risk",
                            visible="(es:RR)",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link",
                                "__effectsizeoptions"),
                            columns=list(
                                list(
                                    `name`="source", 
                                    `title`="Name", 
                                    `type`="text", 
                                    `visible`="(show_contrastnames)"),
                                list(
                                    `name`="label", 
                                    `title`="Effect", 
                                    `type`="text"),
                                list(
                                    `name`="estimate", 
                                    `title`="RR", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="est.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(expb_ci | estimates_ci)"),
                                list(
                                    `name`="est.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(expb_ci | estimates_ci)"),
                                list(
                                    `name`="test", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="paralleltest",
                            title="Parallel lines test",
                            visible="(propodds_test & model_type:ordinal)",
                            clearWith=list(
                                "model_type",
                                "dep",
                                "dep2",
                                "factors",
                                "covs",
                                "covs_scale",
                                "scale_missing",
                                "model_terms",
                                "fixed_intercept",
                                "se_method",
                                "mute",
                                "df_method",
                                "contrasts",
                                "covs_scale",
                                "offset",
                                "omnibus",
                                "model_type",
                                "custom_family",
                                "custom_link",
                                "propodds_test"),
                            columns=list(
                                list(
                                    `name`="source", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="loglik", 
                                    `title`="Log-Lik.", 
                                    `type`="number"),
                                list(
                                    `name`="aic", 
                                    `title`="AIC", 
                                    `type`="number"),
                                list(
                                    `name`="test", 
                                    `title`="X\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="df", 
                                    `title`="df", 
                                    `type`="integer"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))}))$new(options=options))
            self$add(jmvcore::Array$new(
                options=options,
                name="posthoc",
                title="Post Hoc Tests",
                items="(posthoc)",
                clearWith=list(
                    "model_type",
                    "dep",
                    "dep2",
                    "factors",
                    "covs",
                    "covs_scale",
                    "scale_missing",
                    "model_terms",
                    "fixed_intercept",
                    "se_method",
                    "mute",
                    "df_method",
                    "contrasts",
                    "covs_scale",
                    "offset",
                    "omnibus",
                    "model_type",
                    "custom_family",
                    "custom_link",
                    "posthoc",
                    "adjust",
                    "ci_width",
                    "ci_method",
                    "boot_r"),
                template=jmvcore::Table$new(
                    options=options,
                    title="",
                    clearWith=list(
                        "model_type",
                        "dep",
                        "dep2",
                        "factors",
                        "covs",
                        "covs_scale",
                        "scale_missing",
                        "model_terms",
                        "fixed_intercept",
                        "se_method",
                        "mute",
                        "df_method",
                        "contrasts",
                        "covs_scale",
                        "offset",
                        "omnibus",
                        "model_type",
                        "custom_family",
                        "custom_link",
                        "posthoc",
                        "adjust",
                        "ci_width",
                        "ci_method",
                        "boot_r"),
                    columns=list(
                        list(
                            `name`="response", 
                            `title`="Response", 
                            `type`="text", 
                            `visible`="(model_type:multinomial)", 
                            `combineBelow`=TRUE),
                        list(
                            `name`="estimate", 
                            `title`="Difference", 
                            `type`="number"),
                        list(
                            `name`="se", 
                            `title`="SE", 
                            `type`="number"),
                        list(
                            `name`="est.ci.lower", 
                            `type`="number", 
                            `title`="Lower", 
                            `visible`="(posthoc_ci)"),
                        list(
                            `name`="est.ci.upper", 
                            `type`="number", 
                            `title`="Upper", 
                            `visible`="(posthoc_ci)"),
                        list(
                            `name`="test", 
                            `title`="z", 
                            `type`="number"),
                        list(
                            `name`="none", 
                            `title`="p", 
                            `type`="number", 
                            `format`="zto,pvalue", 
                            `visible`="(adjust:none)"),
                        list(
                            `name`="bonf", 
                            `title`="p<sub>bonferroni</sub>", 
                            `type`="number", 
                            `format`="zto,pvalue", 
                            `visible`="(adjust:bonf)"),
                        list(
                            `name`="tukey", 
                            `title`="p<sub>tukey</sub>", 
                            `type`="number", 
                            `format`="zto,pvalue", 
                            `visible`="(adjust:tukey)"),
                        list(
                            `name`="holm", 
                            `title`="p<sub>holm</sub>", 
                            `type`="number", 
                            `format`="zto,pvalue", 
                            `visible`="(adjust:holm)")))))
            self$add(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    anova = function() private$.items[["anova"]],
                    coefficients = function() private$.items[["coefficients"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="simpleEffects",
                            title="Simple Effects")
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="anova",
                            title="ANOVA for Simple Effects  of ___key___",
                            visible=FALSE,
                            clearWith=list(
                                "dep",
                                "model_terms",
                                "contrasts",
                                "covs_conditioning",
                                "fixed_intercept",
                                "simple_effects",
                                "simple_moderators",
                                "covs_scale",
                                "ccm_value",
                                "ccp_value",
                                "covs_scale_labels",
                                "offset"),
                            columns=list(
                                list(
                                    `name`="test", 
                                    `title`="X\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="df1", 
                                    `title`="df", 
                                    `type`="integer"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="coefficients",
                            title="Parameter Estimates for simple effects of ___key___",
                            visible=FALSE,
                            clearWith=list(
                                "dep",
                                "model_terms",
                                "contrasts",
                                "covs_conditioning",
                                "dep_scale",
                                "fixed_intercept",
                                "simple_effects",
                                "simple_moderators",
                                "covs_scale",
                                "ccm_value",
                                "ccp_value",
                                "covs_scale_labels",
                                "ci_method",
                                "boot_r",
                                "offset"),
                            columns=list(
                                list(
                                    `name`="response", 
                                    `title`="Response", 
                                    `type`="text", 
                                    `combineBelow`=TRUE, 
                                    `visible`="(model_type:multinomial)"),
                                list(
                                    `name`="contrast", 
                                    `title`="Effect", 
                                    `type`="text"),
                                list(
                                    `name`="estimate", 
                                    `title`="Estimate", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="est.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(estimates_ci)"),
                                list(
                                    `name`="est.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(estimates_ci)"),
                                list(
                                    `name`="expb", 
                                    `type`="number", 
                                    `title`="Exp(B)", 
                                    `visible`="(es:expb)"),
                                list(
                                    `name`="expb.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(expb_ci)"),
                                list(
                                    `name`="expb.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(expb_ci)"),
                                list(
                                    `name`="test", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="p", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))}))$new(options=options))
            self$add(jmvcore::Array$new(
                options=options,
                name="simpleInteractions",
                title="Simple Interactions",
                visible=FALSE,
                clearWith=list(
                    "dep",
                    "model_terms",
                    "contrasts",
                    "covs_conditioning",
                    "dep_scale",
                    "fixed_intercept",
                    "covs_scale_labels",
                    "ci_width",
                    "emmeans",
                    "offset"),
                template=R6::R6Class(
                    inherit = jmvcore::Group,
                    active = list(
                        anova = function() private$.items[["anova"]],
                        coefficients = function() private$.items[["coefficients"]]),
                    private = list(),
                    public=list(
                        initialize=function(options) {
                            super$initialize(
                                options=options,
                                name="undefined",
                                title="Interaction: ___key___",
                                clearWith=list())
                            self$add(jmvcore::Table$new(
                                options=options,
                                name="anova",
                                title="ANOVA test -  $key",
                                columns=list(
                                    list(
                                        `name`="effect", 
                                        `title`="Effect", 
                                        `type`="text"),
                                    list(
                                        `name`="test", 
                                        `title`="X\u00B2", 
                                        `type`="number"),
                                    list(
                                        `name`="df1", 
                                        `title`="df", 
                                        `type`="integer"),
                                    list(
                                        `name`="p", 
                                        `title`="p", 
                                        `type`="number", 
                                        `format`="zto,pvalue"))))
                            self$add(jmvcore::Table$new(
                                options=options,
                                name="coefficients",
                                title="Parameter Estimates for -  $key",
                                columns=list(
                                    list(
                                        `name`="effect", 
                                        `title`="Effect", 
                                        `type`="text"),
                                    list(
                                        `name`="response", 
                                        `title`="Response", 
                                        `type`="text", 
                                        `visible`="(model_type:multinomial)"),
                                    list(
                                        `name`="estimate", 
                                        `title`="Estimate", 
                                        `type`="number"),
                                    list(
                                        `name`="se", 
                                        `title`="SE", 
                                        `type`="number"),
                                    list(
                                        `name`="est.ci.lower", 
                                        `title`="Lower", 
                                        `type`="number"),
                                    list(
                                        `name`="est.ci.upper", 
                                        `title`="Upper", 
                                        `type`="number"),
                                    list(
                                        `name`="test", 
                                        `title`="z", 
                                        `type`="number"),
                                    list(
                                        `name`="p", 
                                        `title`="p", 
                                        `type`="number", 
                                        `format`="zto,pvalue"),
                                    list(
                                        `name`="expb", 
                                        `type`="number", 
                                        `title`="Exp(B)", 
                                        `visible`="(es:expb)"),
                                    list(
                                        `name`="expb.ci.lower", 
                                        `type`="number", 
                                        `title`="Lower", 
                                        `visible`="(expb_ci)", 
                                        `superTitle`="Exp(B) Confidence Intervals"),
                                    list(
                                        `name`="expb.ci.upper", 
                                        `type`="number", 
                                        `title`="Upper", 
                                        `visible`="(expb_ci)", 
                                        `superTitle`="Exp(B) Confidence Intervals"))))}))$new(options=options)))
            self$add(jmvcore::Array$new(
                options=options,
                name="emmeans",
                title="Estimated Marginal Means",
                visible=FALSE,
                items="(emmeans)",
                template=jmvcore::Table$new(
                    options=options,
                    title="Estimate Marginal Means - ___key___",
                    clearWith=list(
                        "model_type",
                        "dep",
                        "dep2",
                        "factors",
                        "covs",
                        "covs_scale",
                        "scale_missing",
                        "model_terms",
                        "fixed_intercept",
                        "se_method",
                        "mute",
                        "df_method",
                        "contrasts",
                        "covs_scale",
                        "offset",
                        "omnibus",
                        "model_type",
                        "custom_family",
                        "custom_link",
                        "ci_width",
                        "ci_method",
                        "boot_r"),
                    columns=list(
                        list(
                            `name`="response", 
                            `title`="Response", 
                            `type`="text", 
                            `visible`="(model_type:multinomial)", 
                            `combineBelow`=TRUE),
                        list(
                            `name`="estimate", 
                            `title`="Mean", 
                            `type`="number"),
                        list(
                            `name`="se", 
                            `title`="SE", 
                            `type`="number"),
                        list(
                            `name`="est.ci.lower", 
                            `title`="Lower", 
                            `type`="number"),
                        list(
                            `name`="est.ci.upper", 
                            `title`="Upper", 
                            `type`="number")))))
            self$add(jmvcore::Array$new(
                options=options,
                name="mainPlots",
                title="Results Plots",
                template=jmvcore::Image$new(
                    options=options,
                    title="",
                    renderFun=".mainPlot",
                    width=600,
                    height=400,
                    clearWith=list(
                        "dep",
                        "plot_x",
                        "plot_z",
                        "plot_by",
                        "plot_raw",
                        "plot_yscale",
                        "plot_scale",
                        "plot_xoriginal",
                        "plot_black",
                        "plot_around",
                        "ci_width",
                        "covs_scale",
                        "dep_scale",
                        "model_terms",
                        "fixed_intercept",
                        "covs_conditioning",
                        "covs_scale_labels",
                        "ccp_value",
                        "ccm_value"))))
            self$add(jmvcore::Html$new(
                options=options,
                name="plotnotes",
                visible=FALSE))
            self$add(jmvcore::Output$new(
                options=options,
                name="predicted",
                title="Predicted Vales",
                varTitle="`GLM_${ dep }_PRED`",
                varDescription="Predicted values",
                clearWith=list(
                    "model_type",
                    "dep",
                    "dep2",
                    "factors",
                    "covs",
                    "covs_scale",
                    "scale_missing",
                    "model_terms",
                    "fixed_intercept",
                    "se_method",
                    "mute",
                    "df_method",
                    "contrasts",
                    "covs_scale",
                    "offset",
                    "omnibus",
                    "model_type",
                    "custom_family",
                    "custom_link")))
            self$add(jmvcore::Output$new(
                options=options,
                name="residuals",
                title="Residuals Vales",
                varTitle="`GLM_${ dep }_RES`",
                varDescription="Residuals values",
                clearWith=list(
                    "model_type",
                    "dep",
                    "dep2",
                    "factors",
                    "covs",
                    "covs_scale",
                    "scale_missing",
                    "model_terms",
                    "fixed_intercept",
                    "se_method",
                    "mute",
                    "df_method",
                    "contrasts",
                    "covs_scale",
                    "offset",
                    "omnibus",
                    "model_type",
                    "custom_family",
                    "custom_link")))},
        .setModel=function(x) private$..model <- x))

gamljglmBase <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "gamljglmBase",
    inherit = jmvcore::Analysis,
    public = list(
        initialize = function(options, data=NULL, datasetId="", analysisId="", revision=0) {
            super$initialize(
                package = "GAMLj3",
                name = "gamljglm",
                version = c(3,0,0),
                options = options,
                results = gamljglmResults$new(options=options),
                data = data,
                datasetId = datasetId,
                analysisId = analysisId,
                revision = revision,
                pause = NULL,
                completeWhenFilled = FALSE,
                requiresMissings = FALSE,
                weightsSupport = 'none')
        }))
mcfanda/gamlj documentation built on April 15, 2024, 11:16 a.m.