介绍:主成分分析是一种降维技术。将数据集中的高维变量线性映射到低维空间中,把多个指标转化为少数几个综合指标,并保留数据集中的绝大部分信息(方差最大,同时保证各个主成分之间不相关)
步骤:①对数据集标准化处理
②计算样本协方差阵
③计算协方差阵的特征值和对应特征向量
④根据方差的累计贡献度选取最优主成分个数
⑤计算主成分得分
所用函数:principal(r,nfactors,rotate,scores)
r为数据矩阵或相关系数阵
nfactors为主成分个数(默认为1)
rotate指定旋转的方法,默认为方差最大旋转(varimax)
scores指定是否需要输出主成分得分,默认为False
代码示例:
df <- iris[c(1:4)]
#先提取所有主成分
pca1 <- principal(df,nfactors = 4,rotate = 'varimax',scores = T)
#查看各个主成分的累计贡献率
pca1$loadings
#前三个主成分的累计贡献率达到了99.4%,因此选取3个主成分
pca2 <- principal(df,nfactors=3,rotate = 'varimax',scores = T)
#计算主成分得分
pca2$scores