我们将使用葡萄酒数据集进行主成分分析
数据包含177个样本和13个变量的数据框;vintages包含类标签。这些数据是对生长在意大利同一地区但来自三个不同栽培品种的葡萄酒进行化学分析的结果:内比奥罗、巴贝拉和格里格诺葡萄。来自内比奥罗葡萄的葡萄酒被称为巴罗洛。
这些数据包含在三种类型的葡萄酒中各自发现的几种成分的数量。
# 看一下数据
head(no)
输出
对数转换和标准化,将所有变量设置在同一尺度上。
# 对数转换
no_log <- log(no)
# 标准化
log\_scale <- scale(no\_log)
head(log_scale)
使用奇异值分解算法进行主成分分析
prcomp(log_scale, center=FALSE)
summary(PCA)
带有基础图形的主成分得分和载荷图
plot(scores\[,1:2\], # x和y数据
pch=21, # 点形状
cex=1.5, # 点的大小
legend("topright", # legend的位置
legend=levels(vint), # 图例显示
plot(loadings\[,1:2\], # x和y数据
pch=21, # 点的形状
text(loadings\[,1:2\], # 设置标签的位置
此外,我们还可以在分数图中的组别上添加95%的置信度椭圆。