# 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
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.