简而言之,MplusAutomation工作流程是:
1) 运用正则表达式生成一系列*.inp文件;
2) 调用Mplus主程序逐个运行得到*.out文件;
3) 最后通过调用相应函数获得各部分结果汇总。
第1个步骤包含了绝大多数工作,但所需的仅是:
Mplus语法+控制结构知识+文本编辑器
MplusAutomation基于模板文件(*.txt)生成我们所需的*.inp文件,我们只需对模板文件进行操作。
原理:
在Mplus常规语句中,加入iterators(迭代器),通过不断循环更换iterators的实际值,生成一系列相关(相继)的*.inp文件,从而提高不同Mplus代码之间的一致性和连贯性,以便批量操作,提高效率。
结构:
模板包括两大部分
——init section:定义iterators,命名*.inp文件并定义存储地址;
——body section:嵌入iterators标签的Mplus语句;
其中,
1) init section部分以“[[init]]”和“[[/init]]”作为起讫符号;
2) 两部分中的“[[iterators]]”相当于标签,只有在运行时会被iterators的实际值替代。
示例:
1-16行为init section:
2行定义所有iterators;
3-5行说明iterators取值范围(必定为数值);
6-13行定义列表型标签,以iterators为索引;
14-15行命名*.inp文件并定义存储路径;
18-34行为body section,其中的标签从init section定义的范围中取值。
完成模板文件并保存,在R环境载入MplusAutomation包,调用createModels(),得到所有*.inp文件;调用runModels()获得对应*.out文件。
更多详细资料及复杂功能,参考:
https://github.com/michaelhallquist/MplusAutomation
Hallquist, M. N., & Wiley, J. F. (2018).Mplusautomation: an r package for facilitating large-scale latent variableanalyses in mplus.Structural Equation Modeling A MultidisciplinaryJournal(1), 1-18.
领取专属 10元无门槛券
私享最新 技术干货