Learn R Programming

misty (version 0.7.3)

item.omega: Coefficient Omega, Hierarchical Omega, and Categorical Omega

Description

This function computes point estimate and confidence interval for the coefficient omega (McDonald, 1978), hierarchical coefficient omega (Kelley & Pornprasertmanit, 2016), and categorical coefficient omega (Green & Yang, 2009) along with standardized factor loadings and omega if item deleted. By default, the function computes coefficient omega based on maximum likelihood parameter (ML) estimates using full information maximum likelihood (FIML) method in the presence of missing data.

Usage

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

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., omega for a table with coefficient omega and itemstat for a table with item statistics

Arguments

data

a data frame. Note that at least three items are needed for computing coefficient omega

...

an expression indicating the variable names in data e.g., item.omega(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 omega, 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.

type

a character string indicating the type of omega to be computed, i.e., omega (default) for coefficient omega, hierarch for hierarchical coefficient omega, and categ for categorical coefficient omega.

exclude

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

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). By default, "ULS" is used for computing (hierarchical) coefficient omega and "DWLS" is used for computing ordinal coefficient omega.

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 (hierarchical) coefficient omega and ordinal coefficient omega. Full information maximum likelihood method is available for estimating (hierarchical) coefficient omega and is requested by specifying missing = "fiml" along with estimator = "ML".

print

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

digits

an integer value indicating the number of decimal places to be used for displaying omega 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.

Author

Takuya Yanagida takuya.yanagida@univie.ac.at

Details

Coefficient omega is computed by conducting a confirmatory factor analysis based on the congeneric measurement model (Graham, 2006) using the cfa() function in the lavaan package by Yves Rosseel (2019).

Approximate confidence intervals are computed using the procedure by Feldt, Woodruff and Salih (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).

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

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

Revelle, W. (2025). psych: Procedures for psychological, psychometric, and personality research. Northwestern University, Evanston, Illinois. R package version 2.5.3, https://CRAN.R-project.org/package=psych.

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

Run this code
if (FALSE) {
dat <- data.frame(item1 = c(3, NA, 3, 4, 1, 2, 4, 2), item2 = c(5, 3, 3, 2, 2, 1, 3, 1),
                  item3 = c(4, 2, 4, 2, 1, 3, 4, 1), item4 = c(4, 1, 2, 2, 1, 3, 4, 3))

# Example 1a: Coefficient omega and item statistics, pairwise deletion
item.omega(dat)

# Example 1b: Coefficient omega and item statistics, listwise deletion
item.omega(dat, missing = "listwise")

# Example 2: Coefficient omega and item statistics after excluding item3
item.omega(dat, exclude = "item3")

# Example 3a: Coefficient omega with a residual covariance
# and item statistics
item.omega(dat, rescov = c("item1", "item2"))

# Example 3b: Coefficient omega with residual covariances
# and item statistics
item.omega(dat, rescov = list(c("item1", "item2"), c("item1", "item3")))

# Example 4: Ordinal coefficient omega and item statistics
item.omega(dat, type = "categ")

# Example 6: Summary of the CFA model used to compute coefficient omega
lavaan::summary(item.omega(dat, output = FALSE)$model.fit,
                fit.measures = TRUE, standardized = TRUE)

# Example 7a: Write Results into a text file
item.omega(dat, write = "Omega.txt")

# Example 7b: Write Results into a Excel file
item.omega(dat, write = "Omega.xlsx")
}

Run the code above in your browser using DataLab