2016-03-24 19 views
0

PCAの各グループの重心ベクトルを比較するには、各PCとグループの重心を計算する方法を探しています。特にグラフィカルなものではなく、MWEのプロットを含んでいます。PCAのセントロイドの計算方法は?

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)) 
+0

チェック '' betadisper –

+0

これは、上記例に適用: '...重心までの平均距離:barolo 2.163(平均値)セントロイドまでの平均距離:2.163 grignolino 2.954 barbera 2.396 ... ' 重心までの平均距離ですが、目的は各PC内の重心の距離を取得することです。 PC 3と4によって: 'plot(mod、axes = c(4,3))' – raumkundschafter

答えて

0

この例では、次に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) 

内ためバローロとgrignolino間のユークリッド距離を重心間の距離を計算するために使用することができるPCAからの重心の座標を持つデータフレームを提供次のように最初の2枚のPCのための例では、計算することができる:{ビーガン}で

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