The scaleStructure function (which was originally called scaleReliability)
computes a number of measures to assess scale reliability and internal
consistency. Note that to compute omega, the MBESS
and/or the
psych
packages need to be installed, which are suggested packages and
therefore should be installed separately (i.e. won't be installed
automatically).
scaleStructure( data = NULL, items = "all", digits = 2, ci = TRUE, interval.type = "normal-theory", conf.level = 0.95, silent = FALSE, samples = 1000, bootstrapSeed = NULL, omega.psych = TRUE, omega.psych_nfactors = 3, omega.psych_flip = TRUE, poly = TRUE, suppressSuggestedPkgsMsg = FALSE, headingLevel = 3 ) # S3 method for scaleStructure print(x, digits = x$input$digits, ...) scaleStructure_partial( x, headingLevel = x$input$headingLevel, quiet = TRUE, echoPartial = FALSE, partialFile = NULL, ... ) # S3 method for scaleStructure knit_print( x, headingLevel = x$input$headingLevel, quiet = TRUE, echoPartial = FALSE, partialFile = NULL, ... )
data | A dataframe containing the items in the scale. All variables in
this dataframe will be used if items = 'all'. If |
---|---|
items | If not 'all', this should be a character vector with the names of the variables in the dataframe that represent items in the scale. |
digits | Number of digits to use in the presentation of the results. |
ci | Whether to compute confidence intervals as well. This requires the
suggested MBESS package, which has to be installed separately. If true, the
method specified in |
interval.type | Method to use when computing confidence intervals. The
list of methods is explained in the help file for |
conf.level | The confidence of the confidence intervals. |
silent | If computing confidence intervals, the user is warned that it
may take a while, unless |
samples | The number of samples to compute for the bootstrapping of the confidence intervals. |
bootstrapSeed | The seed to use for the bootstrapping - setting this seed makes it possible to replicate the exact same intervals, which is useful for publications. |
omega.psych | Whether to also compute the interval estimate for omega
using the |
omega.psych_nfactors | The number of factor to use in the factor
analysis when computing Omega. The default in |
omega.psych_flip | Whether to let |
poly | Whether to compute ordinal measures (if the items have sufficiently few categories). |
suppressSuggestedPkgsMsg | Whether to suppress the message about the
suggested |
headingLevel | The level of the Markdown heading to provide; basically
the number of hashes (' |
x | The object to print |
... | Any additional arguments for the default print function. |
quiet | Passed on to |
echoPartial | Whether to show the executed code in the R Markdown
partial ( |
partialFile | This can be used to specify a custom partial file. The
file will have object |
An object with the input and several output variables. Most notably:
Input specified when calling the function
Intermediate values and objects computed to get to the final results
Values of reliability / internal consistency measures, with as most notable elements:
A dataframe with the most important outcomes
Point estimate for omega
Point estimate for the Greatest Lower Bound
Point estimate for Cronbach's alpha
Coefficient H
Confidence interval for omega
Confidence interval for Cronbach's alpha
If you use this function in an academic paper, please cite Peters (2014), where the function is introduced, and/or Crutzen & Peters (2015), where the function is discussed from a broader perspective.
This function is basically a wrapper for functions from the psych and MBESS
packages that compute measures of reliability and internal consistency. For
backwards compatibility, in addition to scaleStructure
,
scaleReliability
can also be used to call this function.
Crutzen, R., & Peters, G.-J. Y. (2015). Scale quality: alpha is an inadequate estimate and factor-analytic evidence is needed first of all. Health Psychology Review. doi: 10.1080/17437199.2015.1124240
Dunn, T. J., Baguley, T., & Brunsden, V. (2014). From alpha to omega: A practical solution to the pervasive problem of internal consistency estimation. British Journal of Psychology, 105(3), 399-412. doi: 10.1111/bjop.12046
Eisinga, R., Grotenhuis, M. Te, & Pelzer, B. (2013). The reliability of a two-item scale: Pearson, Cronbach, or Spearman-Brown? International Journal of Public Health, 58(4), 637-42. doi: 10.1007/s00038-012-0416-3
Gadermann, A. M., Guhn, M., Zumbo, B. D., & Columbia, B. (2012). Estimating ordinal reliability for Likert-type and ordinal item response data: A conceptual, empirical, and practical guide. Practical Assessment, Research & Evaluation, 17(3), 1-12. doi: 10.7275/n560-j767
Peters, G.-J. Y. (2014). The alpha and the omega of scale reliability and validity: why and how to abandon Cronbach's alpha and the route towards more comprehensive assessment of scale quality. European Health Psychologist, 16(2), 56-69. doi: 10.31234/osf.io/h47fv
Revelle, W., & Zinbarg, R. E. (2009). Coefficients Alpha, Beta, Omega, and the glb: Comments on Sijtsma. Psychometrika, 74(1), 145-154. doi: 10.1007/s11336-008-9102-z
Sijtsma, K. (2009). On the Use, the Misuse, and the Very Limited Usefulness of Cronbach's Alpha. Psychometrika, 74(1), 107-120. doi: 10.1007/s11336-008-9101-0
Zinbarg, R. E., Revelle, W., Yovel, I., & Li, W. (2005). Cronbach's alpha, Revelle's beta and McDonald's omega H: Their relations with each other and two alternative conceptualizations of reliability. Psychometrika, 70(1), 123-133. doi: 10.1007/s11336-003-0974-7
Gjalt-Jorn Peters and Daniel McNeish (University of North Carolina, Chapel Hill, US).
Maintainer: Gjalt-Jorn Peters gjalt-jorn@userfriendlyscience.com
if (FALSE) { ### (These examples take a lot of time, so they are not run ### during testing.) ### This will prompt the user to select an SPSS file scaleStructure(); ### Load data from simulated dataset testRetestSimData (which ### satisfies essential tau-equivalence). data(testRetestSimData); ### Select some items in the first measurement exampleData <- testRetestSimData[2:6]; ### Use all items (don't order confidence intervals to save time ### during automated testing of the example) scaleStructure(dat=exampleData, ci=FALSE); ### Use a selection of three variables (without confidence ### intervals to save time scaleStructure(dat=exampleData, items=c('t0_item2', 't0_item3', 't0_item4'), ci=FALSE); ### Make the items resemble an ordered categorical (ordinal) scale ordinalExampleData <- data.frame(apply(exampleData, 2, cut, breaks=5, ordered_result=TRUE, labels=as.character(1:5))); ### Now we also get estimates assuming the ordinal measurement level scaleStructure(ordinalExampleData, ci=FALSE); }