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); }