On peut faire des tableaux croisés avec Excel !

Qui a dit que l’analyse des données quantitatives, c’était compliqué, que les données étaient difficiles à obtenir, que les logiciels étaient trop complexes ? C’est, dans un certain nombre de cas au moins, tout le contraire… D’une part, il est très simple de récupérer des données d’enquête pour faire de « l’analyse secondaire », mais c’est une autre question sur laquelle nous reviendrons plus tard. Et d’autre part, surtout, au moins pour les traitements simples, il n’y a pas besoin de logiciel compliqué pour analyser ces données, qu’elles proviennent d’enquêtes réalisées par d’autres ou de vos propres enquêtes. Dans ce qui suit, je vais essayer de vous convaincre qu’on peut en moins d’une demie heure télécharger les données d’une enquête et en explorer les résultats en construisant très facilement des tableaux croisées avec la seule aide… d’Excel ! Alors, si vous n’ignorez rien des possibilités de la fonction « Tableau croisé dynamique » d’Excel, passez votre chemin… Sinon, la suite de cet article devrait vous intéresser !

Supposons qu’un ami d’enfance vous reproche de le délaisser, et mette cette négligence coupable sur le compte plus général d’une tendance des classes favorisées (dont vous faites évidemment partie, mais pas lui) à moins cultiver que les autres leurs relations amicales les plus anciennes, au profit d’amitiés électives sélectionnées stratégiquement sur leur rendement en termes de capital social. Vous lui objectez qu’il a tort, que par exemple les analyses faites par François Héran à partir des résultats de l’enquête « Contacts » (1983) de l’INSEE[1] ont démonté le mythe d’une culture spécifiquement populaire de la sociabilité, mais rien n’y fait : comme il est malin, votre ami vous rétorque que l’enquête a 25 ans, et qu’il ne parle pas de la sociabilité en général, mais des amis d’enfance, de vous quoi !

Très bien, voici un défi, me dis-je : puis-je lui prouver en moins de 30 minutes, à partir des résultats d’une enquête plus récente, qu’il a tort ? Je l’avoue, je triche un peu, je sais qu’il y a dans l’enquête « Histoire de vie 2003 » de l’INSEE une question sur les amis d’enfance…

Les questions sur les amis dans l'enquête Histoire de vie 2003

Et surtout, je me rappelle que cette enquête fait partie des fameux « fichiers détail » de l’INSEE, que l’on peut télécharger librement et gratuitement. C’est parti ! Vous pouvez me suivre pas à pas, faites exactement comme moi, et vous verrez que ça prend moins de 30 minutes…

 

22h00

La liste des « fichiers détails » de l’INSEE est à cette adresse :

http://www.insee.fr/fr/bases-de-donnees/default.asp?page=fichiers_detail/fichiers-detail.htm

Les données de l’enquête « Histoire de vie 2003 » sont présentées ici…

http://www.insee.fr/fr/themes/detail.asp?ref_id=fd-HDV03

 

Attention !

Les « fichiers détail » de l’INSEE sont généralement proposés au format dBase et/ou au format Beyond 20/20.

Le format dBase (avec l’extension .dbf) assure une compatibilité la plus large possible avec les gestionnaires de base de données du marché (Access, Paradox par exemple,…), les logiciels de traitement statistique et éventuellement, avec certains tableurs (Excel, Quattro Pro par exemple,…).  A savoir : les logiciels de gestion de bases de données sont généralement limités en colonnes ou variables (255 colonnes pour dBase), sans contrainte de nombre de lignes ou d’observations. Les versions un peu anciennces des tableurs sont limitées en nombre de colonnes mais aussi en nombre de lignes, la limite étant variable selon le logiciel et les versions (par exemple : 255 colonnes et 65536 lignes dans Excel 2000). L’ouverture directe d’une table dBase dans un tableur ne chargera donc que les premiers enregistrements ou les premières variables du fichier si le nombre d’enregistrements ou le nombre de variables de la table dépasse la capacité en lignes ou en colonnes du tableur, et généralement cela se produit sans avertissement à l’utilisateur. La solution consiste alors à utiliser une version plus récente du tableur.

Les données au format Beyond 20/20 (avec l’extension .ivx) sont accessibles de manière interactive en utilisant le logiciel de visualisation de données Beyond 20/20 (uniquement sous Windows). Ce logiciel permet de choisir les variables à croiser et de créer des tableaux de données dans lesquels chaque élément du tableau, le tableau lui-même, les dimensions, les en-têtes de colonnes et de lignes sont enrichis de méta-données. Des fonctionnalités de calcul, de tri, de recherche, de création graphique, etc., permettent de présenter de façons diverses les tableaux. La fonction proposée d’exportation des données individuelles dans de nombreux formats (.txt), (.csv), (.dbf), et (.htm) facilite la récupération des données sous d’autres logiciels ou interfaces. Nous reviendrons dans un prochain article sur l’utilisation, les avantages et les inconvénients de ce logiciel

Vous pouvez télécharger Beyond 20/20 à partir de la page suivante :

http://www.insee.fr/fr/publications-et-services/default.asp?page=services/beyond/beyond_avert.htm

 

22h05

Après avoir parcouru rapidement la documentation, il apparaît que toutes les données figurent dans un seul fichier qui comprend 8403 individus et 808 variables. Le nombre de variables risque de poser un problème dans Excel, qui ne supporte que 255 colonnes, donc au maximum 255 variables en même temps. On va voir…

Je télécharge le fichier au format dBase, ce qui prend une minute avec l’ADSL. Le fichier se trouve à cette adresse :

http://telechargement.insee.fr/fichiersdetail/HDV03/dbase/HDV03_hdv_dbase.zip

Le fichier est au format zip, je le décompresse.

En réalité, il apparaît alors que le fichier dBase est scindé en quatre tables différentes, comme c’est expliqué dans le petit fichier lisezmoi.txt qui les accompagne :

  • hdv1.dbf contient les variables IDENT POIDSF POIDLOG A8B à DFREQ17;
  • hdv2.dbf Contient les variables IDENT POIDSF POIDLOG DICAUS1 à GTLIEU15;
  • hdv3.dbf contient les variables IDENT POIDSF POIDLOG GVALIE à LPPASS ;
  • hdv4.dbf contient les variables IDENT POIDSF POIDLOG LPRATQ1 à ZTHEMQ10.

Pour savoir à quoi correspond chaque variable, il faut télécharger le dictionnaire des variables, qui se trouve à cette adresse, au format PDF :

http://www.insee.fr/fr/ppp/bases-de-donnees/fichiers_detail/HDV03/doc/contenu_HDV03_hdv.pdf

Je consulte le dictionnaire des variables. Il apparaît que le fichier qui m’intéresse est le dernier des quatre, « hdv4.dbf », parce qu’il contient à la fois les variables d’état (sauf l’âge, qui se trouve dans le premier fichier) et un certain nombre de variables de l’enquête, dont celles sur les amis rencontrés au cours des douze derniers mois…

 

22h10

J’ouvre le fichier « hdv4.dbf » dans Excel. Comme le fichier est au format dBase, il faut soit d’abord ouvrir Excel, puis ouvrir le fichier à partir de la commande « Ouvrir… » du menu « Fichier », soit carrément changer l’extension « .dbf » du fichier en « .xls », puis double-cliquer sur le fichier : ça marche aussi !

Ca y est, le fichier est ouvert dans Excel…

Faisons un premier tableau croisé très simple, en deux coups de cuillère à pot :

1. Sélectionnez la première cellule de la feuille des données, en haut à gauche, en cliquant dessus.

2. Sélectionnez « Rapport de tableau croisé dynamique » dans le menu « Données », puis cliquer sur « Terminer ».

Une nouvelle feuille sans titre apparaît dans le classeur, avec dans la première colonne la liste des variables disponibles, et à sa droite un tableau qui est vide pour l’instant, à l’exception de mentions « Déposer les données ici » ou « Déposer champs ici ».

A partir de là, il va « suffire » de choisir les variables dans la colonne de gauche en cliquant dessus, puis de les transporter, sans relâcher le bouton de la souris, jusqu’à la zone choisie.

Comme je veux analyser les variations du fait d’avoir rencontré des amis d’enfance en fonction du niveau socio-professionnel, je dépose ainsi la variable « QUALIFE » dans le champ « Lignes » et la variable « LT1AMI3 » dans le champ « Colonnes ».

Il ne se passe pas grand-chose : le tableau a des lignes et de colonnes, mais les cellules sont vides : c’est qu’il reste encore à indiquer comment Excel doit calculer les valeurs des cellules de ce tableau croisé. Deux cas de figure se présentent alors :

Sans pondération :

Il suffit de déposer n’importe quelle variable dans le corps du tableau, pourvu que celle-ci soit non vide chaque fois que l’individu doit être compté. Le plus simple, c’est donc d’utiliser la variable identifiant, « IDENT ».

J’obtiens alors un tableau croisé en effectifs, avec un effectif total de 8 403 individus, ce qui correspond au nombre de personnes interrogées dans l’enquête « Histoire de vie 2003 ».

– Avec pondération :

Dans notre exemple, le fichier offre deux variables de pondération, « POIDSF » et « POIDSLOG », et le fichier « Lisezmoi.txt » indique : « Pour savoir quelle variables de pondération utiliser, consulter la rubrique « Description des fichiers » dans la documentation complète téléchargeable sur le site insee.fr. ».

Très bien, je télécharge la documentation complète, qui se trouve à cette adresse :

http://www.insee.fr/fr/ppp/bases-de-donnees/fichiers_detail/HDV03/documentation.zip

Je décompresse la documentation complète, je double-clique sur le fichier « accueil.htm », et je consulte la rubrique « Description des fichiers », qui m’indique :

« Pour exploiter l’enquête, il convient de pondérer les réponses des individus enquêtés avec la variable POIDSF.

« Dans les cas où on ne désire pas utiliser la pondération, mais où l’on veut tout de même tenir compte des variations de taux de sondage (pour des régressions logistiques par exemple), on peut utiliser la variable POIDLOG qui correspond au rapport entre le poids individuel (POIDSF) et le poids moyen de l’échantillon. »

Nous allons donc utiliser la variable « POIDSF » puisqu’il s’agit simplement d’un tableau croisé.

Attention !

Lorsque vous faites glisser une variable dans le corps du tableau croisé dynamique, Excel choisit par défaut de calculer les valeurs des cellules soit en comptant le « nombre » valeurs non-vides pour les variables de type alphanumérique, soit en comptant la « somme » des valeurs pour les variables numériques. Il peut donc arriver qu’avec un identifiant strictement numérique, Excel en fasse la somme dans les cellules, au lieu de compter le nombre de valeurs, ce qui n’a plus aucun sens.

Dans ce cas, il suffit de double-cliquer sur la cellule en haut à gauche du tableau, mentionnant « somme de [variable] », et de choisir « Nombre » dans le menu déroulant « Synthèse par ». On peut aussi, en cas de doute, créer une nouvelle « variable » dans la feuille des données, prenant systématiquement la valeur 1 pour chaque individu, et d’utiliser cette variable pour le calcul du tableau croisé dynamique : de cette façon, que l’on choisisse « Somme » ou « Nombre », cela donnera le même résultat !

22h15

J’obtiens alors un tableau croisé en effectifs, mais avec cette fois un effectif total de 45 036 000 individus, ce qui correspond au nombre de personnes dans la population de référence de l’enquête « Histoire de vie 2003 », qui était constituée des personnes résidant en France âgées de 18 ans et plus.

Il n’y a plus qu’à transformer les effectifs en pourcentages…

  1. Double-cliquez sur la cellule grisée en haut à gauche du tableau croisé, dans laquelle il est inscrit soit « Nombre de IDENT » si vous aviez choisi de ne pas pondérer les résultats, soit « Somme de POIDSF » si vous aviez choisi de les pondérer.
  2. Cliquez sur le bouton « Options >> »3. Sélectionnez « % par ligne » dans le menu déroulant « Afficher les données ».4. Cliquer sur le bouton « OK ».

22h20

Et voilà ! J’ai mon tableau croisé avec les pourcentages en ligne…

Le résultat n’est pas encore tout à fait élégant, parce que les modalités des variables en ligne et en colonnes restent représentées par leur valeur, alors qu’on les voudrait en clair. Pour savoir ce qu’elles représentent, il faut ouvrir avec Excel le fichier « varmod.dbf » qui contient le dictionnaire des variables de l’enquête.

A ce stade, pour pouvoir modifier plus facilement les intitulés des lignes et des colonnes et la présentation du tableau, il est recommandé de le copier et de le coller ailleurs, soit dans la même feuille, soit dans une nouvelle feuille Excel, en utilisant la commande « Collage spécial » du menu « Edition », puis en sélectionnant l’option « Valeurs et formats des nombres ».

Pour la variable « LT1AMI3 », 0 c’est « NON » et 1 c’est « OUI ». Il suffit de remplacer les valeurs en tapant le nom des modalités, comme il n’y en a pas beaucoup. Pour la variable « QUALIFE3 », les modalités sont dans le fichier « varmod » :

1 Manoeuvre ou ouvrier spécialisé
2 Ouvrier qualifié ou hautement qualifié, technicien(ne) d’atelier
3 Technicien(ne) (non cadre)
4 Agent de maîtrise, maîtrise administrative ou commerciale, VRP (non cadre), personnel de catégorie B de la fonction publique
5 Ingénieur ou cadre, personnel de catégorie A de la fonction publique
6 Employé de bureau, employé de commerce, personnel de service, personnel de catégorie C ou D de la fonction publique
7 Autre cas

Le plus simple, aussi parce que la variable est disposée en ligne, et donc les intitulés des modalités figurent tous dans la première colonne, consiste alors à copie la liste des intitulés dans le fichier « varmod », et à la coller à la place des numéros dans le tableau croisé.

Attention : si vous essayez de les coller directement dans le tableau croisé « dynamique » original, celui créé par Excel, ça ne marchera pas. C’est pour cela qu’il faut d’abord le copier et le coller ailleurs.

 

22h25

Pour finir, c’est seulement une affaire de style… Vous pouvez :

  • Supprimer les colonnes «NON» et «Total»;
  • Supprimer des lignes;
  • Remplacer les noms des variables par leurs intitulés en clair;
  • Appliquer une mise en forme plus jolie avec la commande «Mise en forme automatique» du menu «Format», ou bien avec les options de la commande «Cellule» du menu «Format»;
  • Construire un graphique à partir des données du tableau obtenu avec la commande «Graphique» du menu «Insertion»;

 

22h30

Et voici le résultat !

 

Que peut-on en dire ?

Que mon ami a – au moins en partie – tort, et que j’ai – au moins en partie – raison, puisqu’il semble bien que la propension à avoir rencontré un ami d’enfance au cours des douze derniers moins précédent l’enquête de 2003 augmente avec l’élévation dans la hiérarchie des qualifications socio-professionnelles. En effet, alors que moins de 30% des ouvriers ont déclaré avoir rencontré un ami d’enfance, cette proportion s’élève à 34,7% chez les cadres, les ingénieurs et les personnels de rang A de la fonction publique : la variation n’est pas spectaculaire, et n’autorise pas à opposer deux modèles de sociabilité radicalement différents, mais elle est sans doute tout de même assez significative pour être remarquée, et surtout elle suffit à contredire la thèse inverse.

Que peut m’objecter mon ami ?

  • Qu’il ne faut pas confondre «avoir des amis d’enfance» et «rencontrer des amis d’enfance»: ne se peut-il pas que les cadres et les ingénieurs en aient tout autant que les ouvriers, voire même moins, mais les rencontrent plus souvent, les autres entretenant ces amitiés «à distance», par exemple par le courrier, le téléphone ou la messagerie électronique?
  • Que cette tendance des classes populaires à moins cultiver leurs relations amicales les plus anciennes n’est peut-être pas sexuellement indifférenciée, et qu’il faudrait croiser ces premiers résultats avec le sexe des personnes interrogées pour spécifier la tendance ainsi dégagée en première instance, et montrer par exemple que cette faiblesse des amitiés d’enfance dans les classes populaires est féminine, et pas masculine?
  • Qu’à part ça, il ne faut pas confondre «avoir des amis d’enfance» et «avoir des amis»: de cette tendance des classes populaires à moins cultiver leurs relations amicales les plus anciennes, peut-on inférer l’absence d’une culture populaire de la sociabilité, comme je semblais le faire au début de la discussion?
  • Que de toutes façons, je n’ai donc même pas d’«excuse de classe»: puisque je suis personnel de rang A de la fonction publique, je pourrais faire un effort et venir le voir au moins une fois par an, comme ceux de mon rang socio-professionnel.

Sur ce dernier point, la science ne peut rien… Et on ne peut évidemment pas répondre à toutes les autres objections à l’aide des seules variables du quatrième fichier de l’enquête « Histoire de vie 2003 », ni même probablement à l’aide de l’ensemble de cette enquête. Je vais suggérer à mon ami de lire le très beau livre de Claire Bidart sur L’amitié[2]

Mais on peut tout de même trouver dans l’enquête « Histoire de vie 2003 » quelques éléments de réponse. Pour cela, je suis allé copier dans le fichier « hdv2.dbf » la colonne de la variable « FFREQ4 », qui contient les réponses à la question : « Au cours des 12 derniers mois, à quelle fréquence avez-vous rencontré, chez vous ou chez eux ou lors de sorties communes des amis (de vous ou de votre conjoint(e)) ? ». J’ai ensuite collé cette colonne dans la feuille contenant déjà les données tirées de « hdv4.dbf », de façon à avoir les variables « QUALIFE » et « SEXEE » et « FFREQ4 » dans la même feuille de données.

Attention !

Lors de ce genre de manipulations destinées à « fusionner » des tables de données différentes, il faut bien vérifier que l’on « colle » correctement les individus en ligne, sinon on risque fort d’attribuer les réponses d’un individu à un autre individu ! Pour éviter de tout mélanger, il faut trier préalablement toutes les tables de données dans le même ordre de la variable identifiant, en utilisant la commande « Trier » du menu « Données ».

 

Pour aller plus loin…

J’ai rassemblé, dans un fichier Excel accessible à partir du lien ci-dessous, les feuilles contenant les données de départ (je n’y ai conservé, pour l’alléger, que les colonnes des variables utilisées dans cet article), le tableau croisé dynamique, et la mise en forme des résultats.

quanti_excel_tris_croises

Allez, un petit exercice pour terminer ! Téléchargez ce fichier Excel, et essayez par vous-même, en vous appuyant sur tout ce qui précède, de construire les tableaux croisés présentant les variations de l’intensité générale de la sociabilité d’une part, et des relations avec les amis d’enfance d’autre part, en fonction du niveau de qualification et du sexe des personnes interrogées…

Ca pourrait donner ça…

 

 

Chemin faisant, vous découvrirez sûrement, par l’expérimentation, quelques unes des autres fonctionnalités de la commande « Tableau croisé dynamique » d’Excel, comme la possibilité d’utiliser le champ « Page », ou de faire figurer plus d’une seule variable en ligne ou en colonne, ou encore de changer l’ordre des lignes et l’ordre des colonnes, ou encore de regrouper des lignes et des colonnes, ou encore de calculer des tas de choses dans les cellules, et pas seulement des pourcentages en ligne…

…Et vous pourrez finalement donner raison à certaines des objections de mon ami ! Moi, il est maintenant quand même un peu plus de 23h, je vais me coucher…

 


[1] Héran François (1988), « La sociabilité, une pratique culturelle », Economie et statistique, n° 216, décembre.

[2] Bidart Claire (1997), L’amitié, un lien social, Paris, la Découverte. Pour une fiche de lecture, voir : http://socio.ens-lsh.fr/agregation/reseaux/reseaux_fiches_bidart_1997.php.

 

 


Vous aimerez aussi...

10 réponses

  1. Julien dit :

    À noter que ça marche quasiment de la même manière avec OpenOffice Calc. Une fois les données récupérées, on se positionne dans le coin en haut à gauche de la feuille et on sélectionne le menu Données, puis Pilotes de données, puis Démarrer.

    On se retrouve alors avec une boîte de dialogue assez semblable à celle d’Excel, et qui semble offrir le même genre de fonctionnalités (comptage, pourcentages, pondération…).

  2. Julien Mestre dit :

    Désolé, je vais changer un peu le sujet de la conversation.

    Brièvement, félicitations pour ce site… A la vue de la qualité des premiers articles parus, il ne fait aucun doute sur la future popularité de ce site.
    Bref, ce n’est pas sur ce point que je voulais intervenir.

    En fait, j’aurais aimé savoir si, au même titre que Trideux, des logicels de réprésentation graphique de données existaient. Excel a ses limites dans la représentation « esthétique » des données.

    Sans être « puissants », il doit exister des logiciels Open Source de qualité fournissant de « jolis graphiques ». Les études que je mène dans le cadre de mon travail ont pour vocation à être communiquées à des non-initiés. Or, je sais que malgré toutes les phrases d’accroches que je pourrais écrire, un « graphique agréable à régarder & simple à lire » est quelques fois plus accessible qu’un paragraphe.

    Peut-être l’objet d’un futur article…

  3. Joël Gombin dit :

    @Julien Mestre : Sous Linux (distribution Ubuntu en tout cas), il y en a de très bien et très faciles à utiliser d’origine. Sous Win, c’est moins courant. R permet de faire de bons graphiques, mais il faut rentrer dedans (même si avec Rcmdr c’est assez aisé). Sous Excel, ajouter la petite macro XY Chart Labels permet déjà de plus facilement mettre des étiquettes à ses graphiques.

  4. tableau dit :

    Alors oui on peu faire des tableaux croisé, enfin voila comme c’est difficile le mieux reste l’usage d’Access quand meme

  5. Comme le disait Julien, il est effectivement possible de créer des tableaux croisés avec OpenOffice. J’ai d’ailleurs bricolé une séance de travaux dirigés d’une heure à partir d’une petite enquête réalisée au sein d’une classe de première ES.

    Pour ceux qui voudraient s’en inspirer, c’est là :
    http://www2.lyc-champollion-figeac.ac-toulouse.fr/cms/claroline/document/goto/index.php?url=%2FM%E9thodologie%2FTableauCrois%E9.pdf&cidReq=SES1EO

    et le fichier des données au format OpenOffice est là :
    http://www2.lyc-champollion-figeac.ac-toulouse.fr/cms/claroline/document/goto/index.php?url=%2FM%E9thodologie%2FVieClasse1ES.ods&cidReq=SES1EO

    Merci pour ce post, qui va m’inciter à consulter plus souvent le site de l’Insee !

  6. analyse des données d'enquête dit :

    Bonjour,
    je réalise un mémoire sur le parcours scolaires des enfants en France selon l’origine de leur parents, pour ce j’utilise l’enquête epcv réalisée par l’INSEE. j’ai un petit problème c’est que j’arrive pas à séparer les parents de leurs enfants afin de faire des tableaux croisés, est ce que vous pouvez me proposer une solution.

    • Pierre Mercklé dit :

      Je ne comprends pas très bien le sens de votre question… Pourrez-vous m’en dire un peu plus ? En quoi ne sont-ils pas « séparés » ? Que voulez-vous dire par les « séparer » ?

  1. 18 octobre 2008

    […] des premiers posts du blog explique comment faire un tableau croisé avec Excel. Gageons que de nombreux étudiants en feront leur miel […]

  2. 29 octobre 2008

    […] extrait quelques documents pour un sujet d’oral à l’ENS, en juin dernier) 2- Le blog Quanti. 3- L’INSEE, qui met gratuitement à disposition de tous les données de l’enquête […]

  3. 15 février 2011

    […] C’est exactement cela qui est donc possible avec l’article de Gaëlle Henri-Panabière dans le dernier numéro de Sociologie : après l’avoir lu (il est disponible en ligne en libre accès), vous pouvez explorer les données brutes de l’enquête quantitative sur lesquelles il repose, et vous pouvez aller plus loin encore, et refaire les tableaux statistiques, ou encore mieux, effectuer des analyses secondaires de ces données pour d’autres recherches. L’accès aux données est facilité : vous disposez d’un fac-similé du questionnaire de l’enquête, d’un dictionnaire des variables, et des données elles-mêmes sous différents formats : selon vos habitudes, vous pourrez choisir le format ASCII, le format SAS, ou le format MODALISA. Et pour celles et ceux d’entre vous qui n’auraient pas l’habitude des logiciels d’analyse des données, nous avons aussi mis à votre disposition les données au format EXCEL 2007 : vous pourrez ainsi réaliser très facilement vos propres tableaux croisés à partir de ces données, par exemple en vous inspirant du mode d’emploi très simple que j’avais mis en ligne dans QUANTI… […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *