R/jo.h.R

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

joOptions <- if (requireNamespace('jmvcore')) R6::R6Class(
    "joOptions",
    inherit = jmvcore::Options,
    public = list(
        initialize = function(
            x = NULL,
            samples = 1000, ...) {

            super$initialize(
                package='jjags',
                name='jo',
                requiresData=FALSE,
                ...)

            private$..x <- jmvcore::OptionVariable$new(
                "x",
                x)
            private$..samples <- jmvcore::OptionInteger$new(
                "samples",
                samples,
                default=1000)

            self$.addOption(private$..x)
            self$.addOption(private$..samples)
        }),
    active = list(
        x = function() private$..x$value,
        samples = function() private$..samples$value),
    private = list(
        ..x = NA,
        ..samples = NA)
)

joResults <- if (requireNamespace('jmvcore')) R6::R6Class(
    inherit = jmvcore::Group,
    active = list(
        mu = function() private$.items[["mu"]],
        tau = function() private$.items[["tau"]]),
    private = list(),
    public=list(
        initialize=function(options) {
            super$initialize(
                options=options,
                name="",
                title="JAGS Go")
            self$add(jmvcore::Image$new(
                options=options,
                name="mu",
                title="mu",
                renderFun=".plotMu"))
            self$add(jmvcore::Image$new(
                options=options,
                name="tau",
                title="tau",
                renderFun=".plotTau"))}))

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

#' JAGS Go
#'
#' 
#' @param x .
#' @param samples .
#' @return A results object containing:
#' \tabular{llllll}{
#'   \code{results$mu} \tab \tab \tab \tab \tab an image \cr
#'   \code{results$tau} \tab \tab \tab \tab \tab an image \cr
#' }
#'
#' @export
jo <- function(
    x,
    samples = 1000) {

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

    options <- joOptions$new(
        x = x,
        samples = samples)

    results <- joResults$new(
        options = options)

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

    analysis$run()

    analysis$results
}
jonathon-love/jjags documentation built on May 29, 2019, 5:59 p.m.