require(OpenMx) vars <- c( "Turnover Intention", "Job Satisfaction", "Perceived Job Alternatives", "Boundary Spanning Activities", "Job Performance", "Role Ambiguity", "Role Conflict", "Pay", "Promotability", "Age", "Gender", "Education", "Organization Tenure" ) data = sem::readMoments(file = "", diag = TRUE) 1 -.53 1 .3 -.15 1 -.16 .15 .24 1 -.23 .22 .11 .1 1 .21 -.42 .01 .06 -.11 1 .3 -.41 .03 .18 -.11 .13 1 -.13 .22 .2 .31 .26 0 .05 1 -.5 .19 .16 .09 .1 -.14 -.17 .04 1 -.04 0 -.05 .14 -.17 -.04 -.1 .35 -.15 1 .03 .03 -.1 .14 -.32 .18 .11 -.34 -.1 .07 1 .04 .04 .12 .03 .16 .07 .05 .76 .2 .23 -.23 1 -.08 .09 -.09 .14 .2 .03 .07 .11 -.23 .44 .14 -.08 1 data[upper.tri(data, diag=F)] = t(data)[upper.tri(data, diag=F)] rownames(data) <- vars colnames(data) <- vars turnover_intention=vars[1] job_satisfaction=vars[2] perceived_job_alternatives=vars[3] job_related_factors=vars[4:7] perceived_organizational_factors=vars[8:9] demographics=vars[10:11] human_capital=vars[12:13] left=vars[4:13] m.tigg <- mxModel("mtigg", manifestVars= vars, type="RAM", mxPath( from=job_related_factors, to=job_satisfaction, arrows=1, free=T, values=1, labels=c("jrf_js_1","jrf_js_2","jrf_js_3","jrf_js_4") ), mxPath( from=left, to=turnover_intention, arrows=1, free=T, values=1, labels=paste("direct_",left) ), mxPath( from=perceived_organizational_factors, to=job_satisfaction, arrows=1, values=1, free=T, labels=c("pof_js_1","pof_js_2") ), mxPath( from=perceived_organizational_factors, to=perceived_job_alternatives, arrows=1, values=1, free=T, labels=c("pof_pja_1","pof_pja_2") ), mxPath( from=demographics, to=job_satisfaction, arrows=1, values=1, free=T, labels=c("d_js_1","d_js_2") ), mxPath( from=demographics, to=perceived_job_alternatives, arrows=1, values=1, free=T, labels=c("d_pja_1","d_pja_2") ), mxPath( from=human_capital, to=perceived_job_alternatives, arrows=1, values=1, free=T, labels=c("hc_pja_1","hc_pja_2") ), mxPath( from=job_satisfaction, to=turnover_intention, arrows=1, values=-.14, free=F, labels=c("js_ti") ), mxPath( from=perceived_job_alternatives, to=turnover_intention, arrows=1, values=.44, free=F, labels=c("pja_ti") ), mxPath( from=job_satisfaction, to=turnover_intention, arrows=1, values=1, free=T, labels="js_ti" ), mxPath( from=perceived_job_alternatives, to=turnover_intention, arrows=1, values=1, free=T, labels="pja_ti" ), mxPath( from=vars, arrows=2, values=1, labels=paste("var", vars, sep="_"), free=F ), mxData( observed=data, type="cor", numObs=701 ) ) f.tigg <- mxRun(m.tigg) summary(f.tigg)