R的功能很强大,各种包很多。但就是因为包太多,造成了很大的麻烦。不可避免的,可以做结构方程模型的包也不少,例如:sem、psych、OpenMx,lavaan等。我选择了lavaan包。原因:语法简介易懂,上手快,支持非正态、连续数据,可以处理缺失值。
lavaan包是由比利时根特大学的Yves Rosseel开发的。lavaan的命名来自于 latent variable analysis,由每个单词的前两个字母组成,la-va-an——lavaan。
为什么说它简单呢? 主要是因为它的lavaan model syntax,如果你会R的回归分析,那它对你来说再简单不过了。
一、语法简介
语法一:f3~f1+f2(路径模型)
结构方程模型的路径部分可以看作是一个回归方程。而在R中,回归方程可以表示为y~ax1+bx2+c,“~”的左边的因变量,右边是自变量,“+”把多个自变量组合在一起。那么把y看作是内生潜变量,把x看作是外生潜变量,略去截距,就构成了lavaan model syntax的语法一。
语法二:f1 =~ item1 + item2 + item3(测量模型)
"=~"的左边是潜变量,右边是观测变量,整句理解为潜变量f1由观测变量item1、item2和item3表现。
语法三:item1 ~~ item1 , item1 ~~ item2
"~~"的两边相同,表示该变量的方差,不同的话表示两者的协方差
语法四: