Learn R Programming

tidySEM (version 0.1.9)

create_scales: Create scale scores from observed variables

Description

This function calculates mean or sum scores from a data.frame and a named list describing the items in each scale. It returns the scores, a scale descriptive table, and a scale correlation table. It relies on several functions from the psych package.

Usage

create_scales(
  x,
  keys.list,
  missing = TRUE,
  impute = "none",
  omega = NULL,
  digits = 2,
  ...
)

# S3 method for tidy_sem create_scales( x, keys.list, missing = TRUE, impute = "none", omega = NULL, digits = 2, ... )

Arguments

x

A data.frame containing all variables referenced in the keys.list, or an object of class tidy_sem.

keys.list

A named list, indicating which variables belong to which scale.

missing

Whether to use rows with partially missing values. Default: TRUE.

impute

Method for handling missing values, Default: 'none'. This default method uses all available data to calculate scale scores, which is acceptable for mean scales, but not for sum scales.

omega

Which of McDonald's omega coefficients to report. Default: NULL; valid options include: "omega_h", "omega.lim", "alpha", "omega.tot", "G6".

digits

Number of digits for rounding, Default: 2

...

Additional parameters to pass to and from functions.

Value

List with elements: $descriptives, $correlations, and $scores.

Details

For scales with less than 3 items, Cronbach's alpha might not be suitable as an estimate of reliability. For such scales, the Spearman-Brown reliability coefficient for two-item scales is computed, as described in Eisinga, R., Grotenhuis, M. te, & Pelzer, B. (2012). The reliability of a two-item scale: Pearson, Cronbach, or Spearman-Brown? International Journal of Public Health, 58(4), 637<U+2013>642. <doi:10.1007/s00038-012-0416-3>. These coefficients are marked with "(sb)".

Examples

Run this code
# NOT RUN {
out <- create_scales(iris, keys.list = list(scalename =
            c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width")))
out$descriptives
dict <- tidy_sem(iris, split = "\\.")
create_scales(dict)
# }

Run the code above in your browser using DataLab