cfa_meas_inv.Rd
Estimates a unidimensional factor model based on the normal distribution fitting
function under full and partial measurement invariance.
Item loadings and item intercepts are successively freed based on the largest
modification index and a chosen significance level alpha
.
cfa_meas_inv(dat, group, weights=NULL, alpha=0.01, verbose=FALSE, op=c("~1","=~"))
dat | Data frame containing items |
---|---|
group | Vector of group identifiers |
weights | Optional vector of sampling weights |
alpha | Significance level |
verbose | Logical indicating whether progress should be shown |
op | Operators (intercepts or loadings) for which estimation should be freed |
List with several entries
Model parameters under full invariance
Model parameters under partial invariance
Fitted model under full invariance
Fitted model under partial invariance
More output
See also sirt::invariance.alignment
if (FALSE) { ############################################################################# # EXAMPLE 1: Factor model under full and partial invariance ############################################################################# #--- data simulation set.seed(65) G <- 3 # number of groups I <- 5 # number of items # define lambda and nu parameters lambda <- matrix(1, nrow=G, ncol=I) nu <- matrix(0, nrow=G, ncol=I) err_var <- matrix(1, nrow=G, ncol=I) # define size of noninvariance dif <- 1 #- 1st group: N(0,1) lambda[1,3] <- 1+dif*.4; nu[1,5] <- dif*.5 #- 2nd group: N(0.3,1.5) gg <- 2 ; lambda[gg,5] <- 1-.5*dif; nu[gg,1] <- -.5*dif #- 3nd group: N(.8,1.2) gg <- 3 lambda[gg,4] <- 1-.7*dif; nu[gg,2] <- -.5*dif #- define distributions of groups mu <- c(0,.3,.8) sigma <- sqrt(c(1,1.5,1.2)) N <- rep(1000,3) # sample sizes per group #* use simulation function dat <- sirt::invariance_alignment_simulate(nu, lambda, err_var, mu, sigma, N, exact=TRUE) #--- estimate CFA mod <- sirt::cfa_meas_inv(dat=dat[,-1], group=dat$group, verbose=TRUE, alpha=0.05) mod$pars_mi mod$pars_pi }