我必须使用不同葡萄酒的红外光谱在高维数据集上执行 PCA,然后将其绘制为 2D。我必须在情节上将红葡萄酒涂成红色,将白葡萄酒涂成绿松石色。
这是我想出的代码:
wine_pca <- prcomp(data[,-c(1:9)]) #eliminate columns 1-9 which contain other non-numeric information
pc <- predict(wine_pca)
pc1 <- predict(wine_pca)[,1]
pc2 <- predict(wine_pca)[,2]
#plot principal components pc1 & pc2
ggplot(pc, aes(PC1, PC2)) + theme_bw() +
geom_point(aes(shape = data$name, color = data$color), show.legend = TRUE, size = 3) +
scale_shape_manual(values = c(3, 4, 8, 21, 22, 23, 24, 25)) +
scale_color_manual(guide=FALSE, values=c("red", "turquoise")) +
theme(legend.position = 'right', legend.title = element_blank()) +
xlab("First Principal Component") +
ylab("Second Principal Component") +
ggtitle("First Two Principal Components of a Selection of Wines")
我认为它看起来和运行都很好,但我从教授那里得到的反馈是:
“你为什么要重新调整 pca 的数据?这在这种情况下没有意义(否则请解释)并导致不同的结果”
由于我是个傻瓜,我不太了解反馈 - 我在哪里扩展数据?我的方法从根本上是错误的吗?如果你们中的一个神童可以帮助一个非常绝望的女孩,我将不胜感激。谢谢!