Articles - Méthodes des Composantes Principales dans R: Guide Pratique

AFC dans R: Mille Possibilités

Cet article décrit plusieurs manières de calculer l’analyse factorielle des correspondances (AFC) avec R. Rappelons que l’AFC est utilisée pour étudier l’association entre deux variables catégorielles en analysant le tableau de contingence formée par ces deux variables.

Plusieurs fonctions de différents packages (FactoMineR, ade4) sont disponibles dans le logiciel R pour calculer l’AFC. Peu importe la fonction que vous décidez d’utiliser, vous pouvez facilement extraire et visualiser les résultats de l’AFC en utilisant les fonctions R fournies dans le package R factoextra.

Analyse factorielle des correspondances

Contents:


Format des données

  • Données de démo: housetasks [package factoextra]
  • Contenu des données: Répartition des taches ménagères (housetasks) dans le couple.
    • les lignes sont les différentes tâches
    • les valeurs sont les fréquences des tâches effectuées i) par l’épouse seulement (“wife”), ii) alternativement (“alternatively”), iii) par le mari seulement (“husband”) ou iv) conjointement (“jointly”)
  • Illustration des données:

Chargement des données

library(factoextra)
data(housetasks)
# head(housetasks)

Calcul

  1. En utilisant CA() [FactoMineR]
library(FactoMineR)
res.ca <- CA(housetasks, graph = FALSE)
  1. En utilisant dudi.coa() [ade4]
library("ade4")
res.ca <- dudi.coa(housetasks, scannf = FALSE, nf = 5)
  1. En utilisant ca() [ca]
library(ca)
res.ca <- ca(housetasks)
  1. En utilisant corresp() [MASS]
library(MASS)
res.ca <- corresp(housetasks, nf = 3)
  1. En utilisant epCA() [ExPosition]
library("ExPosition")
res.ca <- epCA(housetasks, graph = FALSE)

Visualisation

  • Package
library(factoextra)
  • Valeurs propres
fviz_eig(res.ca) 

  • Biplot des lignes et des colonnes:
fviz_ca_biplot(res.ca, repel = TRUE)

Resultats

library(factoextra)
# Valeurs propres
eig.val <- get_eigenvalue(res.ca)
eig.val
# Resultats pour les lignes
res.row <- get_ca_row(res.ca)
res.row$coord          # Coordonnées
res.row$contrib        # Contributions
res.row$cos2           # Qualité de représentation 
# Resultats pour les colonnes
res.col <- get_ca_col(res.ca)
res.col$coord          # Coordonnées
res.col$contrib        # Contributions
res.col$cos2           # Qualité de représentation