Jean-Baptiste PRESSAC (CRBC, CNRS) (Jean-Baptiste.Pressac@univ-brest.fr)
Laurent MELL (LABERS, Université de Bretagne Occidentale) (laurent.mell@univ-brest.fr)
Si vous avez des commentaires à formuler ou des remarques à effectuer, vous pouvez nous contacter par mail (Jean-Baptiste.Pressac@univ-brest.fr, laurent.mell@univ-brest.fr). Par la même occasion, si vous souhaitez échanger plus en détail et/ou contribuer à cette démarche, nous sommes aussi disponibles.
Ce premier travail s’inscrit dans une démarche de réflexion, plus large, que nous souhaitons entreprendre autour l’analyse de données multidimensionnelles. La spécificité de ce premier travail réside dans le fait que nous allons nous concentrer sur l’analyse factorielle des correspondances (AFC). Notre objectif sera d’étudier les éventuelles liaisons entre les modalités de deux variables qualitatives. Par ailleurs, nous avons fait le choix d’utiliser le logiciel R ainsi que l’environnement de développement RStudio.
Les données sur lesquelles nous allons travailler proviennent, en partie, du MOOC Analyse des données multidimensionnelles sur la plateforme FUN. Ce MOOC est proposé par François Husson, Jérôme Pagès et Magalie Houée-Bigot.
Les données sont issues d’un enquête du CREDOC publiée en 1974 par Nicole Tabard, intitulée Besoins et aspirations des familles et des jeunes. Le MOOC ne nous donne pas d’informations sur les circonstances dans lesquelles le questionnaire a été établi ni sur le nombre total de questions. Nous savons uniquement qu’il a porté sur 1724 femmes. L’AFC ne nous permettra pas d’analyser l’intégralité du questionnaire. De toute façon, nous allons nous focaliser sur une relation spécifique. Nous allons étudier l’articulation des réponses qualitatives à deux questions :
Le point de départ de l’analyse est le tableau de contingence reproduit ci-dessous. C’est ce type de données (les marges des totaux mis à part) que nous fournirons à la fonction de calcul de l’AFC.
Comme le souligne François Husson dans le MOOC, il est difficile de savoir à partir de ce tableau si les femmes sont favorables ou non au travail féminin. En effet, 908 femmes sur 1 724, soit 52 % ont répondu que la famille idéale est celle où “seul le mari travaille”. Elles sont néanmoins 1 123 sur 1 724 (65 %) à avoir répondu que l’activité convenant le mieux à une mère de famille quand ses enfants vont à l’école est de travailler à mi-temps. L’AFC va nous permettre d’étudier le lien entre ces deux questions et de lever cette apparente contradiction. Elle va notamment nous permettre de visualiser la nature de la liaison entre les deux questions. Mais qu’est ce qu’une liaison ?
Une liaison entre deux variables est l’écart entre les données observées et le modèle d’indépendance. Mettons pour l’instant de côté cette notion, nous y reviendrons plus tard.
Commençons par ouvrir le logiciel RStudio et par créer un nouveau projet depuis le menu File > New Project. Choisissons ensuite “New directory” > “Empty project” puis saisissons AFC-sous-R dans Directory name. Téléchargeons le fichier AnaDo_JeuDonnees_TravailFemme.csv du tableau de contingence et plaçons-le dans le répertoire “AFC-sous-R”. Créons ensuite notre script R depuis File > New file > R script.
Il est très important, d’emblée, de définir le répertoire de travail. Il existe une commande getwd()
qui permet d’afficher la localisation du répertoire de travail sous la forme d’un chemin absolu :
getwd()
## [1] "/Users/ubo/Documents/Recherche/R/AFC-sous-R"
La définition du répertoire de travail peut aussi être faite par le biais de la commande Set As Working Directory
via l’onglet More
. Cet onglet correspond au symbole de la roue crantée dans la fenêtre en bas à droite de RStudio.
Nous lisons ensuite le fichier CSV à partir de la fonction read.table()
:
wfemmes <- read.table("AnaDo_JeuDonnees_TravailFemme.csv", header=TRUE,
row.names=1, sep=";", check.names=FALSE, fileEncoding="latin1")
read.table()
permet de lire un fichier dans un format tabulaire et de créer une dataframe à partir de ce dernier.header=TRUE
permet de spécifier que la première ligne du jeu de données correspond aux intitulés des colonnes.row.names=1
permet de spécifier que le nom des lignes est contenu dans la première colonne.sep=";"
indique que le séparateur de colonne est le point-virgule.check.names=FALSE
permet d’empêcher R de modifier la syntaxe du nom des modalités de variable.fileEncoding="latin1"
permet de spécifier l’encodage du fichier.Afin de faciliter, par la suite, la lecture et l’emploi du jeu de données, nous stockons le résultat dans la variable wfemmes
.
Nous pouvons, très facilement et à n’importe quel moment, afficher le tableau de contingence wfemmes
à partir du volet Data dans la fenêtre en haut à droite de RStudio.
Seules les trois premières colonnes du jeu de données sont utilisées ici. Nous avons donc besoin de suppprimer les colonnes dont nous n’aurons pas l’utilité. Plus spécifiquement, nous n’allons sélectionner que les trois premières colonnes avec la commande suivante :
wfemmes <- wfemmes[1:3]
Dans cette commande :
[1:3]
(entre crochets), nous indiquons que nous ne sélectionnons que les 3 premières colonnes.Nous pouvons voir que, dans le volet Data dans la fenêtre en haut à droite de RStudio, le nombre de variables affichées a été réduit.