Learn R Programming

TAM (version 1.995-0)

IRT.linearCFA: 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 | \theta_1 , \ldots , \theta_D)$ is linearly approximated by $a_{i1} \theta _1 + \ldots + a_{iD} \theta_D$. See Vermunt and Magidson (2005) for details.

Usage

IRT.linearCFA( object , group=1) "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

Run this code
## 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)

Run the code above in your browser using DataLab