# This file is automatically generated, you probably don't want to edit this
correlationalOptions <- if (requireNamespace('jmvcore')) R6::R6Class(
"correlationalOptions",
inherit = jmvcore::Options,
public = list(
initialize = function(
dep = NULL,
independents = NULL,
controls = NULL, ...) {
super$initialize(
package='Statkat',
name='correlational',
requiresData=TRUE,
...)
private$..dep <- jmvcore::OptionVariable$new(
"dep",
dep)
private$..independents <- jmvcore::OptionVariables$new(
"independents",
independents)
private$..controls <- jmvcore::OptionVariables$new(
"controls",
controls,
default=NULL)
self$.addOption(private$..dep)
self$.addOption(private$..independents)
self$.addOption(private$..controls)
}),
active = list(
dep = function() private$..dep$value,
independents = function() private$..independents$value,
controls = function() private$..controls$value),
private = list(
..dep = NA,
..independents = NA,
..controls = NA)
)
correlationalResults <- if (requireNamespace('jmvcore')) R6::R6Class(
inherit = jmvcore::Group,
active = list(
advice = function() private$.items[["advice"]],
plotsIndependents = function() private$.items[["plotsIndependents"]],
plotsControls = function() private$.items[["plotsControls"]]),
private = list(),
public=list(
initialize=function(options) {
super$initialize(
options=options,
name="",
title="Relationships, Prediction, and Group Comparisons")
self$add(jmvcore::Html$new(
options=options,
name="advice",
title="Advice",
visible="(text)"))
self$add(jmvcore::Array$new(
options=options,
name="plotsIndependents",
title="Scatter Plots of Bivariate Relationships - Dependent/Independent Variables",
items="(independents)",
template=jmvcore::Image$new(
options=options,
requiresData=TRUE,
width=400,
height=300,
renderFun=".plot")))
self$add(jmvcore::Array$new(
options=options,
name="plotsControls",
title="Scatter Plots of Bivariate Relationships - Dependent/Control Variables",
items="(controls)",
template=jmvcore::Image$new(
options=options,
requiresData=TRUE,
width=400,
height=300,
renderFun=".plot")))}))
correlationalBase <- if (requireNamespace('jmvcore')) R6::R6Class(
"correlationalBase",
inherit = jmvcore::Analysis,
public = list(
initialize = function(options, data=NULL, datasetId="", analysisId="", revision=0) {
super$initialize(
package = 'Statkat',
name = 'correlational',
version = c(1,0,0),
options = options,
results = correlationalResults$new(options=options),
data = data,
datasetId = datasetId,
analysisId = analysisId,
revision = revision,
pause = NULL,
completeWhenFilled = TRUE)
}))
#' Relationships, Prediction, and Group Comparisons
#'
#' Provides a recommended statistical method given the measurement level of
#' your data. Appropriate when the interest is in the relationship between
#' variables.
#'
#' @examples
#' exampleData <- data.frame(x1 = rnorm(20),
#' x2 = as.factor(c(rep(1, 10), rep(2, 10))),
#' x3 = as.ordered(c(rep(1, 5), rep(2, 5), rep(3, 10))),
#' x4 = rnorm(20),
#' x5 = rnorm(20))
#'
#' correlational(exampleData, dep = 'x3', independents = 'x2')
#' correlational(exampleData, dep = 'x1', independents = c('x2', 'x3'), controls = c('x4', 'x5'))
#'
#' @param data the data as a data frame, with variables encoded as numeric
#' (for interval/ratio variables), ordered (for ordinal variables), or factor
#' (for nominal variables)
#' @param dep a string naming variable 1 / the dependent variable from
#' \code{data}
#' @param independents a string or vector of strings naming variable 2 / the
#' independent variable(s) from \code{data}
#' @param controls a string or vector of strings naming the control
#' variable(s) from \code{data}
#' @return A results object containing:
#' \tabular{llllll}{
#' \code{results$advice} \tab \tab \tab \tab \tab the method recommendation \cr
#' \code{results$plotsIndependents} \tab \tab \tab \tab \tab scatter plots of the dependent variable and the independent variables \cr
#' \code{results$plotsControls} \tab \tab \tab \tab \tab scatter plots of the dependent variable and the control variables \cr
#' }
#'
#' @export
correlational <- function(
data,
dep,
independents,
controls = NULL) {
if ( ! requireNamespace('jmvcore'))
stop('correlational requires jmvcore to be installed (restart may be required)')
options <- correlationalOptions$new(
dep = dep,
independents = independents,
controls = controls)
results <- correlationalResults$new(
options = options)
analysis <- correlationalClass$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.