item.alpha: Coefficient Alpha, Hierarchical Alpha, and Ordinal Alpha

View source: R/item.alpha.R

item.alphaR Documentation

Coefficient Alpha, Hierarchical Alpha, and Ordinal Alpha

Description

This function computes point estimate and confidence interval for the coefficient alpha (aka Cronbach's alpha) and ordinal coefficient alpha (aka categorical alpha) along with corrected item-total correlations or standardized factor loadings and coefficient alphas if the item is deleted. By default, the function computes the formula-based coefficient alpha using pairwise deletion in the presence of missing data.

Usage

item.alpha(data, ..., rescov = NULL, ordered = FALSE, exclude = NULL,
           correct = TRUE, std = FALSE,
           estimator = c("ML", "GLS", "WLS", "DWLS", "ULS", "PML"),
           missing = c("listwise", "pairwise", "fiml"),
           print = c("all", "alpha", "item"), digits = 2, r.digits = 3,
           conf.level = 0.95, as.na = NULL, write = NULL, append = TRUE,
           check = TRUE, output = TRUE)

Arguments

data

a data frame. Note that at least two items are needed for computing coefficient alpha

...

an expression indicating the variable names in data e.g., item.alpha(dat, x1, x2, x3). Note that the operators +, -, ~, :, ::, and ! can also be used to select variables, see 'Details' in the df.subset function.

rescov

a character vector or a list of character vectors for specifying residual covariances when computing coefficient alpha, e.g. rescov = c("x1", "x2") for specifying a residual covariance between items x1 and x2 or rescov = list(c("x1", "x2"), c("x3", "x4")) for specifying residual covariances between items x1 and x2, and items x3 and x4.

ordered

logical: if TRUE, variables are treated as ordered (ordinal) variables to compute ordinal coefficient alpha.

exclude

a character vector indicating items to be excluded from the analysis.

correct

logical: if TRUE (default), the corrected item-total correlation is computed.

std

logical: if TRUE, the standardized coefficient omega is computed.

estimator

a character string indicating the estimator to be used (see 'Details' in the item.cfa function) when specifying residual covariances using the rescov argument or when using full information maximum likelihood method for missing data handling, i.e., missing = "fiml". By default, "ULS" is used for computing coefficient alpha in the presence of residual covariances. Note that the argument estimator switches to "ML" when specifying missing = "fiml".

missing

a character string indicating how to deal with missing data. (see 'Details' in the item.cfa function). By default, pairwise deletion (missing = "pairwise") is used for computing coefficient alpha and ordinal coefficient alpha. Full information maximum likelihood (FIML) method is available for estimating coefficient alpha and is requested by specifying missing = "fiml" along with estimator = "ML". Note that FIML method is not available for computing ordinal coefficient alpha.

print

a character vector indicating which results to show, i.e. "all" for all results "alpha" (default) for the coefficient alpha, and "item" for item statistics.

digits

an integer value indicating the number of decimal places to be used for displaying mean, standard deviation, minimum, and maximum.

r.digits

an integer value indicating the number of decimal places to be used for displaying alpha and standardized factor loadings.

conf.level

a numeric value between 0 and 1 indicating the confidence level of the interval.

as.na

a numeric vector indicating user-defined missing values, i.e. these values are converted to NA before conducting the analysis.

write

a character string naming a file for writing the output into either a text file with file extension ".txt" (e.g., "Output.txt") or Excel file with file extension ".xlsx" (e.g., "Output.xlsx"). If the file name does not contain any file extension, an Excel file will be written.

append

logical: if TRUE (default), output will be appended to an existing text file with extension .txt specified in write, if FALSE existing text file will be overwritten.

check

logical: if TRUE (default), argument specification is checked.

output

logical: if TRUE (default), output is shown.

Details

Coefficient Alpha

This function computes the coefficient alpha using either a formula-based method or a confirmatory factor analysis (CFA). The latter conducts a CFA based on the essentially tau-equivalent measurement model (Graham, 2006) using the cfa() function in the lavaan package by Yves Rosseel (2019). By default, the function employs the formula-based method and uses listwise deletion to handle missing values. The function switches to the CFA-based method when residual covariances are specified using the rescov argument, when full information maximum likelihood (FIML) method is requested for missing data handling by specifying missing = "fiml", or when the estimator argument is set to any other estimation method other than the default estimator ULS.

Ordinal Coefficient Alpha

The ordinal coefficient alpha (Zumbo et al., 2007) is calculated by applying the formula for coefficient alpha to the polychoric correlation matrix, rather than to the the variance-covariance or product-moment correlation matrix. The ordinal coefficient alpha should be interpreted only as a hypothetical estimate of an alternative reliability, where a test's ordinal categorical response options have been modified to include an infinite number of response options and concludes that coefficient alpha should not be reported as a measure of a test's reliability. However, Zumbo and Kroc (2019) argued that Chalmers' critique of ordinal coefficient alpha is unfounded, and that ordinal coefficient alpha may be the most appropriate quantifier of reliability when using Likert-type measurement to study a latent continuous random variable.

Confidence Interval

The confidence interval for the (ordinal) coefficient alpha is computed using the procedure by Feldt et al. (1987). Note that there are at least 10 other procedures for computing the confidence interval (see Kelley and Pornprasertmanit, 2016), which are implemented in the ci.reliability() function in the MBESSS package by Ken Kelley (2019).

Value

Returns an object of class misty.object, which is a list with following entries:

call

function call

type

type of analysis

data

data frame used for the current analysis

args

specification of function arguments

model.fit

fitted lavaan object (mod.fit)

result

list with result tables, i.e., alpha for a table with coefficient alpha and itemstat for a table with item statistics

Note

Computation of the polyserial correlation coefficient is based on the polyserial() function in the polycor package by John Fox (2025)

Author(s)

Takuya Yanagida takuya.yanagida@univie.ac.at

References

Chalmers, R. P. (2018). On misconceptions and the limited usefulness of ordinal alpha. Educational and Psychological Measurement, 78, 1056-1071. https://doi.org/10.1177/0013164417727036

Cronbach, L.J. (1951). Coefficient alpha and the internal structure of tests. Psychometrika, 16, 297-334. https://doi.org/10.1007/BF02310555

Cronbach, L.J. (2004). My current thoughts on coefficient alpha and successor procedures. Educational and Psychological Measurement, 64, 391-418. https://doi.org/10.1177/0013164404266386

Feldt, L. S., Woodruff, D. J., & Salih, F. A. (1987). Statistical inference for coefficient alpha. Applied Psychological Measurement, 11 93-103. https://doi.org/10.1177/014662168701100107

Fox, J. (2025). polycor: Polychoric and polyserial correlations. R package version 0.8-2. https://doi.org/10.32614/CRAN.package.polycor

Graham, J. M. (2006). Congeneric and (essentially) tau-equivalent estimates of score reliability: What they are and how to use them. Educational and Psychological Measurement, 66(6), 930–944. https://doi.org/10.1177/0013164406288165

Kelley, K., & Pornprasertmanit, S. (2016). Confidence intervals for population reliability coefficients: Evaluation of methods, recommendations, and software for composite measures. Psychological Methods, 21, 69-92. https://doi.org/10.1037/a0040086.

Ken Kelley (2019). MBESS: The MBESS R Package. R package version 4.6.0. https://CRAN.R-project.org/package=MBESS

Zumbo, B. D., & Kroc, E. (2019). A measurement is a choice and Stevens' scales of measurement do not help make it: A response to Chalmers. Educational and Psychological Measurement, 79, 1184-1197. https://doi.org/10.1177/0013164419844305

Zumbo, B. D., Gadermann, A. M., & Zeisser, C. (2007). Ordinal versions of coefficients alpha and theta for Likert rating scales. Journal of Modern Applied Statistical Methods, 6, 21-29. https://doi.org/10.22237/jmasm/1177992180

See Also

item.omega, item.cfa, item.invar, item.reverse, item.scores, write.result

Examples

## Not run: 

# Load data set "HolzingerSwineford1939" in the lavaan package
data("HolzingerSwineford1939", package = "lavaan")

#————————————————————————————————————————————————————————————————————————————
# Continuous Data

# Example 1a: Coefficient alpha, listwise deletion
item.alpha(HolzingerSwineford1939, x1::x9)

# Example 1b: Full information maximum likelihood method
item.alpha(HolzingerSwineford1939, x1::x9, estimator = "ML", missing = "fiml")

# Example 2: Coefficient alpha and item statistics after excluding 'x3'
item.alpha(HolzingerSwineford1939, x1::x9, exclude = "x3", print = "all")

# Example 3a: Residual covariance between 'x1' and 'x2'
item.alpha(HolzingerSwineford1939, x1::x9, rescov = c("x1", "x2"))

# Example 3b: Residual covariances between 'x1' and 'x2', and 'x2' and 'x3'
item.alpha(HolzingerSwineford1939, x1::x9, rescov = list(c("x1", "x2"), c("x2", "x3")))

# Example 4: Summary of the CFA model used to compute coefficient alpha
lavaan::summary(item.alpha(HolzingerSwineford1939, x1::x9, output = FALSE)$model.fit,
                standardized = TRUE)

#————————————————————————————————————————————————————————————————————————————
# Polytomous Data

# Example 5: Ordinal coefficient alpha and item statistics
item.alpha(data.items, pitem1, pitem2r, pitem3r, pitem4::pitem6, type = "categ",
           print = "all")

#————————————————————————————————————————————————————————————————————————————
# Write Results

# Example 6a: Write Results into a text file
item.alpha(HolzingerSwineford1939, x1::x9, print = "all", write = "Alpha.txt")

# Example 6b: Write Results into an Excel file
item.alpha(HolzingerSwineford1939, x1::x9, print = "all", write = "Alpha.xlsx")

## End(Not run)

misty documentation built on Aug. 2, 2026, 9:06 a.m.

Related to item.alpha in misty...