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)。结合相关材料,流程图能够进一步加深你对模型的理解。