# This file is automatically generated, you probably don't want to edit this
ordinalReliabilityOptions <- if (requireNamespace('jmvcore')) R6::R6Class(
"ordinalReliabilityOptions",
inherit = jmvcore::Options,
public = list(
initialize = function(
items = NULL,
alphaTable = FALSE,
thetaTable = FALSE,
omegaTable = FALSE,
guttmanTable = FALSE,
polyTable = FALSE,
omegaPlot = NULL, ...) {
super$initialize(
package='psychoPDA',
name='ordinalReliability',
requiresData=TRUE,
...)
private$..items <- jmvcore::OptionVariables$new(
"items",
items)
private$..alphaTable <- jmvcore::OptionBool$new(
"alphaTable",
alphaTable,
default=FALSE)
private$..thetaTable <- jmvcore::OptionBool$new(
"thetaTable",
thetaTable,
default=FALSE)
private$..omegaTable <- jmvcore::OptionBool$new(
"omegaTable",
omegaTable,
default=FALSE)
private$..guttmanTable <- jmvcore::OptionBool$new(
"guttmanTable",
guttmanTable,
default=FALSE)
private$..polyTable <- jmvcore::OptionBool$new(
"polyTable",
polyTable,
default=FALSE)
private$..omegaPlot <- jmvcore::OptionBool$new(
"omegaPlot",
omegaPlot)
self$.addOption(private$..items)
self$.addOption(private$..alphaTable)
self$.addOption(private$..thetaTable)
self$.addOption(private$..omegaTable)
self$.addOption(private$..guttmanTable)
self$.addOption(private$..polyTable)
self$.addOption(private$..omegaPlot)
}),
active = list(
items = function() private$..items$value,
alphaTable = function() private$..alphaTable$value,
thetaTable = function() private$..thetaTable$value,
omegaTable = function() private$..omegaTable$value,
guttmanTable = function() private$..guttmanTable$value,
polyTable = function() private$..polyTable$value,
omegaPlot = function() private$..omegaPlot$value),
private = list(
..items = NA,
..alphaTable = NA,
..thetaTable = NA,
..omegaTable = NA,
..guttmanTable = NA,
..polyTable = NA,
..omegaPlot = NA)
)
ordinalReliabilityResults <- if (requireNamespace('jmvcore')) R6::R6Class(
inherit = jmvcore::Group,
active = list(
instructions = function() private$.items[["instructions"]],
summaryTableAlpha = function() private$.items[["summaryTableAlpha"]],
summaryTableGuttman = function() private$.items[["summaryTableGuttman"]],
summaryTableOmega = function() private$.items[["summaryTableOmega"]],
summaryTableTheta = function() private$.items[["summaryTableTheta"]],
polychoricRho = function() private$.items[["polychoricRho"]],
omegaPlot = function() private$.items[["omegaPlot"]]),
private = list(),
public=list(
initialize=function(options) {
super$initialize(
options=options,
name="",
title="Ordinal Reliability")
self$add(jmvcore::Html$new(
options=options,
name="instructions",
visible=TRUE))
self$add(jmvcore::Table$new(
options=options,
name="summaryTableAlpha",
title="Ordinal Reliability",
rows=1,
clearWith=list(
"items"),
columns=list(
list(
`name`="raw_alpha",
`title`="raw_alpha",
`type`="number"),
list(
`name`="std.alpha",
`title`="std.alpha",
`type`="number"),
list(
`name`="G6",
`title`="G6(smc)",
`type`="number"),
list(
`name`="average_r",
`title`="average_r",
`type`="number"),
list(
`name`="SN",
`title`="SN",
`type`="number"),
list(
`name`="median_r",
`title`="median_r",
`type`="number"))))
self$add(jmvcore::Table$new(
options=options,
name="summaryTableGuttman",
title="Ordinal Guttman",
visible="(guttmanTable)",
rows=1,
clearWith=list(
"items",
"groups"),
columns=list(
list(
`name`="maxSHR",
`title`="Max Split-Half (lambda 4)",
`type`="number"),
list(
`name`="guttmanL6",
`title`="Lambda 6",
`type`="number"),
list(
`name`="avgSHR",
`title`="Average Split-Half",
`type`="number"),
list(
`name`="alpha",
`title`="Alpha (lambda 3)",
`type`="number"),
list(
`name`="minSHR",
`title`="Min Split-Half (beta)",
`type`="number"))))
self$add(jmvcore::Table$new(
options=options,
name="summaryTableOmega",
title="Ordinal Omega",
visible="(omegaTable)",
rows=1,
clearWith=list(
"items",
"groups"),
columns=list(
list(
`name`="omega_h",
`title`="omega_h",
`type`="number"),
list(
`name`="omega.lim",
`title`="omega.lim",
`type`="number"),
list(
`name`="alpha",
`title`="alpha",
`type`="number"),
list(
`name`="omega.tot",
`title`="omega.tot",
`type`="number"),
list(
`name`="G6",
`title`="G6",
`type`="number"))))
self$add(jmvcore::Table$new(
options=options,
name="summaryTableTheta",
title="Ordinal Theta",
visible="(thetaTable)",
rows=1,
clearWith=list(
"items",
"groups"),
columns=list(
list(
`name`="ordinalTheta",
`title`="ordinalTheta",
`type`="number"))))
self$add(jmvcore::Preformatted$new(
options=options,
name="polychoricRho",
title="Polychoric Correlation Matrix",
visible="(polyTable)",
clearWith=list(
"items",
"groups")))
self$add(jmvcore::Array$new(
options=options,
name="omegaPlot",
title="Ordinal Omega Factor Analysis",
visible="(omegaPlot)",
items=0,
template=jmvcore::Image$new(
options=options,
width=550,
height=450,
renderFun=".plot",
clearWith=list(
"items",
"groups"))))}))
ordinalReliabilityBase <- if (requireNamespace('jmvcore')) R6::R6Class(
"ordinalReliabilityBase",
inherit = jmvcore::Analysis,
public = list(
initialize = function(options, data=NULL, datasetId="", analysisId="", revision=0) {
super$initialize(
package = 'psychoPDA',
name = 'ordinalReliability',
version = c(1,0,0),
options = options,
results = ordinalReliabilityResults$new(options=options),
data = data,
datasetId = datasetId,
analysisId = analysisId,
revision = revision,
pause = NULL,
completeWhenFilled = FALSE,
requiresMissings = FALSE)
}))
#' Ordinal Reliability
#'
#'
#' @param data .
#' @param items .
#' @param alphaTable .
#' @param thetaTable .
#' @param omegaTable .
#' @param guttmanTable .
#' @param polyTable .
#' @param omegaPlot .
#' @return A results object containing:
#' \tabular{llllll}{
#' \code{results$instructions} \tab \tab \tab \tab \tab a html \cr
#' \code{results$summaryTableAlpha} \tab \tab \tab \tab \tab a table \cr
#' \code{results$summaryTableGuttman} \tab \tab \tab \tab \tab a table \cr
#' \code{results$summaryTableOmega} \tab \tab \tab \tab \tab a table \cr
#' \code{results$summaryTableTheta} \tab \tab \tab \tab \tab a table \cr
#' \code{results$polychoricRho} \tab \tab \tab \tab \tab a preformatted \cr
#' \code{results$omegaPlot} \tab \tab \tab \tab \tab an array of images \cr
#' }
#'
#' Tables can be converted to data frames with \code{asDF} or \code{\link{as.data.frame}}. For example:
#'
#' \code{results$summaryTableAlpha$asDF}
#'
#' \code{as.data.frame(results$summaryTableAlpha)}
#'
#' @export
ordinalReliability <- function(
data,
items,
alphaTable = FALSE,
thetaTable = FALSE,
omegaTable = FALSE,
guttmanTable = FALSE,
polyTable = FALSE,
omegaPlot) {
if ( ! requireNamespace('jmvcore'))
stop('ordinalReliability requires jmvcore to be installed (restart may be required)')
if ( ! missing(items)) items <- jmvcore::resolveQuo(jmvcore::enquo(items))
if (missing(data))
data <- jmvcore::marshalData(
parent.frame(),
`if`( ! missing(items), items, NULL))
options <- ordinalReliabilityOptions$new(
items = items,
alphaTable = alphaTable,
thetaTable = thetaTable,
omegaTable = omegaTable,
guttmanTable = guttmanTable,
polyTable = polyTable,
omegaPlot = omegaPlot)
analysis <- ordinalReliabilityClass$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.