繁体   English   中英

如何计算PCA中的质心?

[英]How to calculate centroids in PCA?

为了比较 PCA 的每个组的质心向量,我正在寻找一种方法来计算每个 PC 和组的质心。 不是特别的图形,但在 MWE 中包含了一个情节,以使其更具描述性。

library(ggbiplot)
data(wine)
wine.pca <- prcomp(wine, center = TRUE, scale. = TRUE)
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1, groups = wine.class, ellipse = TRUE, circle = TRUE))

此示例提供了一个数据框,其中包含来自 PCA 的质心坐标,然后可用于计算 PC 内质心之间的距离

library(ggbiplot)
data(wine)
wine.pca <- prcomp(wine, center = TRUE, scale. = TRUE)
df.wine.x <- as.data.frame(wine.pca$x)
df.wine.x$groups <- wine.class
pca.centroids <- aggregate(df.wine.x[,1:13], list(Type = df.wine.x$groups), mean)

例如,前两个 PC 的 barolo 和 grignolino 之间的欧几里得距离可以计算如下:

dist(rbind(pca.centroids[pca.centroids$Type == "barolo",2:3],pca.centroids[pca.centroids$Type == "grignolino",2:3]), method = "euclidean")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM