2016-11-01 8 views
0

私は、各タイプのワインクラス(barolo、grignolino、barbera)の機能の寄与をプロットしたいと思います。 fviz_contribでは、以下のMWEに示すように、すべてのクラスに寄与します。 しかし私はクラス/グループによって個別にフィルタリングされたものを計算し/プロットすることが可能かどうか、それをどのようにプロットしているのだろうと思っていました。グループ/クラスに基づくPCAの機能の貢献

library(ggbiplot) 
library(factoextra) 

data(wine) 

wine.pca <- prcomp(wine, scale. = TRUE) 

# plot the PCA 
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1, groups = wine.class, ellipse = TRUE, circle = TRUE)) 

# plot the contributions of the features for all wine classes 
g.contr <- fviz_contrib(wine.pca, choice = "var", axes = 1:2, fill = "lightblue", color = "darkblue", top = 45) 
print(g.contr) 

答えて

0

あなたはseparatly各クラスのPCAを計算する場合:あなたの迅速な対応のための@timat

barolo.pca <- prcomp(wine[wine.class=="barolo", ], scale. = TRUE) 
grignolino.pca <- prcomp(wine[wine.class=="grignolino", ], scale. = TRUE) 
barbera.pca <- prcomp(wine[wine.class=="barbera", ], scale. = TRUE) 
# plot the contributions of the features for each wine classes 

g.contr <- fviz_contrib(barolo.pca, choice = "var", axes = 1:2, fill = "lightblue", color = "darkblue", top = 45) 
print(g.contr) 

g.contr <- fviz_contrib(grignolino.pca, choice = "var", axes = 1:2, fill = "lightblue", color = "darkblue", top = 45) 
print(g.contr) 

g.contr <- fviz_contrib(barbera.pca, choice = "var", axes = 1:2, fill = "lightblue", color = "darkblue", top = 45) 
print(g.contr) 
+0

感謝を。あなたの指示は私の最初の直感を再構成する。しかし、この方法では、それぞれが独自のPCA空間を有することになる。したがって、彼らは3つのグループすべてに基づく「元の」PCAスペースからの価値を反映していません。私の場合は特に重要です。 – raumkundschafter

+0

@sesselastronaut私はあなたが探している情報や解釈方法を理解していません。貢献の概念が「PCA空間全体」に直接リンクしていると理解しているので、私はそれを数学的にフィルタリングすることはできませんこの分布。私のために感覚を作りません – timat

+0

本当にあなたは正しいです。昨日私にそれを説明してくれた人がいました。 – raumkundschafter

関連する問題