fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de données


Description

Graphique des individus/variables issues des r?sultats de l?Analyse en Composante Principale (ACP).

Les fonctions suivantes, du package factoextra, sont utilis?es:

  • fviz_pca_ind(): Graphique des individus
  • fviz_pca_var(): Graphique des variables
  • fviz_pca_biplot() (or fviz_pca()): Biplot des individus et des variables

Installer et charger factoextra

Le package devtools est requis pour l?installation de factoextra.

if(!require(devtools)) install.packages("devtools")
devtools::install_github("kassambara/factoextra")

Charger factoextra:

library("factoextra")

Utilisation

# Graphique des individus
fviz_pca_ind(X, axes = c(1, 2), geom = c("point", "text"),
       label = "all", invisible = "none", labelsize = 4,
       pointsize = 2, habillage = "none",
       addEllipses = FALSE, ellipse.level = 0.95, 
       col.ind = "black", col.ind.sup = "blue", alpha.ind = 1,
       select.ind = list(name = NULL, cos2 = NULL, contrib = NULL),
       jitter = list(what = "label", width = NULL, height = NULL),  ...)
# Graphique des variables
fviz_pca_var(X, axes = c(1, 2), geom = c("arrow", "text"),
       label = "all", invisible = "none", labelsize = 4,
       col.var = "black", alpha.var = 1, col.quanti.sup = "blue",
       col.circle = "grey70",
       select.var = list(name =NULL, cos2 = NULL, contrib = NULL),
       jitter = list(what = "label", width = NULL, height = NULL))
# Biplot des individus et des variables
fviz_pca_biplot(X, axes = c(1, 2), geom = c("point", "text"),
   label = "all", invisible = "none", labelsize = 4, pointsize = 2,
    habillage = "none", addEllipses = FALSE, ellipse.level = 0.95,
    col.ind = "black", col.ind.sup = "blue", alpha.ind = 1,
    col.var = "steelblue", alpha.var = 1, col.quanti.sup = "blue",
    col.circle = "grey70", 
    select.var = list(name = NULL, cos2 = NULL, contrib= NULL), 
    select.ind = list(name = NULL, cos2 = NULL, contrib = NULL),
    jitter = list(what = "label", width = NULL, height = NULL), ...)
# Alias fviz_pca_biplot()
fviz_pca(X, ...)

Arguments

Argument Description
X un objet de classe PCA [FactoMineR]; prcomp et princomp [stats]; dudi et pca [ade4].
axes un vecteur num?rique de longueur 2 sp?cifiant les axes ? tracer.
geom un texte sp?cifiant la g?om?trie ? utiliser pour le graphique. Les valeurs autoris?es sont la combinaison de c(?point?, ?arrow?, ?text?). Utilisez ?point? (pour afficher uniquement les points); ?text? pour afficher uniquement les ?tiquettes (texte d?annotation); c(?point?, ?text?) ou c(?arrow?, ?text?) pour montrer les deux types.
label un vecteur de caract?res sp?cifiant les ?l?ments ? ?tiqueter. La valeur par d?faut est ?all?. Les valeurs autoris?es sont ?none? ou la combinaison de c(?ind?, ?ind.sup?, ?quali?, ?var?, ?quanti.sup?). Utilisez ?ind? pour ?tiqueter uniquement les individus actifs; ?ind.sup? est pour les individus suppl?mentaires. ?var? est pour les variables actives. ?quali? est pour les variables qualitatives suppl?mentaires. ?quanti.sup? est pour les variables quantitatives suppl?mentaires.
invisible une cha?ne de caract?res sp?cifiant les ?l?ments ? masquer sur le graphique. La valeur par d?faut est ?none?. Les valeurs autoris?es sont la combinaison de c(?ind?, ?ind.sup?, ?quali?, ?var?, ?quanti.sup?).
labelsize taille de la police pour les ?tiquettes.
pointsize la taille des points.
habillage une variable cat?gorielle optionnelle de type ?factor?. La valeur par d?faut est ?none?. Si X est un objet de type PCA provenant de FactoMineR, l?argument habillage peut ?tre ?galement sp?cifi? par l?index ou le nom d?une variable qualitative suppl?mentaire. Cet argument est utilis? pour colorer les individus par des groupes (voir ?PCA dans FactoMineR).
addEllipses valeur logique. Si TRUE, ajoute des ellipses autour des individus lorsque habillage!= ?none?.
ellipse.level la taille de l?ellipse de concentration en probabilit? normale (i.e.: 0.95, 0.68, ?).
col.ind,col.var couleurs pour les individus et les variables, respectivement. Les valeurs possibles comprennent ?galement: ?cos2?, ?contrib?, ?coord?, ?x? or ?y?. Dans ce cas, les couleurs des individus/variables sont automatiquement contr?l?es par leurs qualit?s (?cos2?), leurs contributions (?contrib?), leurs coordonn?es (x^2 + y^2, ?coord?), les valeurs x (?x?) ou les valeurs y (?y?). Pour utiliser la coloration automatique (par cos2, contrib, ?.), assurez-vous que habillage = ?none?.
col.ind.sup couleur des individus suppl?mentaires.
alpha.ind,alpha.var contr?le la transparence des couleurs des individus et des variables, respectivement. La valeur peut varier de 0 (transparence totale) ? 1 (aucune transparence). La valeur par d?faut est 1. Les valeurs admises comprennent ?galement: ?cos2?, ?contrib?, ?coord?, ?x? ou ?y?, comme pour les arguments col.ind et col.var. Pour utiliser ceux-ci, assurez-vous que habillage = ?none?.
select.ind,select.var

S?lection des individus/variables ? dessiner. Les valeurs autoris?es sont NULL ou une liste contenant le nom des arguments, cos2 ou contrib. La valeur par d?faut est list(name = NULL, cos2 = NULL, contrib = NULL):

  • name: est un vecteur de caract?res contenant les noms des individus/variables ? s?lectionner
  • cos2: si cos2 est dans [0, 1], ex: 0.6, alors les individus/variables avec un cos2 > 0.6 sont s?lectionn?es. Si cos2 > 1, ex: 5, alors les top 5 individus/variables avec le plus grand cos2 sont s?lectionn?es
  • contrib: si contrib > 1, ex: 5, alors les top 5 individus/variables avec la plus grande contribution sont s?lectionn?es.
jitter un param?tre d?ajustement de la position des points et textes pour r?duire le chevauchement. C?est une liste contenant les objets what, width et height (Ex.; jitter = list(what, width, height)). what: l??l?ment ? ajuster. Les valeurs possibles sont ?point? ou ?p?; ?label? ou ?l?; ?both? ou ?b?. width: degr? d?ajustement selon l?axe des x (ex: 0.2). height: degr? d ?ajustement selon l?axe des y (ex: 0.2).
col.quanti.sup couleur ? utiliser pour les variables quantitatives suppl?mentaires.
col.circle couleur du cercle de corr?lation.
? Arguments optionnels ? passer ? la fonction fviz_pca_biplot().

Valeur

Un graphique de type ggplot2

Exemples

Analyse en composante principale

Une analyse en composantes principales (ACP) est effectu?e en utilisant la fonction int?gr?e de R prcomp() et le jeu de donn?es iris:

data(iris)
head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
# La variable Species (index = 5) est supprim?e
# avant la PCA
res.pca <- prcomp(iris[, -5],  scale = TRUE)

fviz_pca_ind(): Graphique des individus

# Graphique par d?faut
fviz_pca_ind(res.pca)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer le titre principal et celui des axes
fviz_pca_ind(res.pca) +
  labs(title ="PCA", x = "PC1", y = "PC2")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer les limites des axes en sp?cifiant le min et le max
fviz_pca_ind(res.pca) +
   xlim(-4, 4) + ylim (-4, 4)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Utiliser seulement du texte
fviz_pca_ind(res.pca, geom="text")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Utiliser uniquement des points
fviz_pca_ind(res.pca, geom="point")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer la taille des points
fviz_pca_ind(res.pca, geom="point", pointsize = 4)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer la couleur des points et le th?me
fviz_pca_ind(res.pca, col.ind = "blue")+
   theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Contr?ler automatiquement la couleurs des individus
# par les valeurs de cos2 ou de contributions
# cos2 = qualit? de r?pr?sentation sur le graphique
fviz_pca_ind(res.pca, col.ind="cos2")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Gradient de couleur
fviz_pca_ind(res.pca, col.ind="cos2") +
      scale_color_gradient2(low="white", mid="blue",
      high="red", midpoint=0.6, space = "Lab")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer le th?me et utiliser uniquement des points
fviz_pca_ind(res.pca, col.ind="cos2", geom = "point") +
      scale_color_gradient2(low="white", mid="blue",
      high="red", midpoint=0.6, space = "Lab")+ theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Colorer en fonction de la contribution
fviz_pca_ind(res.pca, col.ind="contrib") +
      scale_color_gradient2(low="white", mid="blue",
      high="red", midpoint=4, space ="Lab")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Contr?ler la transparence des couleurs
# en fonction de la contribution
fviz_pca_ind(res.pca, alpha.ind="contrib") +
     theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Colorer les individus par groupes
fviz_pca_ind(res.pca, label="none", habillage=iris$Species)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Ajouter des ellipses
p <- fviz_pca_ind(res.pca, label="none", habillage=iris$Species,
             addEllipses=TRUE, ellipse.level=0.95)
print(p)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer la couleur des groupes en utilisant
# les palettes RColorBrewer
p + scale_color_brewer(palette="Dark2") +
     theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

p + scale_color_brewer(palette="Paired") +
     theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

p + scale_color_brewer(palette="Set1") +
     theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer la couleur manuellement
p + scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9"))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# S?lectionner et visualiser les individus avec cos2 > 0.96
fviz_pca_ind(res.pca, select.ind = list(cos2 = 0.96))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# S?lectionner le top 20 selon le cos2 
fviz_pca_ind(res.pca, select.ind = list(cos2 = 20))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Selectionner le top 20 selon la contribution
fviz_pca_ind(res.pca, select.ind = list(contrib = 20))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# S?lectionner par le nom
fviz_pca_ind(res.pca,
select.ind = list(name = c("23", "42", "119")))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

fviz_pca_var(): Graphique des variables

# Graphique par d?faut
fviz_pca_var(res.pca)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Utiliser des points et textes
fviz_pca_var(res.pca, geom = c("point", "text"))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Changer la couleur et le th?me
fviz_pca_var(res.pca, col.var="steelblue")+
 theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Contr?ler la couleur selon la contribution
fviz_pca_var(res.pca, col.var="contrib")+
 scale_color_gradient2(low="white", mid="blue",
           high="red", midpoint=96, space ="Lab") +
 theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Contr?ler la transparence des variables
# selon leurs contributions
fviz_pca_var(res.pca, alpha.var="contrib") +
   theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# S?lectionner et visualiser les variables avec cos2 >= 0.96
fviz_pca_var(res.pca, select.var = list(cos2 = 0.96))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# S?lectionner le top 3 selon la contribution
fviz_pca_var(res.pca, select.var = list(contrib = 3))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# S?lectionner par noms
fviz_pca_var(res.pca,
   select.var= list(name = c("Sepal.Width", "Petal.Length")))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

fviz_pca_biplot(): Biplot des individus et variables

fviz_pca_biplot(res.pca)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Annoter uniquement les variables
fviz_pca_biplot(res.pca, label ="var")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Annoter uniquement les individus
fviz_pca_biplot(res.pca, label ="ind")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Cacher les variables
fviz_pca_biplot(res.pca, invisible ="var")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Cacher les individus
fviz_pca_biplot(res.pca, invisible ="ind")

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Contr?ler la couleur des individus selon le cos2
fviz_pca_biplot(res.pca, label ="var", col.ind="cos2") +
       theme_minimal()

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Change la couleur par groups, ajouter des ellipses
fviz_pca_biplot(res.pca, label="var", habillage=iris$Species,
               addEllipses=TRUE, ellipse.level=0.95)

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

# Top 30 des individus les plus contributifs
fviz_pca_biplot(res.pca, label="var",
               select.ind = list(contrib = 30))

fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de donn?es

Infos

Cette analyse a ?t? r?alis?e en utilisant le logiciel R (ver. 3.2.1) et factoextra (ver. 1.0.3)


Enjoyed this article? I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Twitter, Facebook or Linked In.

Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Avez vous aimé cet article? Je vous serais très reconnaissant si vous aidiez à sa diffusion en l'envoyant par courriel à un ami ou en le partageant sur Twitter, Facebook ou Linked In.

Montrez-moi un peu d'amour avec les like ci-dessous ... Merci et n'oubliez pas, s'il vous plaît, de partager et de commenter ci-dessous!





Cette page a été vue 13920 fois
Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons