R/example05.h.R

Defines functions Example05

Documented in Example05

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

Example05Options <- if (requireNamespace('jmvcore')) R6::R6Class(
    "Example05Options",
    inherit = jmvcore::Options,
    public = list(
        initialize = function(
            deps = NULL,
            group = NULL,
            equVar = TRUE, ...) {

            super$initialize(
                package='jamoviTemplate',
                name='Example05',
                requiresData=TRUE,
                ...)

            private$..deps <- jmvcore::OptionVariables$new(
                "deps",
                deps)
            private$..group <- jmvcore::OptionVariable$new(
                "group",
                group)
            private$..equVar <- jmvcore::OptionBool$new(
                "equVar",
                equVar,
                default=TRUE)

            self$.addOption(private$..deps)
            self$.addOption(private$..group)
            self$.addOption(private$..equVar)
        }),
    active = list(
        deps = function() private$..deps$value,
        group = function() private$..group$value,
        equVar = function() private$..equVar$value),
    private = list(
        ..deps = NA,
        ..group = NA,
        ..equVar = NA)
)

Example05Results <- if (requireNamespace('jmvcore')) R6::R6Class(
    inherit = jmvcore::Group,
    active = list(
        ttest = function() private$.items[["ttest"]]),
    private = list(),
    public=list(
        initialize=function(options) {
            super$initialize(
                options=options,
                name="",
                title="Example 5")
            self$add(jmvcore::Table$new(
                options=options,
                name="ttest",
                title="Independent Samples T-Test",
                rows="(deps)",
                columns=list(
                    list(
                        `name`="var", 
                        `title`="", 
                        `content`="($key)", 
                        `type`="text"),
                    list(
                        `name`="stat", 
                        `title`="statistic", 
                        `type`="number"),
                    list(
                        `name`="df", 
                        `title`="df", 
                        `type`="number"),
                    list(
                        `name`="p", 
                        `title`="p", 
                        `type`="number", 
                        `format`="zto,pvalue"))))}))

Example05Base <- if (requireNamespace('jmvcore')) R6::R6Class(
    "Example05Base",
    inherit = jmvcore::Analysis,
    public = list(
        initialize = function(options, data=NULL, datasetId="", analysisId="", revision=0) {
            super$initialize(
                package = 'jamoviTemplate',
                name = 'Example05',
                version = c(1,0,0),
                options = options,
                results = Example05Results$new(options=options),
                data = data,
                datasetId = datasetId,
                analysisId = analysisId,
                revision = revision,
                pause = NULL,
                completeWhenFilled = FALSE,
                requiresMissings = FALSE)
        }))

#' Example 5
#'
#' 
#' @param data .
#' @param deps .
#' @param group .
#' @param equVar .
#' @return A results object containing:
#' \tabular{llllll}{
#'   \code{results$ttest} \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$ttest$asDF}
#'
#' \code{as.data.frame(results$ttest)}
#'
#' @export
Example05 <- function(
    data,
    deps,
    group,
    equVar = TRUE) {

    if ( ! requireNamespace('jmvcore'))
        stop('Example05 requires jmvcore to be installed (restart may be required)')

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


    options <- Example05Options$new(
        deps = deps,
        group = group,
        equVar = equVar)

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

    analysis$run()

    analysis$results
}
sbalci/jamoviTemplate documentation built on Jan. 9, 2021, 10:50 a.m.