cfa是验证性因子分析的缩写,常常用于检验问卷的效度.流行于经管社科类学科,常见的可以实现该功能的商业软件有IBM旗下SPSS软件的AMOS模块、Mplus、LISREL等.这些软件简单易用菜单化操作同时作为收费软件价格昂贵。
通过R语言相关包同样可以实现功能,而且不必安装过100M的软件占用电脑内存。免费、开源、功能强大。也可以通过编程实现自己的想法提高科研效率。
使用哪种软件内在并无显著差异,原始数据分析通常会二次加工汇总成相应的表格。同时商业软件对输出结果负责,开源软件则是自己对自己负责
R语言中用于cfa的包,目前最为活跃是lavaan包。
安装
install.package('lavaan')
library(lavaan)
结果显示版本号,安装成功
The model syntax
The model syntax 用于描述要被估计的模型信息。
模型的语法结构非常简单,如果熟悉AMOS等商业软件。可以发现模型语法就是把原来用鼠标点点点来表达逻辑转化为用文字表达逻辑。只要有一丢丢基础便可以掌握lavaan包的基本用法
主要有四种格式:
formula type | operator | mnemonic |
---|---|---|
latent vatiable definition | =~ | is measured by |
regression | ~ | is regressed on |
(residual)(co)variance | ~~ | is correlated with(方差左右变量相同,协方差不同) |
intercept | ~1 | intercept(截距) |
示例:
myModel <- '
# regressions
y1 + y2 ~ f1 + f2 + x1 + x2
f1 ~ f2 + f3
f2 ~ f3 + x1 + x2
# latent variable definition
f1 =~ y1 + y2 + y3