fviz_ca: Visualisation de l'Analyse Factorielle des Correspondances simples avec factoextra - Logiciel R et analyse de données


Description

Graphique des variables colonnes/lignes issues des résultats de l’Analyse Factorielle des Correspondence simple (AFC).

Les fonctions suivantes, du package factoextra, sont utilisée:

  • fviz_ca_row(): Graphique des variables lignes
  • fviz_ca_col(): Graphique des variables colonnes
  • fviz_ca_biplot(): Biplot des variables lignes et colonnes
  • fviz_ca(): Alias de fviz_ca_biplot()

Ces fonctions sont disponibles dans le package factoextra.

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 variables lignes
fviz_ca_row(X, axes = c(1, 2), shape.row = 19,
  geom = c("point", "text"), label = "all", 
  invisible = "none", labelsize = 4, pointsize = 2,
  col.row = "blue", col.row.sup = "darkblue", alpha.row = 1,
  select.row = list(name = NULL, cos2 = NULL, contrib = NULL),
  map = "symmetric",
  jitter = list(what = "label", width = NULL, height = NULL), ...)
# Graphique des variables colonnes
fviz_ca_col(X, axes = c(1, 2), shape.col = 17,
  geom = c("point", "text"), label = "all",
  invisible = "none", labelsize = 4, pointsize = 2,
  col.col = "red", col.col.sup = "darkred", alpha.col = 1,
  select.col = list(name = NULL, cos2 = NULL, contrib = NULL),
  map = "symmetric",
 jitter = list(what = "label", width = NULL, height = NULL), ...)
# Biplot des variables lignes et colonnes
fviz_ca_biplot(X, axes = c(1, 2), shape.row = 19, shape.col = 17,
  geom = c("point", "text"), label = "all", invisible = "none",
  labelsize = 4, pointsize = 2, col.col = "red",
  col.col.sup = "darkred", alpha.col = 1, col.row = "blue",
  col.row.sup = "darkblue", alpha.row = 1,
  select.col = list(name = NULL, cos2 = NULL, contrib = NULL),
  select.row = list(name = NULL, cos2 = NULL, contrib = NULL),
  map = "symmetric", arrows = c(FALSE, FALSE),
  jitter = list(what = "label", width = NULL, height = NULL), ...)
# Alias de fviz_ca_biplot()
fviz_ca(X, ...)

Arguments

Argument Description
X Un objet de classe CA [FactoMineR], ca [ca], coa [ade4]; correspondence [MASS].
axes un vecteur numérique de longueur 2 spécifiant les axes à tracer.
shape.row,shape.col les types de points à utiliser pour les variables lignes/colonnes. Les valeurs par défaut sont 19 pour les lignes et 17 pour les colonnes.
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(“row”, “row.sup”, “col”, “col.sup”). Utilisez “col” pour étiqueter uniquement les variables colonnes actives; “col.sup” pour étiqueter uniquement les variables colonnes supplémentaires; etc.
invisible une chaîne de caractère 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(“row”, “row.sup”, “col”, col.sup“).
labelsize taille de la police pour les étiquettes.
pointsize la taille des points.
map chaîne de caractères spécifiant le type de graphique. Les options autorisées incluent: “rowprincipal” “symetric”, “colprincipal”, “symbiplot”, “rowgab”, “colgab”, “rowgreen” et “colgreen”. Voir la section détails
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’élement à 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.col,col.row couleurs pour les variables colonnes/lignes. Les valeurs par défaut sont “rouge” et “bleu”, respectivement. Les valeurs autorisées comprennent également: “cos2”, “contrib”, “coord”, “x” ou “y”. Dans ce cas, les couleurs pour les variables colonnes/lignes 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”).
col.col.sup,col.row.sup couleurs pour les variables colonnes et lignes supplémentaires, respectivement.
alpha.col,alpha.row contrôle la transparence de couleurs. 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.col et col.row.
select.col,select.row

une sélection de variables colonnes/lignes. 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 variables à sélectionner
  • cos2: si cos2 est dans [0, 1], ex: 0.6, alors les variables avec un cos2 > 0.6 sont sélectionnées. Si cos2 > 1, ex: 5, alors les top 5 variables avec le plus grand cos2 sont sélectionnées
  • contrib: si contrib > 1, ex: 5, alors les top 5 variables avec la plus grande contribution sont sélectionnées.
arrows Vecteur logique de longueurs deux, précisant si le graphique doit contenir des points (FALSE, par défaut) ou flèches (TRUE). La première valeur s’applique aux variables lignes et la deuxième valeur s’applique aux variables colonnes.
Les arguments optionnels

Details

Le graphique par défaut de l’AFC (analyse factorielle des correspondances simples) est un graphique “symétrique”, dans lequel les lignes et les colonnes sont représentées en coordonnées principales. Dans cette situation, il est impossible d’interpréter la distance entre les points lignes et les points colonnes. Pour surmonter ce problème, le plus simple est de faire un graphique asymétrique. Cela signifie que, les profils colonnes doivent être représentées dans l’espace des lignes ou vice-versa. Les options autorisées pour l’argument map sont:

  • “rowprincipal” or “colprincipal”: graphique asymétriques avec soit des lignes en coordonnées principales et les colonnes en coordonnées standards, ou vice versa. Ces graphiques conservent respectivement la métrique des lignes ou celle des colonnes.

  • “symbiplot”: Les lignes et les colonnes sont transformées afin d’avoir des variances égales aux valeurs singulières (racines carrés des valeurs propres), ce qui donne un biplot symétrique mais ne préserve pas les métriques des lignes ou des colonnes.

  • “rowgab” ou “colgab”: graphiques asymétriques, proposées par Gabriel & Odoroff (1990), avec des lignes (respectivement colonnes) en coordonnées principales et colonnes (respectivement lignes) en coordonnées standards multiplié par la masse du point correspondant.

  • “rowgreen” ou “colgreen”: graphiques appelés aussi “biplots de contribution”, montrant visuellement les points les plus contributifs (Greenacre 2006b). Ils sont semblables à “rowgab” et “colgab”, sauf que les points en coordonnées standard sont multipliés par la racine carrée des masses correspondantes, donnant les reconstructions des résidus standardisés.

Valeur

Un graphique de type ggplot2

Exemples

Analyse factorielle des correspondences

L’Analyse des correspondences (AFC) est réalisée en utilisant la fonction CA() [dans FactoMineR] et le jeu de données housetasks [dans factoextra]:

library("FactoMineR")
data(housetasks)
head(housetasks)
           Wife Alternating Husband Jointly
Laundry     156          14       2       4
Main_meal   124          20       5       4
Dinner       77          11       7      13
Breakfeast   82          36      15       7
Tidying      53          11       1      57
Dishes       32          24       4      53
res.ca <- CA(housetasks, graph=FALSE)

fviz_ca_row(): Graphique des variables lignes

# Graphique par défaut
fviz_ca_row(res.ca)

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Changer le titre principal et celui des axes
fviz_ca_row(res.ca) +
 labs(title = "CA", x = "Dim.1", y ="Dim.2" )

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Changer les limites des axes en spécifiant le min et le max
fviz_ca_row(res.ca) +
   xlim(-1.3, 1.7) + ylim (-1.5, 1)

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Utiliser seulement du texte
fviz_ca_row(res.ca, geom = "text")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Utiliser des points seulement
fviz_ca_row(res.ca, geom="point")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

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

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Changer la couleur des points et le thème
fviz_ca_row(res.ca, col.row = "violet")+
   theme_minimal()

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Contrôler automatiquement la couleurs des points lignes
# par les valeurs de cos2 ou de contributions
# cos2 = qualité de réprésentation sur le graphique
fviz_ca_row(res.ca, col.row="cos2")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Gradient de couleur
fviz_ca_row(res.ca, col.row="cos2") +
      scale_color_gradient2(low="white", mid="blue",
      high="red", midpoint=0.5, space ="Lab")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Changer le thème et utiliser uniquement des points
fviz_ca_row(res.ca, col.row="cos2", geom = "point") +
      scale_color_gradient2(low="white", mid="blue",
      high="red", midpoint=0.4, space ="Lab")+ theme_minimal()

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Colorer en fonction de la contribution
fviz_ca_row(res.ca, col.row="contrib") +
      scale_color_gradient2(low="white", mid="blue",
      high="red", midpoint=10, space ="Lab")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Contrôler la transparence des couleurs
# en fonction de la contribution
fviz_ca_row(res.ca, alpha.row="contrib") +
     theme_minimal()

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Sélectionner et visualiser les lignes avec cos2 > 0.5
fviz_ca_row(res.ca, select.row = list(cos2 = 0.5))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Sélectionner le top 7 selon le cos2 
fviz_ca_row(res.ca, select.row = list(cos2 = 7))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Selectionner le top 7 selon la contribution
fviz_ca_row(res.ca, select.row = list(contrib = 7))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Sélectionner par noms
fviz_ca_row(res.ca,
select.row = list(name = c("Breakfeast", "Repairs", "Holidays")))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

fviz_ca_col(): Graphique des colonnes

# Graphique par défaut
fviz_ca_col(res.ca)

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Changer la couleur et le thème
fviz_ca_col(res.ca, col.col="steelblue")+
 theme_minimal()

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Contrôler la couleur selon la contribution
fviz_ca_col(res.ca, col.col = "contrib")+
 scale_color_gradient2(low = "white", mid = "blue",
           high = "red", midpoint = 25) +
 theme_minimal()

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Contrôler la transparence selon la contribution
fviz_ca_col(res.ca, alpha.col = "contrib") +
   theme_minimal()

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Sélectionner et visualiser les colonnes avec cos2 > 0.5
fviz_ca_col(res.ca, select.col = list(cos2 = 0.4))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Sélectionner le top 3 selon la contribution
fviz_ca_col(res.ca, select.col = list(contrib = 3))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Sélectionner par noms
fviz_ca_col(res.ca,
 select.col= list(name = c("Wife", "Husband", "Jointly")))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

fviz_ca_biplot(): Biplot des lignes et colonnes

# Biplot symétrique des lignes et des colonnes
fviz_ca_biplot(res.ca)

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Biplot asymétrique, utiliser des flèche pour les colonnes
fviz_ca_biplot(res.ca, map ="rowprincipal",
 arrow = c(FALSE, TRUE))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Annoter uniquement les points lignes
fviz_ca_biplot(res.ca, label ="row")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Annoter uniquement les points colonnes
fviz_ca_biplot(res.ca, label ="col")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Cacher les points lignes
fviz_ca_biplot(res.ca, invisible ="row")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Cacher les points colonnes
fviz_ca_biplot(res.ca, invisible ="col")

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Contrôler la couleur des lignes selon le cos2
fviz_ca_biplot(res.ca, col.row="cos2") +
       theme_minimal()

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - Logiciel R et analyse de données

# Top 7 des lignes les plus contributives
# et top 3 des colonnes les plus contriputives
fviz_ca_biplot(res.ca,
               select.row = list(contrib = 7),
               select.col = list(contrib = 3))

fviz_ca: Visualisation de l'Analyse Factorielle des Correspondences simples avec factoextra - 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)







Want to Learn More on R Programming and Data Science?

==> Subscribe to our Mailing List <==

* indicates required


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.


Suggestions


fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de données
fviz_mca: Visualisation de l'Analyse des Correspondances Multiples - Logiciel R et analyse de données
factoextra: Réduire le chevauchement des points et des annotations - Logiciel R et analyse de données
Valeurs propres: visualisation de données avec factoextra - Logiciel R et analyse de données
fviz_contrib - Visualisation des contributions - Logiciel R et analyse de données
factoextra: Analyse et visualisation de données multivariées
get_pca: Extraire les résultats de l'analyse en composante principale - Logiciel R et analyse de données
get_mca: Extraire les résultats de l'analyse des correspondances multiples - Logiciel R et analyse de données
facto_summarize - Extraire et synthétiser les résultats d'analyse factorielle - Logiciel R et analyse de données
get_ca: Extraire les résultats pour les lignes/colonnes de l'analyse des correspondances - Logiciel R et analyse de données
fviz_cos2: Visualisation de la qualité de représentation des lignes/colonnes - Logiciel R et analyse de données

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