Analyse factorielle des correspondances avec R

Cet article a été mis à jour, vous consultez ici une archive de cet article!

Qu'est ce que c'est l'AFC?




L' analyse factorielle des correspondances (AFC) est une repr?sentation graphique des modalit?s de deux variables nominales (ou variables qualitatives). Elle est tr?s similaire ? l'analyse en composante principale, sauf qu'elle ne s'applique qu'aux variables qualitatives. C'est une m?thode d'analyse de tableaux de contingence.



Format du tableau de donn?es pour l'AFC



Une image du format du jeu de donn?es est montr?e ci-dessous:



Dans cet exemple on se pose la question ? savoir la r?partition des taches quotidiennes, au sein d'une famille, entre une femme et son ?poux. Les lignes du tableau correspondent aux diff?rentes taches. Pour une tache donn?e, la valeur indiqu?e repr?sente la fr?quence d'ex?cution par l'?pouse seule (wife), de mani?re altern?e entre les 2 (alternating), par l'?poux seul (Husband) et par les 2 en m?me temps (jointly).


T?l?charger un exemple de fichier en cliquant ici (clique droit ->Enregistrez la cible du lien sous)



Importation des donn?es dans R



La commande R ? utiliser :

Code R :
 
#importation des donn?es
#R vous demandera le chemin du fichier automatiquement
data<-read.table(file=file.choose(), sep="\t", header=TRUE, row.names=1, check.names=FALSE)
 



Analyse Factorielle des Correspondances avec FactoMineR



Code R


Code R :
 
library(FactoMineR)
res.ca = CA(data)
 


La commande dessine automatiquement le plan factoriel des variables colonnes et lignes.

Le r?sultat de la commande est une liste et inclut les ?l?ments suivants:

   name              description                   
1  "$eig"            "eigenvalues"                 
2  "$col"            "results for the columns"     
3  "$col$coord"      "coord. for the columns"      
4  "$col$cos2"       "cos2 for the columns"        
5  "$col$contrib"    "contributions of the columns"
6  "$row"            "results for the rows"        
7  "$row$coord"      "coord. for the rows"         
8  "$row$cos2"       "cos2 for the rows"           
9  "$row$contrib"    "contributions of the rows"   
10 "$call"           "summary called parameters"   
11 "$call$marge.col" "weights of the columns"      
12 "$call$marge.row" "weights of the rows"    



Graphique du plan factoriel



Le graphique du plan factoriel suivant est g?n?r? automatiquement.



cliquez pour agrandir


Les noms des colonnes sont color?s en rouge et les nom des lignes en bleu.

Le graphique montre par exemple que :
Les taches m?nag?res telles que le Dinner et le petit-d?jeuner (Breakfeast) sont faites par la femme (wife).
La conduite (Driving) et les r?parations (Repairs) sont faites par le conjoint (Husband).


Pour voir uniquement le plan des lignes

Code R :
CA(invisible="col")#on cache les colonnes


Pour voir uniquement le plan des colonnes
Code R :
CA(invisible="row")#on cache les lignes




Les ?l?ments cl?s du r?sultat d'une AFC



Code R :
 
res.ca$eig # Affiche les valeurs propres/contributions des axes factoriels
 
res.ca$col$coord  # Affiche les coordonn?es des modalit?s colonnes
 
res.ca$col$cos2 #qualit? de projection des modalit?s colonnes
 
res.ca$col$contrib # contribution des modalit?s colonnes aux axes factoriels
 
res.ca$row$coord # coordonn?es des modalit?s lignes dans le plan factoriel
 
res.ca$row$cos2 # Qualit? de repr?sentation des modalit?s lignes
 
res.ca$row$contrib # Contribution des modalit?s lignes aux axes factoriels
 


Enregistrement des r?sultats de l'AFC dans un fichier .txt tabulation



Code R :
write.infile(res.ca, file="ca_result.txt", sep="\t")


Ce fichier txt vous permettra de refaire tous les graphes sur excel ? votre convenance.

T?l?charger un exemple du fichier g?n?r? en cliquant sur le lien suivant: ca_result.txt


Le fichier contient:

eig: correspondant aux valeurs propres, le % de variance et le % de variance cumul?e
col: Contient les r?sultats pour les colonnes (coordonn?es, COS2, contributions);
row:Contient les r?sultats pour les lignes (coordonn?es, COS2, contributions);
col.sup : Contient les r?sultats pour les colonnes suppl?mentaires (coordonn?es, COS2);
row.sup : R?sultats pour les lignes suppl?mentaires (coordonn?es, COS2).



AFC avec des lignes et colonnes suppl?mentaires



Les lignes et les colonnes suppl?mentaires correspondent ? des modalit?s qui ne participeront pas ? l'AFC mais dont les positions seront pr?dites gr?ce ? l' AFC r?alis?e uniquement avec les modalit?s actives.


T?l?charger et enregistrer ce fichier au *.txt tabulation




afc-children.txt

Une image d'une partie du fichier est montr?e ci-dessous.


cliquez pour agrandir

Ce tableau correspond ? un tableau de contingence r?sumant les r?ponses donn?es par diff?rentes cat?gories de personne ? la question suivante : quelles sont selon vous les raisons qui font h?siter une femme ou un couple ? avoir des enfants?

Les lignes et les colonnes color?s seront consid?r?es dans l'AFC comme des lignes et des colonnes suppl?mentaires ? cause des valeurs manquantes. L'AFC est tout d'abord r?alis?e sur le reste du tableau (colonnes et lignes actives non color?es) puis les coordonn?es des lignes et des colonnes suppl?mentaires sont calcul?es sur la base de l'AFC pr?c?dente.

Le fichier contient 8 colonnes et 18 lignes.
Les colonnes thirty, fifty, more_fifty correspondant respectivement aux colonnes num?ro 6, 7, 8 sont des colonnes suppl?mentaires (abr?viation col.sup=c(6,7,8)).

Les lignes 'comfort', 'disagreement', 'world' et 'to_live' correspondant respectivement aux lignes num?ro 15, 16, 17 et 18 sont des lignes suppl?mentaires (abr?viation row.sup=c(15,16,17,18))

Pour simplifier, on peut aussi ?crire row.sup=15:18; les deux points signifient 'tous les entiers de 15 ? 18 bornes comprises'


Code R




Code R :
 
#importation des donn?es
data<-read.table(file=file.choose(), sep="\t", header=TRUE, row.names=1, check.names=FALSE)
#AFC
res.ca<-CA(data, col.sup=6:8, row.sup=15:18)
 



T?l?charger le r?sultat pdf



ca_result_sup.pdf

Le fichier pdf contient:
  1. Le graphique des valeurs propres
  2. Le plan factoriel des lignes (en bleu), des lignes suppl?mentaires (en bleu fonc?), des colonnes (en rouge) et des colonnes suppl?mentaires (en rouge fonc?).



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!





Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons