R: Linear Approximation of a Confirmatory Factor Analysis
IRT.linearCFA
R Documentation
Linear Approximation of a Confirmatory Factor Analysis
Description
This function approximates a fitted item response model by a linear
confirmatory factor analysis. I.e., given item response functions, the
expectation E(X_i | θ_1 , … , θ_D) is
linearly approximated by a_{i1} θ _1 + … + a_{iD} θ_D.
See Vermunt and Magidson (2005) for details.
Usage
IRT.linearCFA( object , group=1)
## S3 method for class 'IRT.linearCFA'
summary(object, ...)
Arguments
object
Fitted item response model for which the IRT.expectedCounts
method is defined.
group
Group identifier which defines the selected group.
...
Further arguments to be passed.
Value
A list with following entries
loadings
Data frame with factor loadings. Mlat and
SDlat denote the model-implied item mean and standard deviation.
The values ResidVar and h2 denote residual variances
and item communality.
stand.loadings
Data frame with standardized factor loadings.
M.trait
Mean of factors
SD.trait
Standard deviations of factors
References
Vermunt, J. K., & Magidson, J. (2005). Factor Analysis with categorical
indicators: A comparison between traditional and latent class approaches.
In A. Van der Ark, M.A. Croon & K. Sijtsma (Eds.),
New Developments in Categorical Data Analysis for the Social and
Behavioral Sciences (pp. 41-62). Mahwah: Erlbaum
See Also
See tam.fa for confirmatory factor analysis in TAM.
Examples
## Not run:
library(lavaan)
#############################################################################
# EXAMPLE 1: Two-dimensional confirmatory factor analysis data.Students
#############################################################################
data(data.Students, package="CDM")
# select variables
vars <- scan(nlines=1 , what="character")
sc1 sc2 sc3 sc4 mj1 mj2 mj3 mj4
dat <- data.Students[ , vars]
# define Q-matrix
Q <- matrix( 0 , nrow=8 , ncol=2 )
Q[1:4,1] <- Q[5:8,2] <- 1
#*** Model 1: Two-dimensional 2PL model
mod1 <- tam.mml.2pl( dat , Q=Q , control=list( nodes=seq(-4,4,len=12) ) )
summary(mod1)
# linear approximation CFA
cfa1 <- IRT.linearCFA(mod1)
summary(cfa1)
# linear CFA in lavaan package
lavmodel <- "
sc =~ sc1+sc2+sc3+sc4
mj =~ mj1+mj2+mj3+mj4
sc1 ~ 1
sc ~~ mj
"
mod1b <- lavaan::sem( lavmodel , data = dat , missing="fiml" , std.lv=TRUE)
summary(mod1b , standardized=TRUE , fit.measures=TRUE )
#############################################################################
# EXAMPLE 2: Unidimensional confirmatory factor analysis data.Students
#############################################################################
data(data.Students, package="CDM")
# select variables
vars <- scan(nlines=1 , what="character")
sc1 sc2 sc3 sc4
dat <- data.Students[ , vars]
#*** Model 1: 2PL model
mod1 <- tam.mml.2pl( dat )
summary(mod1)
# linear approximation CFA
cfa1 <- IRT.linearCFA(mod1)
summary(cfa1)
# linear CFA
lavmodel <- "
sc =~ sc1+sc2+sc3+sc4
"
mod1b <- lavaan::sem( lavmodel , data = dat , missing="fiml" , std.lv=TRUE)
summary(mod1b , standardized=TRUE , fit.measures=TRUE )
## End(Not run)