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)


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 4329 fois
Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons