Tetrachoric Correlation Matrix
tetrachoric2.Rd
This function estimates a tetrachoric correlation matrix according to
the maximum likelihood estimation of Olsson (Olsson, 1979; method="Ol"
),
the Tucker method (Method 2 of Froemel, 1971; method="Tu"
) and
Divgi (1979, method="Di"
).
In addition, an alternative non-iterative approximation of
Bonett and Price (2005; method="Bo"
) is provided.
Arguments
- dat
A data frame of dichotomous response
- method
Computation method for calculating the tetrachoric correlation. The ML method is
method="Ol"
(which is the default), the Tucker method ismethod="Tu"
, the Divgi method ismethod="Di"
the method of Bonett and Price (2005) ismethod="Bo"
.- delta
The step parameter. It is set by default to \(2^{-7}\) which is approximately .007.
- maxit
Maximum number of iterations.
- cor.smooth
Should smoothing of the tetrachoric correlation matrix be performed to ensure positive definiteness? Choosing
cor.smooth=TRUE
, the functioncor.smooth
from the psych package is used for obtaining a positive definite tetrachoric correlation matrix.- progress
Display progress? Default is
TRUE
.
References
Bonett, D. G., & Price, R. M. (2005). Inferential methods for the tetrachoric correlation coefficient. Journal of Educational and Behavioral Statistics, 30(2), 213-225. doi:10.3102/10769986030002213
Divgi, D. R. (1979). Calculation of the tetrachoric correlation coefficient. Psychometrika, 44(2), 169-172. doi:10.1007/BF02293968
Froemel, E. C. (1971). A comparison of computer routines for the calculation of the tetrachoric correlation coefficient. Psychometrika, 36(2), 165-174. doi:10.1007/BF02291396
Olsson, U. (1979). Maximum likelihood estimation of the polychoric correlation coefficient. Psychometrika, 44(4), 443-460. doi:10.1007/BF02296207
Author
Alexander Robitzsch
The code is adapted from an R script of Cengiz Zopluoglu. See http://sites.education.miami.edu/zopluoglu/software-programs/.
See also
See also the psych::tetrachoric
function in the psych package
and the function irtoys::tet
in the irtoys package.
See polychoric2
for estimating polychoric correlations.
Examples
#############################################################################
# EXAMPLE 1: data.read
#############################################################################
data(data.read)
# tetrachoric correlation from psych package
library(psych)
t0 <- psych::tetrachoric( data.read )$rho
# Olsson method (maximum likelihood estimation)
t1 <- sirt::tetrachoric2( data.read )$rho
# Divgi method
t2 <- sirt::tetrachoric2( data.read, method="Di" )$rho
# Tucker method
t3 <- sirt::tetrachoric2( data.read, method="Tu" )$rho
# Bonett method
t4 <- sirt::tetrachoric2( data.read, method="Bo" )$rho
# maximum absolute deviation ML method
max( abs( t0 - t1 ) )
## [1] 0.008224986
# mean absolute deviation Divgi method
max( abs( t0 - t2 ) )
## [1] 0.1766688
# mean absolute deviation Tucker method
max( abs( t0 - t3 ) )
## [1] 0.1766292
# mean absolute deviation Bonett method
max( abs( t0 - t4 ) )
## [1] 0.05695522