R/semljgui.h.R

Defines functions semljgui

Documented in semljgui

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

semljguiOptions <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "semljguiOptions",
    inherit = jmvcore::Options,
    public = list(
        initialize = function(
            .caller = "gui",
            code = "",
            donotrun = NULL,
            endogenous = list(
                list(label="Endogenous1", vars=list())),
            exogenous = list(
                list(label="Exogenous1", vars=list())),
            secondorder = list(
                list(label="Factor1", vars=list())),
            endogenousTerms = list(
                list()),
            varcov = NULL,
            constraints = list(),
            estimator = "default",
            likelihood = "default",
            missing = "listwise",
            scoretest = TRUE,
            cumscoretest = FALSE,
            se = "auto",
            bootci = "perc",
            bootN = 1000,
            parallel = FALSE,
            est_ci = TRUE,
            beta_ci = FALSE,
            ci_width = 95,
            meanstructure = TRUE,
            int_ov = TRUE,
            int_lv = FALSE,
            indirect = FALSE,
            std_lv = "fix_first",
            std_ov = FALSE,
            cov_x = FALSE,
            cov_y = TRUE,
            cov_lv = TRUE,
            cluster = "",
            multigroup = NULL,
            eq_loadings = FALSE,
            eq_intercepts = FALSE,
            eq_residuals = FALSE,
            eq_residual.covariances = FALSE,
            eq_means = FALSE,
            eq_thresholds = FALSE,
            eq_regressions = FALSE,
            eq_lv.variances = FALSE,
            eq_lv.covariances = FALSE,
            esem_terms = list(
                list()),
            rotation = "geomin",
            algorithm = "gpa",
            orthogonal = FALSE,
            efa_std.ov = TRUE,
            geomin.epsilon = 0.001,
            orthomax.gamma = 1,
            oblimin.gamma = 0,
            showlabels = FALSE,
            constraints_examples = FALSE,
            lavaan_options = FALSE,
            outputAdditionalFitMeasures = FALSE,
            reliability = FALSE,
            r2 = "none",
            htmt = FALSE,
            outputMardiasCoefficients = FALSE,
            outputObservedCovariances = FALSE,
            outputImpliedCovariances = FALSE,
            outputResidualCovariances = FALSE,
            outpuCombineCovariances = FALSE,
            cov.lv = FALSE,
            outputModificationIndices = FALSE,
            miHideLow = FALSE,
            miThreshold = 10,
            diagram = FALSE,
            diag_resid = FALSE,
            diag_intercepts = FALSE,
            diag_paths = "est",
            diag_type = "tree",
            diag_rotate = "2",
            diag_labsize = "medium",
            diag_shape_man = "rectangle",
            diag_shape_lat = "circle",
            diag_abbrev = "5", ...) {

            super$initialize(
                package="semlj",
                name="semljgui",
                requiresData=TRUE,
                ...)

            private$...caller <- jmvcore::OptionString$new(
                ".caller",
                .caller,
                default="gui",
                hidden=TRUE)
            private$..code <- jmvcore::OptionString$new(
                "code",
                code,
                default="",
                hidden=TRUE)
            private$..donotrun <- jmvcore::OptionBool$new(
                "donotrun",
                donotrun)
            private$..endogenous <- jmvcore::OptionArray$new(
                "endogenous",
                endogenous,
                default=list(
                    list(label="Endogenous1", vars=list())),
                template=jmvcore::OptionGroup$new(
                    "endogenous",
                    NULL,
                    elements=list(
                        jmvcore::OptionString$new(
                            "label",
                            NULL),
                        jmvcore::OptionVariables$new(
                            "vars",
                            NULL,
                            suggested=list(
                                "continuous",
                                "ordinal"),
                            permitted=list(
                                "numeric",
                                "factor")))))
            private$..exogenous <- jmvcore::OptionArray$new(
                "exogenous",
                exogenous,
                default=list(
                    list(label="Exogenous1", vars=list())),
                template=jmvcore::OptionGroup$new(
                    "exogenous",
                    NULL,
                    elements=list(
                        jmvcore::OptionString$new(
                            "label",
                            NULL),
                        jmvcore::OptionVariables$new(
                            "vars",
                            NULL,
                            suggested=list(
                                "continuous"),
                            permitted=list(
                                "numeric",
                                "factor")))))
            private$..secondorder <- jmvcore::OptionArray$new(
                "secondorder",
                secondorder,
                default=list(
                    list(label="Factor1", vars=list())),
                template=jmvcore::OptionGroup$new(
                    "secondorder",
                    NULL,
                    elements=list(
                        jmvcore::OptionString$new(
                            "label",
                            NULL),
                        jmvcore::OptionTerms$new(
                            "vars",
                            NULL))))
            private$..endogenousTerms <- jmvcore::OptionArray$new(
                "endogenousTerms",
                endogenousTerms,
                default=list(
                    list()),
                template=jmvcore::OptionTerms$new(
                    "endogenousTerms",
                    NULL))
            private$..varcov <- jmvcore::OptionPairs$new(
                "varcov",
                varcov)
            private$..constraints <- jmvcore::OptionArray$new(
                "constraints",
                constraints,
                default=list(),
                template=jmvcore::OptionString$new(
                    "constraints",
                    NULL))
            private$..estimator <- jmvcore::OptionList$new(
                "estimator",
                estimator,
                options=list(
                    "default",
                    "ML",
                    "MLM",
                    "MLMV",
                    "MLMVS",
                    "MLR",
                    "PML",
                    "GLS",
                    "WLS",
                    "DWLS",
                    "WLSM",
                    "WLSMV",
                    "WLSMVS",
                    "ULS"),
                default="default")
            private$..likelihood <- jmvcore::OptionList$new(
                "likelihood",
                likelihood,
                options=list(
                    "default",
                    "normal",
                    "wishart"),
                default="default")
            private$..missing <- jmvcore::OptionList$new(
                "missing",
                missing,
                options=list(
                    "listwise",
                    "ml",
                    "ml.x",
                    "robust.two.stage",
                    "pairwise"),
                default="listwise")
            private$..scoretest <- jmvcore::OptionBool$new(
                "scoretest",
                scoretest,
                default=TRUE)
            private$..cumscoretest <- jmvcore::OptionBool$new(
                "cumscoretest",
                cumscoretest,
                default=FALSE)
            private$..se <- jmvcore::OptionList$new(
                "se",
                se,
                options=list(
                    "auto",
                    "standard",
                    "robust.sem",
                    "robust.sem",
                    "robust.huber.white",
                    "boot"),
                default="auto")
            private$..bootci <- jmvcore::OptionList$new(
                "bootci",
                bootci,
                options=list(
                    "perc",
                    "bca.simple",
                    "norm",
                    "basic"),
                default="perc")
            private$..bootN <- jmvcore::OptionNumber$new(
                "bootN",
                bootN,
                min=50,
                default=1000)
            private$..parallel <- jmvcore::OptionBool$new(
                "parallel",
                parallel,
                default=FALSE)
            private$..est_ci <- jmvcore::OptionBool$new(
                "est_ci",
                est_ci,
                default=TRUE)
            private$..beta_ci <- jmvcore::OptionBool$new(
                "beta_ci",
                beta_ci,
                default=FALSE)
            private$..ci_width <- jmvcore::OptionNumber$new(
                "ci_width",
                ci_width,
                min=50,
                max=99.9,
                default=95)
            private$..meanstructure <- jmvcore::OptionBool$new(
                "meanstructure",
                meanstructure,
                default=TRUE)
            private$..int_ov <- jmvcore::OptionBool$new(
                "int_ov",
                int_ov,
                default=TRUE)
            private$..int_lv <- jmvcore::OptionBool$new(
                "int_lv",
                int_lv,
                default=FALSE)
            private$..indirect <- jmvcore::OptionBool$new(
                "indirect",
                indirect,
                default=FALSE)
            private$..std_lv <- jmvcore::OptionList$new(
                "std_lv",
                std_lv,
                options=list(
                    "fix_first",
                    "std_res"),
                default="fix_first")
            private$..std_ov <- jmvcore::OptionBool$new(
                "std_ov",
                std_ov,
                default=FALSE)
            private$..cov_x <- jmvcore::OptionBool$new(
                "cov_x",
                cov_x,
                default=FALSE)
            private$..cov_y <- jmvcore::OptionBool$new(
                "cov_y",
                cov_y,
                default=TRUE)
            private$..cov_lv <- jmvcore::OptionBool$new(
                "cov_lv",
                cov_lv,
                default=TRUE)
            private$..cluster <- jmvcore::OptionString$new(
                "cluster",
                cluster,
                default="",
                hidden=TRUE)
            private$..multigroup <- jmvcore::OptionVariable$new(
                "multigroup",
                multigroup,
                suggested=list(
                    "nominal",
                    "ordinal"),
                permitted=list(
                    "factor"),
                default=NULL)
            private$..eq_loadings <- jmvcore::OptionBool$new(
                "eq_loadings",
                eq_loadings,
                default=FALSE)
            private$..eq_intercepts <- jmvcore::OptionBool$new(
                "eq_intercepts",
                eq_intercepts,
                default=FALSE)
            private$..eq_residuals <- jmvcore::OptionBool$new(
                "eq_residuals",
                eq_residuals,
                default=FALSE)
            private$..eq_residual.covariances <- jmvcore::OptionBool$new(
                "eq_residual.covariances",
                eq_residual.covariances,
                default=FALSE)
            private$..eq_means <- jmvcore::OptionBool$new(
                "eq_means",
                eq_means,
                default=FALSE)
            private$..eq_thresholds <- jmvcore::OptionBool$new(
                "eq_thresholds",
                eq_thresholds,
                default=FALSE)
            private$..eq_regressions <- jmvcore::OptionBool$new(
                "eq_regressions",
                eq_regressions,
                default=FALSE)
            private$..eq_lv.variances <- jmvcore::OptionBool$new(
                "eq_lv.variances",
                eq_lv.variances,
                default=FALSE)
            private$..eq_lv.covariances <- jmvcore::OptionBool$new(
                "eq_lv.covariances",
                eq_lv.covariances,
                default=FALSE)
            private$..esem_terms <- jmvcore::OptionArray$new(
                "esem_terms",
                esem_terms,
                default=list(
                    list()),
                template=jmvcore::OptionVariables$new(
                    "esem_terms",
                    NULL))
            private$..rotation <- jmvcore::OptionList$new(
                "rotation",
                rotation,
                options=list(
                    "geomin",
                    "varimax",
                    "orthomax",
                    "quartimin",
                    "oblimin",
                    "entropy",
                    "mccammon",
                    "infomax",
                    "tandem1",
                    "oblimax",
                    "bentler",
                    "simplimax"),
                default="geomin")
            private$..algorithm <- jmvcore::OptionList$new(
                "algorithm",
                algorithm,
                options=list(
                    "gpa",
                    "pairwise"),
                default="gpa")
            private$..orthogonal <- jmvcore::OptionBool$new(
                "orthogonal",
                orthogonal,
                default=FALSE)
            private$..efa_std.ov <- jmvcore::OptionBool$new(
                "efa_std.ov",
                efa_std.ov,
                default=TRUE)
            private$..geomin.epsilon <- jmvcore::OptionNumber$new(
                "geomin.epsilon",
                geomin.epsilon,
                min=0,
                default=0.001)
            private$..orthomax.gamma <- jmvcore::OptionNumber$new(
                "orthomax.gamma",
                orthomax.gamma,
                min=0,
                default=1)
            private$..oblimin.gamma <- jmvcore::OptionNumber$new(
                "oblimin.gamma",
                oblimin.gamma,
                min=0,
                default=0)
            private$..showlabels <- jmvcore::OptionBool$new(
                "showlabels",
                showlabels,
                default=FALSE)
            private$..constraints_examples <- jmvcore::OptionBool$new(
                "constraints_examples",
                constraints_examples,
                default=FALSE)
            private$..lavaan_options <- jmvcore::OptionBool$new(
                "lavaan_options",
                lavaan_options,
                default=FALSE)
            private$..outputAdditionalFitMeasures <- jmvcore::OptionBool$new(
                "outputAdditionalFitMeasures",
                outputAdditionalFitMeasures,
                default=FALSE)
            private$..reliability <- jmvcore::OptionBool$new(
                "reliability",
                reliability,
                default=FALSE)
            private$..r2 <- jmvcore::OptionList$new(
                "r2",
                r2,
                options=list(
                    "none",
                    "all",
                    "endo",
                    "all"),
                default="none")
            private$..htmt <- jmvcore::OptionBool$new(
                "htmt",
                htmt,
                default=FALSE)
            private$..outputMardiasCoefficients <- jmvcore::OptionBool$new(
                "outputMardiasCoefficients",
                outputMardiasCoefficients,
                default=FALSE)
            private$..outputObservedCovariances <- jmvcore::OptionBool$new(
                "outputObservedCovariances",
                outputObservedCovariances,
                default=FALSE)
            private$..outputImpliedCovariances <- jmvcore::OptionBool$new(
                "outputImpliedCovariances",
                outputImpliedCovariances,
                default=FALSE)
            private$..outputResidualCovariances <- jmvcore::OptionBool$new(
                "outputResidualCovariances",
                outputResidualCovariances,
                default=FALSE)
            private$..outpuCombineCovariances <- jmvcore::OptionBool$new(
                "outpuCombineCovariances",
                outpuCombineCovariances,
                default=FALSE)
            private$..cov.lv <- jmvcore::OptionBool$new(
                "cov.lv",
                cov.lv,
                default=FALSE)
            private$..outputModificationIndices <- jmvcore::OptionBool$new(
                "outputModificationIndices",
                outputModificationIndices,
                default=FALSE)
            private$..miHideLow <- jmvcore::OptionBool$new(
                "miHideLow",
                miHideLow,
                default=FALSE)
            private$..miThreshold <- jmvcore::OptionNumber$new(
                "miThreshold",
                miThreshold,
                default=10,
                min=0)
            private$..diagram <- jmvcore::OptionBool$new(
                "diagram",
                diagram,
                default=FALSE)
            private$..diag_resid <- jmvcore::OptionBool$new(
                "diag_resid",
                diag_resid,
                default=FALSE)
            private$..diag_intercepts <- jmvcore::OptionBool$new(
                "diag_intercepts",
                diag_intercepts,
                default=FALSE)
            private$..diag_paths <- jmvcore::OptionList$new(
                "diag_paths",
                diag_paths,
                options=list(
                    "est",
                    "stand",
                    "name",
                    "hide"),
                default="est")
            private$..diag_type <- jmvcore::OptionList$new(
                "diag_type",
                diag_type,
                options=list(
                    "tree",
                    "tree2",
                    "circle",
                    "circle2",
                    "spring"),
                default="tree")
            private$..diag_rotate <- jmvcore::OptionList$new(
                "diag_rotate",
                diag_rotate,
                options=list(
                    "1",
                    "2",
                    "3",
                    "4"),
                default="2")
            private$..diag_labsize <- jmvcore::OptionList$new(
                "diag_labsize",
                diag_labsize,
                options=list(
                    "small",
                    "medium",
                    "large",
                    "vlarge"),
                default="medium")
            private$..diag_shape_man <- jmvcore::OptionList$new(
                "diag_shape_man",
                diag_shape_man,
                options=list(
                    "rectangle",
                    "square",
                    "circle",
                    "ellipse",
                    "diamond"),
                default="rectangle")
            private$..diag_shape_lat <- jmvcore::OptionList$new(
                "diag_shape_lat",
                diag_shape_lat,
                options=list(
                    "circle",
                    "rectangle",
                    "square",
                    "ellipse",
                    "diamond"),
                default="circle")
            private$..diag_abbrev <- jmvcore::OptionList$new(
                "diag_abbrev",
                diag_abbrev,
                options=list(
                    "0",
                    "5",
                    "10",
                    "15",
                    "20",
                    "25"),
                default="5")
            private$..preds_lv <- jmvcore::OptionOutput$new(
                "preds_lv")
            private$..preds_ov <- jmvcore::OptionOutput$new(
                "preds_ov")
            private$..preds_dv <- jmvcore::OptionOutput$new(
                "preds_dv")

            self$.addOption(private$...caller)
            self$.addOption(private$..code)
            self$.addOption(private$..donotrun)
            self$.addOption(private$..endogenous)
            self$.addOption(private$..exogenous)
            self$.addOption(private$..secondorder)
            self$.addOption(private$..endogenousTerms)
            self$.addOption(private$..varcov)
            self$.addOption(private$..constraints)
            self$.addOption(private$..estimator)
            self$.addOption(private$..likelihood)
            self$.addOption(private$..missing)
            self$.addOption(private$..scoretest)
            self$.addOption(private$..cumscoretest)
            self$.addOption(private$..se)
            self$.addOption(private$..bootci)
            self$.addOption(private$..bootN)
            self$.addOption(private$..parallel)
            self$.addOption(private$..est_ci)
            self$.addOption(private$..beta_ci)
            self$.addOption(private$..ci_width)
            self$.addOption(private$..meanstructure)
            self$.addOption(private$..int_ov)
            self$.addOption(private$..int_lv)
            self$.addOption(private$..indirect)
            self$.addOption(private$..std_lv)
            self$.addOption(private$..std_ov)
            self$.addOption(private$..cov_x)
            self$.addOption(private$..cov_y)
            self$.addOption(private$..cov_lv)
            self$.addOption(private$..cluster)
            self$.addOption(private$..multigroup)
            self$.addOption(private$..eq_loadings)
            self$.addOption(private$..eq_intercepts)
            self$.addOption(private$..eq_residuals)
            self$.addOption(private$..eq_residual.covariances)
            self$.addOption(private$..eq_means)
            self$.addOption(private$..eq_thresholds)
            self$.addOption(private$..eq_regressions)
            self$.addOption(private$..eq_lv.variances)
            self$.addOption(private$..eq_lv.covariances)
            self$.addOption(private$..esem_terms)
            self$.addOption(private$..rotation)
            self$.addOption(private$..algorithm)
            self$.addOption(private$..orthogonal)
            self$.addOption(private$..efa_std.ov)
            self$.addOption(private$..geomin.epsilon)
            self$.addOption(private$..orthomax.gamma)
            self$.addOption(private$..oblimin.gamma)
            self$.addOption(private$..showlabels)
            self$.addOption(private$..constraints_examples)
            self$.addOption(private$..lavaan_options)
            self$.addOption(private$..outputAdditionalFitMeasures)
            self$.addOption(private$..reliability)
            self$.addOption(private$..r2)
            self$.addOption(private$..htmt)
            self$.addOption(private$..outputMardiasCoefficients)
            self$.addOption(private$..outputObservedCovariances)
            self$.addOption(private$..outputImpliedCovariances)
            self$.addOption(private$..outputResidualCovariances)
            self$.addOption(private$..outpuCombineCovariances)
            self$.addOption(private$..cov.lv)
            self$.addOption(private$..outputModificationIndices)
            self$.addOption(private$..miHideLow)
            self$.addOption(private$..miThreshold)
            self$.addOption(private$..diagram)
            self$.addOption(private$..diag_resid)
            self$.addOption(private$..diag_intercepts)
            self$.addOption(private$..diag_paths)
            self$.addOption(private$..diag_type)
            self$.addOption(private$..diag_rotate)
            self$.addOption(private$..diag_labsize)
            self$.addOption(private$..diag_shape_man)
            self$.addOption(private$..diag_shape_lat)
            self$.addOption(private$..diag_abbrev)
            self$.addOption(private$..preds_lv)
            self$.addOption(private$..preds_ov)
            self$.addOption(private$..preds_dv)
        }),
    active = list(
        .caller = function() private$...caller$value,
        code = function() private$..code$value,
        donotrun = function() private$..donotrun$value,
        endogenous = function() private$..endogenous$value,
        exogenous = function() private$..exogenous$value,
        secondorder = function() private$..secondorder$value,
        endogenousTerms = function() private$..endogenousTerms$value,
        varcov = function() private$..varcov$value,
        constraints = function() private$..constraints$value,
        estimator = function() private$..estimator$value,
        likelihood = function() private$..likelihood$value,
        missing = function() private$..missing$value,
        scoretest = function() private$..scoretest$value,
        cumscoretest = function() private$..cumscoretest$value,
        se = function() private$..se$value,
        bootci = function() private$..bootci$value,
        bootN = function() private$..bootN$value,
        parallel = function() private$..parallel$value,
        est_ci = function() private$..est_ci$value,
        beta_ci = function() private$..beta_ci$value,
        ci_width = function() private$..ci_width$value,
        meanstructure = function() private$..meanstructure$value,
        int_ov = function() private$..int_ov$value,
        int_lv = function() private$..int_lv$value,
        indirect = function() private$..indirect$value,
        std_lv = function() private$..std_lv$value,
        std_ov = function() private$..std_ov$value,
        cov_x = function() private$..cov_x$value,
        cov_y = function() private$..cov_y$value,
        cov_lv = function() private$..cov_lv$value,
        cluster = function() private$..cluster$value,
        multigroup = function() private$..multigroup$value,
        eq_loadings = function() private$..eq_loadings$value,
        eq_intercepts = function() private$..eq_intercepts$value,
        eq_residuals = function() private$..eq_residuals$value,
        eq_residual.covariances = function() private$..eq_residual.covariances$value,
        eq_means = function() private$..eq_means$value,
        eq_thresholds = function() private$..eq_thresholds$value,
        eq_regressions = function() private$..eq_regressions$value,
        eq_lv.variances = function() private$..eq_lv.variances$value,
        eq_lv.covariances = function() private$..eq_lv.covariances$value,
        esem_terms = function() private$..esem_terms$value,
        rotation = function() private$..rotation$value,
        algorithm = function() private$..algorithm$value,
        orthogonal = function() private$..orthogonal$value,
        efa_std.ov = function() private$..efa_std.ov$value,
        geomin.epsilon = function() private$..geomin.epsilon$value,
        orthomax.gamma = function() private$..orthomax.gamma$value,
        oblimin.gamma = function() private$..oblimin.gamma$value,
        showlabels = function() private$..showlabels$value,
        constraints_examples = function() private$..constraints_examples$value,
        lavaan_options = function() private$..lavaan_options$value,
        outputAdditionalFitMeasures = function() private$..outputAdditionalFitMeasures$value,
        reliability = function() private$..reliability$value,
        r2 = function() private$..r2$value,
        htmt = function() private$..htmt$value,
        outputMardiasCoefficients = function() private$..outputMardiasCoefficients$value,
        outputObservedCovariances = function() private$..outputObservedCovariances$value,
        outputImpliedCovariances = function() private$..outputImpliedCovariances$value,
        outputResidualCovariances = function() private$..outputResidualCovariances$value,
        outpuCombineCovariances = function() private$..outpuCombineCovariances$value,
        cov.lv = function() private$..cov.lv$value,
        outputModificationIndices = function() private$..outputModificationIndices$value,
        miHideLow = function() private$..miHideLow$value,
        miThreshold = function() private$..miThreshold$value,
        diagram = function() private$..diagram$value,
        diag_resid = function() private$..diag_resid$value,
        diag_intercepts = function() private$..diag_intercepts$value,
        diag_paths = function() private$..diag_paths$value,
        diag_type = function() private$..diag_type$value,
        diag_rotate = function() private$..diag_rotate$value,
        diag_labsize = function() private$..diag_labsize$value,
        diag_shape_man = function() private$..diag_shape_man$value,
        diag_shape_lat = function() private$..diag_shape_lat$value,
        diag_abbrev = function() private$..diag_abbrev$value,
        preds_lv = function() private$..preds_lv$value,
        preds_ov = function() private$..preds_ov$value,
        preds_dv = function() private$..preds_dv$value),
    private = list(
        ...caller = NA,
        ..code = NA,
        ..donotrun = NA,
        ..endogenous = NA,
        ..exogenous = NA,
        ..secondorder = NA,
        ..endogenousTerms = NA,
        ..varcov = NA,
        ..constraints = NA,
        ..estimator = NA,
        ..likelihood = NA,
        ..missing = NA,
        ..scoretest = NA,
        ..cumscoretest = NA,
        ..se = NA,
        ..bootci = NA,
        ..bootN = NA,
        ..parallel = NA,
        ..est_ci = NA,
        ..beta_ci = NA,
        ..ci_width = NA,
        ..meanstructure = NA,
        ..int_ov = NA,
        ..int_lv = NA,
        ..indirect = NA,
        ..std_lv = NA,
        ..std_ov = NA,
        ..cov_x = NA,
        ..cov_y = NA,
        ..cov_lv = NA,
        ..cluster = NA,
        ..multigroup = NA,
        ..eq_loadings = NA,
        ..eq_intercepts = NA,
        ..eq_residuals = NA,
        ..eq_residual.covariances = NA,
        ..eq_means = NA,
        ..eq_thresholds = NA,
        ..eq_regressions = NA,
        ..eq_lv.variances = NA,
        ..eq_lv.covariances = NA,
        ..esem_terms = NA,
        ..rotation = NA,
        ..algorithm = NA,
        ..orthogonal = NA,
        ..efa_std.ov = NA,
        ..geomin.epsilon = NA,
        ..orthomax.gamma = NA,
        ..oblimin.gamma = NA,
        ..showlabels = NA,
        ..constraints_examples = NA,
        ..lavaan_options = NA,
        ..outputAdditionalFitMeasures = NA,
        ..reliability = NA,
        ..r2 = NA,
        ..htmt = NA,
        ..outputMardiasCoefficients = NA,
        ..outputObservedCovariances = NA,
        ..outputImpliedCovariances = NA,
        ..outputResidualCovariances = NA,
        ..outpuCombineCovariances = NA,
        ..cov.lv = NA,
        ..outputModificationIndices = NA,
        ..miHideLow = NA,
        ..miThreshold = NA,
        ..diagram = NA,
        ..diag_resid = NA,
        ..diag_intercepts = NA,
        ..diag_paths = NA,
        ..diag_type = NA,
        ..diag_rotate = NA,
        ..diag_labsize = NA,
        ..diag_shape_man = NA,
        ..diag_shape_lat = NA,
        ..diag_abbrev = NA,
        ..preds_lv = NA,
        ..preds_ov = NA,
        ..preds_dv = NA)
)

semljguiResults <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
    "semljguiResults",
    inherit = jmvcore::Group,
    active = list(
        info = function() private$.items[["info"]],
        fit = function() private$.items[["fit"]],
        models = function() private$.items[["models"]],
        additional = function() private$.items[["additional"]],
        covariances = function() private$.items[["covariances"]],
        modification = function() private$.items[["modification"]],
        pathgroup = function() private$.items[["pathgroup"]],
        preds_lv = function() private$.items[["preds_lv"]],
        preds_ov = function() private$.items[["preds_ov"]],
        preds_dv = function() private$.items[["preds_dv"]],
        synexamples = function() private$.items[["synexamples"]],
        lavaanoptions = function() private$.items[["lavaanoptions"]]),
    private = list(),
    public=list(
        initialize=function(options) {
            super$initialize(
                options=options,
                name="",
                title="Structural Equation Modelling")
            self$add(jmvcore::Table$new(
                options=options,
                name="info",
                title="Models Info",
                refs=list(
                    "semlj",
                    "lavaan"),
                columns=list(
                    list(
                        `name`="info", 
                        `type`="text", 
                        `title`="", 
                        `combineBelow`=TRUE),
                    list(
                        `name`="value", 
                        `type`="text", 
                        `title`=""),
                    list(
                        `name`="specs", 
                        `type`="text", 
                        `title`="", 
                        `combineBelow`=TRUE))))
            self$add(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    main = function() private$.items[["main"]],
                    constraints = function() private$.items[["constraints"]],
                    indices = function() private$.items[["indices"]],
                    modelbaseline = function() private$.items[["modelbaseline"]],
                    moreindices = function() private$.items[["moreindices"]],
                    rsquared = function() private$.items[["rsquared"]],
                    icc = function() private$.items[["icc"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="fit",
                            title="Overall Tests",
                            clearWith=list(
                    "code",
                    "estimator",
                    "likelihood",
                    "meanstructure",
                    "int_ov",
                    "int_lv",
                    "std_lv",
                    "std_ov",
                    "cov_x",
                    "cov_y",
                    "cov_lv",
                    "cluster",
                    "multigroup",
                    "eq_loadings",
                    "eq_intercepts",
                    "eq_residuals",
                    "eq_residual.covariances",
                    "eq_means",
                    "eq_thresholds",
                    "eq_regressions",
                    "eq_lv.variances",
                    "eq_lv.covariances",
                    "esem_terms",
                    "rotation",
                    "algorithm",
                    "orthogonal",
                    "efa_std.ov",
                    "geomin.epsilon",
                    "orthomax.gamma",
                    "oblimin.gamma",
                    "missing"))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="main",
                            title="Model tests",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="label", 
                                    `title`="Label", 
                                    `type`="text"),
                                list(
                                    `name`="chisq", 
                                    `title`="X\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="df", 
                                    `title`="df", 
                                    `type`="integer"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="constraints",
                            title="Constraints score tests",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="type", 
                                    `type`="text", 
                                    `title`="Type", 
                                    `visible`=TRUE, 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="lhs", 
                                    `title`="Par 1", 
                                    `type`="text"),
                                list(
                                    `name`="op", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="rhs", 
                                    `title`="Par 2", 
                                    `type`="text"),
                                list(
                                    `name`="chisq", 
                                    `title`="X\u00B2", 
                                    `type`="number"),
                                list(
                                    `name`="df", 
                                    `title`="df", 
                                    `type`="integer"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="indices",
                            title="Fit indices",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="type", 
                                    `title`="Type", 
                                    `visible`=FALSE),
                                list(
                                    `name`="srmr", 
                                    `title`="SRMR", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="rmsea", 
                                    `title`="RMSEA", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="rmsea.ci.lower", 
                                    `title`="Lower", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="rmsea.ci.upper", 
                                    `title`="Upper", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="rmsea.pvalue", 
                                    `title`="RMSEA p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="modelbaseline",
                            title="User model versus baseline model",
                            visible=TRUE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            rows=8,
                            columns=list(
                                list(
                                    `name`="name", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="statistics", 
                                    `title`="Model", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="scaled", 
                                    `title`="Scaled", 
                                    `type`="number", 
                                    `format`="zto", 
                                    `visible`=FALSE),
                                list(
                                    `name`="robust", 
                                    `title`="Robust", 
                                    `type`="number", 
                                    `format`="zto", 
                                    `visible`=FALSE))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="moreindices",
                            title="Additional fit indices",
                            visible="(outputAdditionalFitMeasures)",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="name", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="statistics", 
                                    `title`="Model", 
                                    `type`="number"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="rsquared",
                            title="R\u00B2",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="rhs", 
                                    `title`="Variable", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="R\u00B2", 
                                    `type`="number"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="icc",
                            title="Intra-class correlations",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="rhs", 
                                    `title`="Variable", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="ICC", 
                                    `type`="number"))))}))$new(options=options))
            self$add(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    coefficients = function() private$.items[["coefficients"]],
                    loadings = function() private$.items[["loadings"]],
                    composites = function() private$.items[["composites"]],
                    covariances = function() private$.items[["covariances"]],
                    intercepts = function() private$.items[["intercepts"]],
                    thresholds = function() private$.items[["thresholds"]],
                    defined = function() private$.items[["defined"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="models",
                            title="Estimates")
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="coefficients",
                            title="Parameters estimates",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing",
                                "bootci",
                                "bootN",
                                "est_ci",
                                "beta_ci",
                                "ci_width",
                                "se",
                                "parallel"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="label", 
                                    `title`="Label", 
                                    `type`="text", 
                                    `visible`="(showlabels)"),
                                list(
                                    `name`="lhs", 
                                    `title`="Dep", 
                                    `type`="text"),
                                list(
                                    `name`="rhs", 
                                    `title`="Pred", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="Estimate", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="std.all", 
                                    `type`="number", 
                                    `title`="\u03B2"),
                                list(
                                    `name`="std.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="std.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="loadings",
                            title="Measurement model",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing",
                                "bootci",
                                "bootN",
                                "est_ci",
                                "beta_ci",
                                "ci_width",
                                "se",
                                "parallel"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="label", 
                                    `title`="Label", 
                                    `type`="text", 
                                    `visible`="(showlabels)"),
                                list(
                                    `name`="lhs", 
                                    `title`="Latent", 
                                    `type`="text", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="rhs", 
                                    `title`="Observed", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="Estimate", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="std.all", 
                                    `type`="number", 
                                    `title`="\u03B2"),
                                list(
                                    `name`="std.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="std.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="composites",
                            title="Composites",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing",
                                "bootci",
                                "bootN",
                                "est_ci",
                                "beta_ci",
                                "ci_width",
                                "se",
                                "parallel"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="label", 
                                    `title`="Label", 
                                    `type`="text", 
                                    `visible`="(showlabels)"),
                                list(
                                    `name`="lhs", 
                                    `title`="Formative", 
                                    `type`="text", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="rhs", 
                                    `title`="Observed", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="Estimate", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="std.all", 
                                    `type`="number", 
                                    `title`="\u03B2"),
                                list(
                                    `name`="std.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="std.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="covariances",
                            title="Variances and Covariances",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing",
                                "bootci",
                                "bootN",
                                "est_ci",
                                "beta_ci",
                                "ci_width",
                                "se",
                                "parallel"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="label", 
                                    `title`="Label", 
                                    `type`="text", 
                                    `visible`="(showlabels)"),
                                list(
                                    `name`="lhs", 
                                    `title`="Variable 1", 
                                    `type`="text"),
                                list(
                                    `name`="rhs", 
                                    `title`="Variable 2", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="Estimate", 
                                    `type`="number"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number"),
                                list(
                                    `name`="ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(est_ci)"),
                                list(
                                    `name`="std.all", 
                                    `type`="number", 
                                    `title`="\u03B2"),
                                list(
                                    `name`="std.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="std.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="intercepts",
                            title="Intercepts",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing",
                                "bootci",
                                "bootN",
                                "est_ci",
                                "beta_ci",
                                "ci_width",
                                "se",
                                "parallel"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="label", 
                                    `title`="Label", 
                                    `type`="text", 
                                    `visible`="(showlabels)"),
                                list(
                                    `name`="lhs", 
                                    `title`="Variable", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="Intercept", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(est_ci)", 
                                    `format`="zto"),
                                list(
                                    `name`="ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(est_ci)", 
                                    `format`="zto"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="thresholds",
                            title="Thresholds",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing",
                                "bootci",
                                "bootN",
                                "est_ci",
                                "beta_ci",
                                "ci_width",
                                "se",
                                "parallel"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="label", 
                                    `title`="Label", 
                                    `type`="text", 
                                    `visible`="(showlabels)"),
                                list(
                                    `name`="lhs", 
                                    `title`="Variable", 
                                    `type`="text"),
                                list(
                                    `name`="rhs", 
                                    `title`="Step", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="Thresholds", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(est_ci)", 
                                    `format`="zto"),
                                list(
                                    `name`="ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(est_ci)", 
                                    `format`="zto"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="defined",
                            title="Defined parameters",
                            visible=FALSE,
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing",
                                "bootci",
                                "bootN",
                                "est_ci",
                                "beta_ci",
                                "ci_width",
                                "se",
                                "parallel"),
                            columns=list(
                                list(
                                    `name`="lhs", 
                                    `title`="Label", 
                                    `type`="text"),
                                list(
                                    `name`="desc", 
                                    `title`="Description", 
                                    `type`="text"),
                                list(
                                    `name`="rhs", 
                                    `title`="Parameter", 
                                    `type`="text"),
                                list(
                                    `name`="est", 
                                    `title`="Estimate", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="se", 
                                    `title`="SE", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(est_ci)", 
                                    `format`="zto"),
                                list(
                                    `name`="ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(est_ci)", 
                                    `format`="zto"),
                                list(
                                    `name`="std.all", 
                                    `type`="number", 
                                    `title`="\u03B2", 
                                    `format`="zto"),
                                list(
                                    `name`="std.ci.lower", 
                                    `type`="number", 
                                    `title`="Lower", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="std.ci.upper", 
                                    `type`="number", 
                                    `title`="Upper", 
                                    `visible`="(beta_ci)"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="pvalue", 
                                    `title`="p", 
                                    `type`="number", 
                                    `format`="zto,pvalue"))))}))$new(options=options))
            self$add(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    reliability = function() private$.items[["reliability"]],
                    htmt = function() private$.items[["htmt"]],
                    mardia = function() private$.items[["mardia"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="additional",
                            title="Additional outputs")
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="reliability",
                            title="Reliability indices",
                            visible=FALSE,
                            refs="semtools",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)"),
                                list(
                                    `name`="level", 
                                    `title`="Level", 
                                    `type`="text", 
                                    `visible`=FALSE, 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="variable", 
                                    `title`="Variable", 
                                    `type`="text"),
                                list(
                                    `name`="alpha", 
                                    `title`="\u03B1", 
                                    `type`="number"),
                                list(
                                    `name`="alpha.ord", 
                                    `title`="Ordinal \u03B1", 
                                    `type`="number", 
                                    `visible`=FALSE),
                                list(
                                    `name`="omega", 
                                    `title`="\u03C9\u2081", 
                                    `type`="number"),
                                list(
                                    `name`="omega2", 
                                    `title`="\u03C9\u2082", 
                                    `type`="number"),
                                list(
                                    `name`="omega3", 
                                    `title`="\u03C9\u2083", 
                                    `type`="number"),
                                list(
                                    `name`="avevar", 
                                    `title`="AVE", 
                                    `type`="number"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="htmt",
                            title="Heterotrait-monotrait (HTMT) ratio of correlations",
                            visible="(htmt)",
                            refs="semtools",
                            columns=list(
                                list(
                                    `name`="variable", 
                                    `title`="", 
                                    `type`="text"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="mardia",
                            title="Mardia's coefficients",
                            refs="semtools",
                            visible="(outputMardiasCoefficients)",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            rows=2,
                            columns=list(
                                list(
                                    `name`="name", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="coeff", 
                                    `title`="Coefficient", 
                                    `type`="number"),
                                list(
                                    `name`="z", 
                                    `title`="z", 
                                    `type`="number"),
                                list(
                                    `name`="chi", 
                                    `title`="\u03C7\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(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    observed = function() private$.items[["observed"]],
                    implied = function() private$.items[["implied"]],
                    residual = function() private$.items[["residual"]],
                    combined = function() private$.items[["combined"]],
                    latent = function() private$.items[["latent"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="covariances",
                            title="Covariances and correlations",
                            clearWith=list(
                    "code",
                    "estimator",
                    "likelihood",
                    "meanstructure",
                    "int_ov",
                    "int_lv",
                    "std_lv",
                    "std_ov",
                    "cov_x",
                    "cov_y",
                    "cov_lv",
                    "cluster",
                    "multigroup",
                    "eq_loadings",
                    "eq_intercepts",
                    "eq_residuals",
                    "eq_residual.covariances",
                    "eq_means",
                    "eq_thresholds",
                    "eq_regressions",
                    "eq_lv.variances",
                    "eq_lv.covariances",
                    "esem_terms",
                    "rotation",
                    "algorithm",
                    "orthogonal",
                    "efa_std.ov",
                    "geomin.epsilon",
                    "orthomax.gamma",
                    "oblimin.gamma",
                    "missing"))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="observed",
                            title="Observed covariances (lower triangle) and correlations (upper triangle)",
                            visible="(outputObservedCovariances & !outpuCombineCovariances)",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="variable", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="level", 
                                    `title`="", 
                                    `type`="text", 
                                    `visible`=FALSE))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="implied",
                            title="Fitted covariances (lower triangle) and correlations (upper triangle)",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            visible="(outputImpliedCovariances & !outpuCombineCovariances)",
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="variable", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="level", 
                                    `title`="", 
                                    `type`="text", 
                                    `visible`=FALSE))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="residual",
                            title="Residual covariances (lower triangle) and correlations (upper triangle)",
                            visible="(outputResidualCovariances & !outpuCombineCovariances)",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="variable", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="level", 
                                    `title`="", 
                                    `type`="text", 
                                    `visible`=FALSE))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="combined",
                            title="Covariances (lower triangle) and correlations (upper triangle)",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            visible="(outpuCombineCovariances)",
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="variable", 
                                    `title`="", 
                                    `type`="text", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="level", 
                                    `title`="", 
                                    `type`="text", 
                                    `visible`=FALSE),
                                list(
                                    `name`="type", 
                                    `title`="", 
                                    `type`="text"))))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="latent",
                            title="Model-implied Covariances for latent variables",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            visible=FALSE,
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="variable", 
                                    `title`="", 
                                    `type`="text", 
                                    `combineBelow`=TRUE),
                                list(
                                    `name`="level", 
                                    `title`="", 
                                    `type`="text", 
                                    `visible`=FALSE))))}))$new(options=options))
            self$add(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    indices = function() private$.items[["indices"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="modification",
                            title="Modifcation indices",
                            clearWith=list(
                    "code",
                    "estimator",
                    "likelihood",
                    "meanstructure",
                    "int_ov",
                    "int_lv",
                    "std_lv",
                    "std_ov",
                    "cov_x",
                    "cov_y",
                    "cov_lv",
                    "cluster",
                    "multigroup",
                    "eq_loadings",
                    "eq_intercepts",
                    "eq_residuals",
                    "eq_residual.covariances",
                    "eq_means",
                    "eq_thresholds",
                    "eq_regressions",
                    "eq_lv.variances",
                    "eq_lv.covariances",
                    "esem_terms",
                    "rotation",
                    "algorithm",
                    "orthogonal",
                    "efa_std.ov",
                    "geomin.epsilon",
                    "orthomax.gamma",
                    "oblimin.gamma",
                    "missing"))
                        self$add(jmvcore::Table$new(
                            options=options,
                            name="indices",
                            title="Modification indices",
                            clearWith=list(
                                "code",
                                "estimator",
                                "likelihood",
                                "meanstructure",
                                "int_ov",
                                "int_lv",
                                "std_lv",
                                "std_ov",
                                "cov_x",
                                "cov_y",
                                "cov_lv",
                                "cluster",
                                "multigroup",
                                "eq_loadings",
                                "eq_intercepts",
                                "eq_residuals",
                                "eq_residual.covariances",
                                "eq_means",
                                "eq_thresholds",
                                "eq_regressions",
                                "eq_lv.variances",
                                "eq_lv.covariances",
                                "esem_terms",
                                "rotation",
                                "algorithm",
                                "orthogonal",
                                "efa_std.ov",
                                "geomin.epsilon",
                                "orthomax.gamma",
                                "oblimin.gamma",
                                "missing"),
                            visible="(outputModificationIndices)",
                            notes=list(
                                `EPC`="expected parameter changes and their standardized forms (sEPC); for latent variables (LV), all variables (all), and latent and observed variables except for the exogenous observed variables (nox)"),
                            columns=list(
                                list(
                                    `name`="lgroup", 
                                    `title`="Group", 
                                    `type`="text", 
                                    `visible`="(multigroup)"),
                                list(
                                    `name`="lhs", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="op", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="rhs", 
                                    `title`="", 
                                    `type`="text"),
                                list(
                                    `name`="mi", 
                                    `title`="Modif. index", 
                                    `type`="number"),
                                list(
                                    `name`="epc", 
                                    `title`="EPC", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="sepc.lv", 
                                    `title`="sEPC (LV)", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="sepc.all", 
                                    `title`="sEPC (all)", 
                                    `type`="number", 
                                    `format`="zto"),
                                list(
                                    `name`="sepc.nox", 
                                    `title`="sEPC (nox)", 
                                    `type`="number", 
                                    `format`="zto"))))}))$new(options=options))
            self$add(R6::R6Class(
                inherit = jmvcore::Group,
                active = list(
                    diagrams = function() private$.items[["diagrams"]],
                    notes = function() private$.items[["notes"]]),
                private = list(),
                public=list(
                    initialize=function(options) {
                        super$initialize(
                            options=options,
                            name="pathgroup",
                            title="Path Model",
                            clearWith=list(
                    "code",
                    "estimator",
                    "likelihood",
                    "meanstructure",
                    "int_ov",
                    "int_lv",
                    "std_lv",
                    "std_ov",
                    "cov_x",
                    "cov_y",
                    "cov_lv",
                    "cluster",
                    "multigroup",
                    "eq_loadings",
                    "eq_intercepts",
                    "eq_residuals",
                    "eq_residual.covariances",
                    "eq_means",
                    "eq_thresholds",
                    "eq_regressions",
                    "eq_lv.variances",
                    "eq_lv.covariances",
                    "esem_terms",
                    "rotation",
                    "algorithm",
                    "orthogonal",
                    "efa_std.ov",
                    "geomin.epsilon",
                    "orthomax.gamma",
                    "oblimin.gamma",
                    "missing",
                    "diag_shape_man",
                    "diag_shape_lat",
                    "diag_abbrev",
                    "diag_type",
                    "diag_rotate",
                    "diag_labsize",
                    "diag_resid",
                    "diag_paths",
                    "diag_intercepts"))
                        self$add(jmvcore::Array$new(
                            options=options,
                            name="diagrams",
                            title="Path diagrams",
                            refs="semplot",
                            visible="(diagram)",
                            template=jmvcore::Image$new(
                                options=options,
                                title="$key",
                                renderFun=".showDiagram",
                                width=800,
                                height=600,
                                clearWith=list(
                                    "code",
                                    "estimator",
                                    "likelihood",
                                    "meanstructure",
                                    "int_ov",
                                    "int_lv",
                                    "std_lv",
                                    "std_ov",
                                    "cov_x",
                                    "cov_y",
                                    "cov_lv",
                                    "cluster",
                                    "multigroup",
                                    "eq_loadings",
                                    "eq_intercepts",
                                    "eq_residuals",
                                    "eq_residual.covariances",
                                    "eq_means",
                                    "eq_thresholds",
                                    "eq_regressions",
                                    "eq_lv.variances",
                                    "eq_lv.covariances",
                                    "esem_terms",
                                    "rotation",
                                    "algorithm",
                                    "orthogonal",
                                    "efa_std.ov",
                                    "geomin.epsilon",
                                    "orthomax.gamma",
                                    "oblimin.gamma",
                                    "missing",
                                    "diag_shape_man",
                                    "diag_shape_lat",
                                    "diag_abbrev",
                                    "diag_type",
                                    "diag_rotate",
                                    "diag_labsize",
                                    "diag_resid",
                                    "diag_paths",
                                    "diag_intercepts"))))
                        self$add(jmvcore::Html$new(
                            options=options,
                            name="notes",
                            title="",
                            visible=FALSE))}))$new(options=options))
            self$add(jmvcore::Output$new(
                options=options,
                name="preds_lv",
                title="Factor scores",
                varDescription="Factor scores",
                initInRun=TRUE))
            self$add(jmvcore::Output$new(
                options=options,
                name="preds_ov",
                title="Indicators scores",
                varDescription="Indicators scores",
                initInRun=TRUE))
            self$add(jmvcore::Output$new(
                options=options,
                name="preds_dv",
                title="Dependent vars scores",
                varDescription="Dependent vars scores",
                initInRun=TRUE))
            self$add(jmvcore::Table$new(
                options=options,
                name="synexamples",
                visible="(constraints_examples)",
                title="Syntax examples",
                clearWith=NULL,
                columns=list(
                    list(
                        `name`="info", 
                        `type`="text", 
                        `title`="Aim"),
                    list(
                        `name`="example", 
                        `type`="text", 
                        `title`="Example"),
                    list(
                        `name`="com", 
                        `type`="text", 
                        `title`="Outcome"))))
            self$add(jmvcore::Table$new(
                options=options,
                name="lavaanoptions",
                visible="(lavaan_options)",
                title="Lavaan Options",
                refs=list(
                    "lavaan"),
                columns=list(
                    list(
                        `name`="opt1", 
                        `type`="text", 
                        `title`="Option"),
                    list(
                        `name`="value1", 
                        `type`="text", 
                        `title`="Value"),
                    list(
                        `name`="opt2", 
                        `type`="text", 
                        `title`="Option"),
                    list(
                        `name`="value2", 
                        `type`="text", 
                        `title`="Value"),
                    list(
                        `name`="opt3", 
                        `type`="text", 
                        `title`="Option"),
                    list(
                        `name`="value3", 
                        `type`="text", 
                        `title`="Value"))))}))

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

#' Structural Equation Models
#'
#' 
#' @param data TO ADD
#' @param .caller .
#' @param code The lavaan syntax
#' @param donotrun not present in R. Halt running for more confortable input
#' @param endogenous A list containing named lists that define the
#'   \code{label} of the latent endogenous variable(s) and the \code{vars} that
#'   belong to that latent.
#' @param exogenous A list containing named lists that define the \code{label}
#'   of the latent exogenous variables and the \code{vars} that belong to that
#'   latent.
#' @param secondorder A list containing named lists that define the
#'   \code{label} of the second order latent factors  and the \code{vars} that
#'   belong to that latent.
#' @param endogenousTerms A list of lists specifying the models for with the
#'   mediators as dependent variables.
#' @param varcov A list of lists specifying the  covariances that need to be
#'   estimated.
#' @param constraints A list of lists specifying the models random effects.
#' @param estimator The estimator to be used. Can be one of the following:
#'   "ML" for maximum likelihood, "GLS" for (normal theory) generalized least
#'   squares, "WLS" for weighted least squares (sometimes called ADF
#'   estimation), "ULS" for unweighted least squares, "DWLS" for diagonally
#'   weighted least squares, and "DLS" for distributionally-weighted least
#'   squares. These are the main options that affect the estimation. For
#'   convenience, the "ML" option can be extended as "MLM", "MLMV", "MLMVS",
#'   "MLF", and "MLR". The estimation will still be plain "ML", but now with
#'   robust standard errors and a robust (scaled) test statistic. For "MLM",
#'   "MLMV", "MLMVS", classic robust standard errors are used (se="robust.sem");
#'   for "MLF", standard errors are based on first-order derivatives
#'   (information = "first.order"); for "MLR", \code{Huber-White} robust
#'   standard errors are used (se="robust.huber.white"). In addition, "MLM" will
#'   compute a Satorra-Bentler scaled (mean adjusted) test statistic
#'   (test="satorra.bentler"), "MLMVS" will compute a mean and variance adjusted
#'   test statistic (Satterthwaite style) (test="mean.var.adjusted"), "MLMV"
#'   will compute a mean and variance adjusted test statistic (scaled and
#'   shifted) (test="scaled.shifted"), and "MLR" will compute a test statistic
#'   which is asymptotically equivalent to the Yuan-Bentler T2-star test
#'   statistic (test="yuan.bentler.mplus"). Analogously, the estimators "WLSM"
#'   and "WLSMV" imply the "DWLS" estimator (not the "WLS" estimator) with
#'   robust standard errors and a mean or mean and variance adjusted test
#'   statistic. Estimators "ULSM" and "ULSMV" imply the "ULS" estimator with
#'   robust standard errors and a mean or mean and variance adjusted test
#'   statistic.
#' @param likelihood Only relevant for ML estimation. If "wishart", the
#'   wishart likelihood approach is used. In this approach, the covariance
#'   matrix has been divided by N-1, and both standard errors and test
#'   statistics are based on N-1. If "normal", the normal likelihood approach is
#'   used. Here, the covariance matrix has been divided by N, and both standard
#'   errors and test statistics are based on N. If "default", it depends on the
#'   mimic option: if mimic="lavaan" or mimic="Mplus", normal likelihood is
#'   used; otherwise, wishart likelihood is used.
#' @param missing Handling of missing values. \code{listwise} delete rows with
#'   missing.  \code{missing=ml} for ‘full information’ maximum likelihood
#'   estimation. \code{missing=ml.x} for ‘full information’ maximum likelihood
#'   estimation  that includes also the fixed exogenous variables.
#'   \code{ml=robust.two.stage} uses a two stage appraoch whereas
#'   \code{ml=pairwise} delete case pairwise before computing the covariances
#'   between variables.
#' @param scoretest TO ADD
#' @param cumscoretest TO ADD
#' @param se Standard error method.
#' @param bootci Choose the confidence interval type ("perc" - percentiles
#'   [default], "bca.simple" - adjusted bias-corrected, "norm" - normal, "basic"
#'   - basic).
#' @param bootN The number of bootstrap samples for estimating confidence
#'   intervals.
#' @param parallel use parallel computation for bootstrap C.I
#' @param est_ci \code{TRUE} or \code{FALSE} (default), show confidence
#'   intervals for estimates
#' @param beta_ci \code{TRUE} or \code{FALSE} (default), show confidence
#'   intervals for standardized estimates
#' @param ci_width A number between 50 and 99.9 (default: 95) specifying the
#'   confidence interval width for the parameter estimates.
#' @param meanstructure If TRUE, the means of the observed variables enter the
#'   model. Required for calculating the intercepts of the estimates.
#' @param int_ov \code{TRUE} or \code{FALSE} (default), calculate intercepts
#'   for observed variables
#' @param int_lv \code{TRUE} or \code{FALSE} (default), calculate intercepts
#'   for latent variables
#' @param indirect \code{TRUE} or \code{FALSE} (default), TO ADD
#' @param std_lv If \code{fix_first} (default), the factor loading of the
#'   first indicator is set to 1.0 for every latent variable. If \code{std_res},
#'   the metric of each latent variable is determined by fixing their (residual)
#'   variances to 1.0. If there are multiple groups, "std_res" is chosen and
#'   "loadings" is included in the group.label argument, then only the latent
#'   variances i of the first group will be fixed to 1.0, while the latent
#'   variances of other groups are set free.
#' @param std_ov If TRUE, all observed variables are standardized before
#'   entering the analysis.
#' @param cov_x If \code{TRUE}, the exogenous covariates are considered fixed
#'   variables and the means, variances and covariances of these variables are
#'   fixed to their sample values. If \code{FALSE}, they are considered random,
#'   and the means, variances and covariances are free parameters. If "default",
#'   the value is set depending on the mimic option.
#' @param cov_y \code{TRUE} (default) or \code{FALSE}, TO ADD
#' @param cov_lv \code{TRUE} (default) or \code{FALSE}, is the negation of
#'   orthogonal option
#' @param cluster Not used in gui
#' @param multigroup Factor defining groups for multigroup analysis.
#' @param eq_loadings \code{TRUE} or \code{FALSE} (default), constrain the
#'   factor loadings to be equal across groups (when conducting multi-group
#'   analyses)
#' @param eq_intercepts \code{TRUE} or \code{FALSE} (default), constrain the
#'   intercepts of the observed variables to be equal across groups (when
#'   conducting multi-group analyses)
#' @param eq_residuals \code{TRUE} or \code{FALSE} (default), constrain the
#'   residual variances of the observed variables to be equal across groups
#'   (when conducting multi-group analyses)
#' @param eq_residual.covariances \code{TRUE} or \code{FALSE} (default),
#'   constrain the residual covariances of the observed variables to be equal
#'   across groups (when conducting multi-group analyses)
#' @param eq_means \code{TRUE} or \code{FALSE} (default), constrain the
#'   intercepts / means of the latent variables to be equal across groups (when
#'   conducting multi-group analyses)
#' @param eq_thresholds \code{TRUE} or \code{FALSE} (default), constrain the
#'   sample-based thresholds (means for continuous observed mvariables) to be
#'   equal across groups (when conducting multi-group analyses)
#' @param eq_regressions \code{TRUE} or \code{FALSE} (default), constrain all
#'   regression coefficients in the model to be equal across groups (when
#'   conducting multi-group analyses)
#' @param eq_lv.variances \code{TRUE} or \code{FALSE} (default), constrain the
#'   (residual) variances of the latent variables to be equal across groups
#'   (when conducting multi-group analyses)
#' @param eq_lv.covariances \code{TRUE} or \code{FALSE} (default), constrain
#'   the (residual) covariances of the latent variables to be equal across
#'   groups (when conducting multi-group analyses)
#' @param esem_terms A list of list containing blocks of factors to be
#'   factorialized toghether.
#' @param rotation Rotation methods as implemented in lavaan >0.6-13
#' @param algorithm Optional algorithm for rotation, derfaul is \code{gpa}
#' @param orthogonal \code{TRUE} or \code{FALSE} (default), whether the
#'   roation should be orthogonal
#' @param efa_std.ov \code{TRUE} or \code{FALSE} (default), whether observed
#'   variables should be standardized
#' @param geomin.epsilon Geomin epsilon, default=.001
#' @param orthomax.gamma Geomin epsilon, default=.001
#' @param oblimin.gamma Oblimin gamma, default=0
#' @param showlabels \code{TRUE} or \code{FALSE} (default), show the labels of
#'   the parameters in the model
#' @param constraints_examples \code{TRUE} or \code{FALSE} (default), show
#'   examples of the lavaan model syntax
#' @param lavaan_options \code{TRUE} or \code{FALSE} (default), show options
#'   of the lavaan model
#' @param outputAdditionalFitMeasures \code{TRUE} or \code{FALSE} (default),
#'   show additional fit measures (e.g., CFI, TLI, etc.)
#' @param reliability \code{TRUE} or \code{FALSE} (default), show additional
#'   reliability indices
#' @param r2 compute R-squared for all endogenous variables (\code{endo}) or
#'   for all variables in the model (\code{all}). \code{none} for no R-squared
#' @param htmt \code{TRUE} or \code{FALSE} (default), show
#'   Heterotrait-monotrait (HTMT) ratio of correlations  as reccomended by
#'   @henseler2015new
#' @param outputMardiasCoefficients \code{TRUE} or \code{FALSE} (default),
#'   show Mardia's coefficients for multivariate skewness and kurtosis
#' @param outputObservedCovariances \code{TRUE} or \code{FALSE} (default),
#'   show the covariances and correlations between the observed values of the
#'   (manifest) variables
#' @param outputImpliedCovariances \code{TRUE} or \code{FALSE} (default), show
#'   the covariances and correlations between the model-implied / fitted values
#'   of the (manifest) variables
#' @param outputResidualCovariances \code{TRUE} or \code{FALSE} (default),
#'   show the covariances and correlations between the residuals of the
#'   (manifest) variables.
#' @param outpuCombineCovariances \code{TRUE} or \code{FALSE} (default),
#'   combine the (up to) three covariance / correlation tables into one table
#'   (i.e., showing observed, model-implied and residual values for each
#'   variable combination underneath each other)
#' @param cov.lv \code{TRUE} or \code{FALSE} (default), model-implied latent
#'   covariances
#' @param outputModificationIndices \code{TRUE} or \code{FALSE} (default),
#'   show modification indices for if certain terms were removed from the model
#' @param miHideLow \code{TRUE} or \code{FALSE} (default), hide modification
#'   indices below a certain threshold.
#' @param miThreshold Numeric (default: 10), set a threshold the modification
#'   indices must exceed in order to be shown.
#' @param diagram \code{TRUE} or \code{FALSE} (default), produce a path
#'   diagram.
#' @param diag_resid \code{TRUE} or \code{FALSE} (default), show the residuals
#'   (for the observed variables).
#' @param diag_intercepts \code{TRUE} or \code{FALSE} (default), show the
#'   variable intercepts.
#' @param diag_paths Choose the values shown along the paths ("est" [coeffic.,
#'   default], "stand" [betas], "name" [labels], "hide" [nothing]).
#' @param diag_type Choose the layout of the path diagram ("tree" [default],
#'   "tree2", "circle", "circle2", "spring").
#' @param diag_rotate Choose the rotation of the path diagram (placement of
#'   the exog. variables; "1": top, "2": left (default), "3": bottom, "4":
#'   right).
#' @param diag_labsize Choose the node size for the variables (default:
#'   "medium").
#' @param diag_shape_man Choose the shape for the manifest variables (default:
#'   "rectangle").
#' @param diag_shape_lat Choose the shape for the latent variables (default:
#'   "circle").
#' @param diag_abbrev Choose the length (characters) of the variable name
#'   abbreviations (default: 5).
#' @return A results object containing:
#' \tabular{llllll}{
#'   \code{results$info} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$fit$main} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$fit$constraints} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$fit$indices} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$fit$modelbaseline} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$fit$moreindices} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$fit$rsquared} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$fit$icc} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$models$coefficients} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$models$loadings} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$models$composites} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$models$covariances} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$models$intercepts} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$models$thresholds} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$models$defined} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$additional$reliability} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$additional$htmt} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$additional$mardia} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$covariances$observed} \tab \tab \tab \tab \tab A covariance / correlation matrix table. \cr
#'   \code{results$covariances$implied} \tab \tab \tab \tab \tab A covariance / correlation matrix table. \cr
#'   \code{results$covariances$residual} \tab \tab \tab \tab \tab A covariance / correlation matrix table. \cr
#'   \code{results$covariances$combined} \tab \tab \tab \tab \tab A covariance / correlation matrix table. \cr
#'   \code{results$covariances$latent} \tab \tab \tab \tab \tab A covariance matrix table. \cr
#'   \code{results$modification$indices} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$pathgroup$diagrams} \tab \tab \tab \tab \tab an array of path diagrams \cr
#'   \code{results$pathgroup$notes} \tab \tab \tab \tab \tab a html \cr
#'   \code{results$preds_lv} \tab \tab \tab \tab \tab an output \cr
#'   \code{results$preds_ov} \tab \tab \tab \tab \tab an output \cr
#'   \code{results$preds_dv} \tab \tab \tab \tab \tab an output \cr
#'   \code{results$synexamples} \tab \tab \tab \tab \tab a table \cr
#'   \code{results$lavaanoptions} \tab \tab \tab \tab \tab a table \cr
#' }
#'
#' Tables can be converted to data frames with \code{asDF} or \code{\link{as.data.frame}}. For example:
#'
#' \code{results$info$asDF}
#'
#' \code{as.data.frame(results$info)}
#'
#' @export
semljgui <- function(
    data,
    .caller = "gui",
    code = "",
    donotrun,
    endogenous = list(
                list(label="Endogenous1", vars=list())),
    exogenous = list(
                list(label="Exogenous1", vars=list())),
    secondorder = list(
                list(label="Factor1", vars=list())),
    endogenousTerms = list(
                list()),
    varcov,
    constraints = list(),
    estimator = "default",
    likelihood = "default",
    missing = "listwise",
    scoretest = TRUE,
    cumscoretest = FALSE,
    se = "auto",
    bootci = "perc",
    bootN = 1000,
    parallel = FALSE,
    est_ci = TRUE,
    beta_ci = FALSE,
    ci_width = 95,
    meanstructure = TRUE,
    int_ov = TRUE,
    int_lv = FALSE,
    indirect = FALSE,
    std_lv = "fix_first",
    std_ov = FALSE,
    cov_x = FALSE,
    cov_y = TRUE,
    cov_lv = TRUE,
    cluster = "",
    multigroup = NULL,
    eq_loadings = FALSE,
    eq_intercepts = FALSE,
    eq_residuals = FALSE,
    eq_residual.covariances = FALSE,
    eq_means = FALSE,
    eq_thresholds = FALSE,
    eq_regressions = FALSE,
    eq_lv.variances = FALSE,
    eq_lv.covariances = FALSE,
    esem_terms = list(
                list()),
    rotation = "geomin",
    algorithm = "gpa",
    orthogonal = FALSE,
    efa_std.ov = TRUE,
    geomin.epsilon = 0.001,
    orthomax.gamma = 1,
    oblimin.gamma = 0,
    showlabels = FALSE,
    constraints_examples = FALSE,
    lavaan_options = FALSE,
    outputAdditionalFitMeasures = FALSE,
    reliability = FALSE,
    r2 = "none",
    htmt = FALSE,
    outputMardiasCoefficients = FALSE,
    outputObservedCovariances = FALSE,
    outputImpliedCovariances = FALSE,
    outputResidualCovariances = FALSE,
    outpuCombineCovariances = FALSE,
    cov.lv = FALSE,
    outputModificationIndices = FALSE,
    miHideLow = FALSE,
    miThreshold = 10,
    diagram = FALSE,
    diag_resid = FALSE,
    diag_intercepts = FALSE,
    diag_paths = "est",
    diag_type = "tree",
    diag_rotate = "2",
    diag_labsize = "medium",
    diag_shape_man = "rectangle",
    diag_shape_lat = "circle",
    diag_abbrev = "5") {

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

    if ( ! missing(multigroup)) multigroup <- jmvcore::resolveQuo(jmvcore::enquo(multigroup))
    if (missing(data))
        data <- jmvcore::marshalData(
            parent.frame(),
            `if`( ! missing(multigroup), multigroup, NULL))

    for (v in multigroup) if (v %in% names(data)) data[[v]] <- as.factor(data[[v]])
    if (inherits(esem_terms, "formula")) esem_terms <- jmvcore::decomposeFormula(esem_terms)

    options <- semljguiOptions$new(
        .caller = .caller,
        code = code,
        donotrun = donotrun,
        endogenous = endogenous,
        exogenous = exogenous,
        secondorder = secondorder,
        endogenousTerms = endogenousTerms,
        varcov = varcov,
        constraints = constraints,
        estimator = estimator,
        likelihood = likelihood,
        missing = missing,
        scoretest = scoretest,
        cumscoretest = cumscoretest,
        se = se,
        bootci = bootci,
        bootN = bootN,
        parallel = parallel,
        est_ci = est_ci,
        beta_ci = beta_ci,
        ci_width = ci_width,
        meanstructure = meanstructure,
        int_ov = int_ov,
        int_lv = int_lv,
        indirect = indirect,
        std_lv = std_lv,
        std_ov = std_ov,
        cov_x = cov_x,
        cov_y = cov_y,
        cov_lv = cov_lv,
        cluster = cluster,
        multigroup = multigroup,
        eq_loadings = eq_loadings,
        eq_intercepts = eq_intercepts,
        eq_residuals = eq_residuals,
        eq_residual.covariances = eq_residual.covariances,
        eq_means = eq_means,
        eq_thresholds = eq_thresholds,
        eq_regressions = eq_regressions,
        eq_lv.variances = eq_lv.variances,
        eq_lv.covariances = eq_lv.covariances,
        esem_terms = esem_terms,
        rotation = rotation,
        algorithm = algorithm,
        orthogonal = orthogonal,
        efa_std.ov = efa_std.ov,
        geomin.epsilon = geomin.epsilon,
        orthomax.gamma = orthomax.gamma,
        oblimin.gamma = oblimin.gamma,
        showlabels = showlabels,
        constraints_examples = constraints_examples,
        lavaan_options = lavaan_options,
        outputAdditionalFitMeasures = outputAdditionalFitMeasures,
        reliability = reliability,
        r2 = r2,
        htmt = htmt,
        outputMardiasCoefficients = outputMardiasCoefficients,
        outputObservedCovariances = outputObservedCovariances,
        outputImpliedCovariances = outputImpliedCovariances,
        outputResidualCovariances = outputResidualCovariances,
        outpuCombineCovariances = outpuCombineCovariances,
        cov.lv = cov.lv,
        outputModificationIndices = outputModificationIndices,
        miHideLow = miHideLow,
        miThreshold = miThreshold,
        diagram = diagram,
        diag_resid = diag_resid,
        diag_intercepts = diag_intercepts,
        diag_paths = diag_paths,
        diag_type = diag_type,
        diag_rotate = diag_rotate,
        diag_labsize = diag_labsize,
        diag_shape_man = diag_shape_man,
        diag_shape_lat = diag_shape_lat,
        diag_abbrev = diag_abbrev)

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

    analysis$run()

    analysis$results
}
semlj/semlj documentation built on June 1, 2025, 4:11 p.m.