因子分析是一种多元统计分析方法,用于在多个变量中识别潜在的、不可观测的因子(或称为潜在变量)。在R中,通常使用psych
包中的fa
或principal
函数来进行因子分析。以下是一个详细的示例,包括使用主成分分析(PCA)和最大方差旋转(Varimax rotation)的因子分析。
加载必要的包和生成模拟数据
首先,我们加载psych
包并生成一些模拟数据。
# 加载psych包
library(psych)
# 设置随机数种子以便结果可复现
set.seed(123)
# 生成模拟数据
# 假设我们有5个变量,它们由2个潜在因子生成
n <- 100 # 样本数量
factor1 <- rnorm(n) # 潜在因子1
factor2 <- rnorm(n) # 潜在因子2
# 根据潜在因子生成观测变量
# 这里我们使用简单的线性组合,并添加一些噪声
var1 <- 2 * factor1 + rnorm(n)
var2 <- factor1 + factor2 + rnorm(n)
var3 <- factor2 + rnorm(n)
var4 <- 0.5 * factor1 - factor2 + rnorm(n)
var5 <- factor1 - 2 * factor2 + rnorm(n)
# 将变量组合成数据框
data <- data.frame(var1, var2, var3, var4, var5)
# 查看数据的前几行
head(data)
进行因子分析
现在我们将使用fa
函数进行因子分析,并展示如何使用不同的参数和方法。
# 使用fa函数进行因子分析,指定2个因子和最大方差旋转
# method参数设置为"ml"表示使用最大似