14.1 R中的主成分和因子分析
R的基础安装包提供了PCA和EFA的函数,分别为princomp()
和factanal()
。本章我们将重点介绍psych
包中提供的函数。它们提供了比基础函数更丰富和有用的选项。另外,输出的结果形式也更为社会学家所熟悉,与其他统计软件如(SAS和SPSS)所提供的输出十分相似。
表14-1列出了psych
包中相关度最高的函数。在使用这些函数前请确保已安装该软件包。
表14-1 psych
包中有用的因子分析函数
函 数 | 描 述 |
---|---|
principal() | 含多种可选的方差旋转方法的主成分分析 |
fa() | 可用主轴、最小残差、加权最小平方或最大似然法估计的因子分析 |
fa.parallel() | 含平行分析的碎石图 |
factor.plot() | 绘制因子分析或主成分分析的结果 |
fa.diagram() | 绘制因子分析或主成分的载荷矩阵 |
scree() | 因子分析和主成分分析的碎石图 |
初学者常会对EFA(和自由度较少的PCA)感到困惑。因为它们提供了一系列应用广泛的方法,而且每种方法都需要一些步骤(和决策)才能获得最终结果。最常见的步骤如下。
数据预处理。PCA和EFA都根据观测变量间的相关性来推导结果。用户可以输入原始数据矩阵或者相关系数矩阵到
principal()
和fa()
函数中。若输入初始数据,相关系数矩阵将会被自动计算,在计算前请确保数据中没有缺失值。选择因子模型。判断是PCA(数据降维)还是EFA(发现潜在结构)更符合你的研究目标。如果选择EFA方法,你还需要选择一种估计因子模型的方法(如最大似然估计)。
判断要选择的主成分/因子数目。
选择主成分/因子。
旋转主成分/因子。
解释结果。
计算主成分或因子得分。
后面几节将从PCA开始,详细讨论分析的每一个步骤。本章最后,会给出一个详细的PCA/EFA分析流程图(图14-7)。结合相关材料,流程图能够进一步加深你对模型的理解。