R语言 进行因子分析 – factanal()函数
因子分析 也被称为 探索性因子分析 ,是R编程中用来识别不活跃的关系结构的一种统计技术,并进一步将变量池缩小到少数变量。使用这种技术的主要动机是为了找出哪个因素对权重分类的影响最大。
语法: factanal(x, factors)
参数:
x: 代表数据集
factor: 指定要拟合的因子数量。
例子:
让我们假设,在数据集中有许多食物,它们的食物纹理数据点,如油、密度、脆性、断裂和硬度。
# Reading csv file of food textures
food_textures <- read.csv("https://userpage.fu-berlin.de/soga/300/30100_data_sets/food-texture.csv")
food_textures <- food_textures[, 2:6]
factor_analysis <- factanal(food_textures, factors = 2)
print(factor_analysis)
# Output to be present as PNG file
png(file = "factorAnalysisGFG.png")
# Plot factor 1 by factor 2
load <- factor_analysis$loadings[, 1:2]
# Plot graph
plot(load, type = "n")
text(load, labels = names(food_textures), cex = .9)
# Saving the file
dev.off()
输出
Call:
factanal(x = food_textures, factors = 2)
Uniquenesses:
Oil Density Crispy Fracture Hardness
0.334 0.156 0.042 0.256 0.407
Loadings:
Factor1 Factor2
Oil -0.816
Density 0.919
Crispy -0.745 0.635
Fracture 0.645 -0.573
Hardness 0.764
Factor1 Factor2
SS loadings 2.490 1.316
Proportion Var 0.498 0.263
Cumulative Var 0.498 0.761
Test of the hypothesis that 2 factors are sufficient.
The chi-square statistic is 0.27 on 1 degree of freedom.
The p-value is 0.603