# This file is automatically generated, you probably don't want to edit this
clpmOptions <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
"clpmOptions",
inherit = jmvcore::Options,
public = list(
initialize = function(
factors = list(
list(label="X", vars=list()),
list(label="Y", vars=list())),
show_schematic_plot = TRUE,
constrain_crosslagged = FALSE,
constrain_autoregressions = FALSE,
constrain_residual_variances = FALSE,
constrain_observed_errors = FALSE,
constrain_covariances = FALSE,
estimate_observed_intercepts = TRUE,
estimate_observed_errors = FALSE,
estimate_latent_intercepts = FALSE,
show_lavaan_syntax = FALSE,
missing_data_treatment = "listwise", ...) {
super$initialize(
package="longsem",
name="clpm",
requiresData=TRUE,
...)
private$..factors <- jmvcore::OptionArray$new(
"factors",
factors,
default=list(
list(label="X", vars=list()),
list(label="Y", vars=list())),
template=jmvcore::OptionGroup$new(
"factors",
NULL,
elements=list(
jmvcore::OptionString$new(
"label",
NULL),
jmvcore::OptionVariables$new(
"vars",
NULL,
suggested=list(
"continuous"),
permitted=list(
"numeric")))))
private$..show_schematic_plot <- jmvcore::OptionBool$new(
"show_schematic_plot",
show_schematic_plot,
default=TRUE)
private$..constrain_crosslagged <- jmvcore::OptionBool$new(
"constrain_crosslagged",
constrain_crosslagged,
default=FALSE)
private$..constrain_autoregressions <- jmvcore::OptionBool$new(
"constrain_autoregressions",
constrain_autoregressions,
default=FALSE)
private$..constrain_residual_variances <- jmvcore::OptionBool$new(
"constrain_residual_variances",
constrain_residual_variances,
default=FALSE)
private$..constrain_observed_errors <- jmvcore::OptionBool$new(
"constrain_observed_errors",
constrain_observed_errors,
default=FALSE)
private$..constrain_covariances <- jmvcore::OptionBool$new(
"constrain_covariances",
constrain_covariances,
default=FALSE)
private$..estimate_observed_intercepts <- jmvcore::OptionBool$new(
"estimate_observed_intercepts",
estimate_observed_intercepts,
default=TRUE)
private$..estimate_observed_errors <- jmvcore::OptionBool$new(
"estimate_observed_errors",
estimate_observed_errors,
default=FALSE)
private$..estimate_latent_intercepts <- jmvcore::OptionBool$new(
"estimate_latent_intercepts",
estimate_latent_intercepts,
default=FALSE)
private$..show_lavaan_syntax <- jmvcore::OptionBool$new(
"show_lavaan_syntax",
show_lavaan_syntax,
default=FALSE)
private$..missing_data_treatment <- jmvcore::OptionList$new(
"missing_data_treatment",
missing_data_treatment,
options=list(
"ml",
"listwise"),
default="listwise")
self$.addOption(private$..factors)
self$.addOption(private$..show_schematic_plot)
self$.addOption(private$..constrain_crosslagged)
self$.addOption(private$..constrain_autoregressions)
self$.addOption(private$..constrain_residual_variances)
self$.addOption(private$..constrain_observed_errors)
self$.addOption(private$..constrain_covariances)
self$.addOption(private$..estimate_observed_intercepts)
self$.addOption(private$..estimate_observed_errors)
self$.addOption(private$..estimate_latent_intercepts)
self$.addOption(private$..show_lavaan_syntax)
self$.addOption(private$..missing_data_treatment)
}),
active = list(
factors = function() private$..factors$value,
show_schematic_plot = function() private$..show_schematic_plot$value,
constrain_crosslagged = function() private$..constrain_crosslagged$value,
constrain_autoregressions = function() private$..constrain_autoregressions$value,
constrain_residual_variances = function() private$..constrain_residual_variances$value,
constrain_observed_errors = function() private$..constrain_observed_errors$value,
constrain_covariances = function() private$..constrain_covariances$value,
estimate_observed_intercepts = function() private$..estimate_observed_intercepts$value,
estimate_observed_errors = function() private$..estimate_observed_errors$value,
estimate_latent_intercepts = function() private$..estimate_latent_intercepts$value,
show_lavaan_syntax = function() private$..show_lavaan_syntax$value,
missing_data_treatment = function() private$..missing_data_treatment$value),
private = list(
..factors = NA,
..show_schematic_plot = NA,
..constrain_crosslagged = NA,
..constrain_autoregressions = NA,
..constrain_residual_variances = NA,
..constrain_observed_errors = NA,
..constrain_covariances = NA,
..estimate_observed_intercepts = NA,
..estimate_observed_errors = NA,
..estimate_latent_intercepts = NA,
..show_lavaan_syntax = NA,
..missing_data_treatment = NA)
)
clpmResults <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
"clpmResults",
inherit = jmvcore::Group,
active = list(
lavaan_warnings = function() private$.items[["lavaan_warnings"]],
schematic_plot = function() private$.items[["schematic_plot"]],
text = function() private$.items[["text"]],
lavaan_syntax = function() private$.items[["lavaan_syntax"]]),
private = list(),
public=list(
initialize=function(options) {
super$initialize(
options=options,
name="",
title="Cross lagged panel model")
self$add(jmvcore::Table$new(
options=options,
name="lavaan_warnings",
title="Lavaan warnings",
rows=1,
columns=list(
list(
`name`="warning_text",
`title`="Warnings",
`type`="text",
`content`="No warnings from lavaan!"))))
self$add(jmvcore::Image$new(
options=options,
name="schematic_plot",
title="Schematic",
visible="(show_schematic_plot)",
renderFun=".plotSchematic"))
self$add(jmvcore::Preformatted$new(
options=options,
name="text",
title="Cross lagged panel model"))
self$add(jmvcore::Preformatted$new(
options=options,
name="lavaan_syntax",
title="Syntax",
visible="(show_lavaan_syntax)"))}))
clpmBase <- if (requireNamespace("jmvcore", quietly=TRUE)) R6::R6Class(
"clpmBase",
inherit = jmvcore::Analysis,
public = list(
initialize = function(options, data=NULL, datasetId="", analysisId="", revision=0) {
super$initialize(
package = "longsem",
name = "clpm",
version = c(1,0,0),
options = options,
results = clpmResults$new(options=options),
data = data,
datasetId = datasetId,
analysisId = analysisId,
revision = revision,
pause = NULL,
completeWhenFilled = FALSE,
requiresMissings = FALSE)
}))
#' Cross lagged panel model
#'
#'
#' @param data the data as a data frame
#' @param factors a list containing named lists that define the \code{label}
#' of the factor and the \code{vars} that belong to that factor
#' @param show_schematic_plot .
#' @param constrain_crosslagged .
#' @param constrain_autoregressions .
#' @param constrain_residual_variances .
#' @param constrain_observed_errors .
#' @param constrain_covariances .
#' @param estimate_observed_intercepts .
#' @param estimate_observed_errors .
#' @param estimate_latent_intercepts .
#' @param show_lavaan_syntax .
#' @param missing_data_treatment .
#' @return A results object containing:
#' \tabular{llllll}{
#' \code{results$lavaan_warnings} \tab \tab \tab \tab \tab a table \cr
#' \code{results$schematic_plot} \tab \tab \tab \tab \tab an image \cr
#' \code{results$text} \tab \tab \tab \tab \tab a preformatted \cr
#' \code{results$lavaan_syntax} \tab \tab \tab \tab \tab a preformatted \cr
#' }
#'
#' Tables can be converted to data frames with \code{asDF} or \code{\link{as.data.frame}}. For example:
#'
#' \code{results$lavaan_warnings$asDF}
#'
#' \code{as.data.frame(results$lavaan_warnings)}
#'
#' @export
clpm <- function(
data,
factors = list(
list(label="X", vars=list()),
list(label="Y", vars=list())),
show_schematic_plot = TRUE,
constrain_crosslagged = FALSE,
constrain_autoregressions = FALSE,
constrain_residual_variances = FALSE,
constrain_observed_errors = FALSE,
constrain_covariances = FALSE,
estimate_observed_intercepts = TRUE,
estimate_observed_errors = FALSE,
estimate_latent_intercepts = FALSE,
show_lavaan_syntax = FALSE,
missing_data_treatment = "listwise") {
if ( ! requireNamespace("jmvcore", quietly=TRUE))
stop("clpm requires jmvcore to be installed (restart may be required)")
if (missing(data))
data <- jmvcore::marshalData(
parent.frame())
options <- clpmOptions$new(
factors = factors,
show_schematic_plot = show_schematic_plot,
constrain_crosslagged = constrain_crosslagged,
constrain_autoregressions = constrain_autoregressions,
constrain_residual_variances = constrain_residual_variances,
constrain_observed_errors = constrain_observed_errors,
constrain_covariances = constrain_covariances,
estimate_observed_intercepts = estimate_observed_intercepts,
estimate_observed_errors = estimate_observed_errors,
estimate_latent_intercepts = estimate_latent_intercepts,
show_lavaan_syntax = show_lavaan_syntax,
missing_data_treatment = missing_data_treatment)
analysis <- clpmClass$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.