{"word_count": 3813, "character_count": 25816}
&#160;Mise à jour : ce billet et le document Introduction à R sont désormais obsolètes. Une nouvelle Introduction à R et au tidyverse est désormais disponible en ligne.Pendant longtemps, les sociologues désireux de mettre en oeuvre des outils quantitatifs d'analyse des données avaient le choix entre des outils simples et conviviaux (comme Sphinx ou Modalisa), mais peu puissants, et des outils puissants (comme SAS, SPSS, etc.), mais complexes à mettre en oeuvre, et... payants. Et puis est arrivé... R ! Son nom est bizarre, il appartient plutôt à la seconde catégorie, mais... il est gratuit ! R est en effet issu du monde des logiciels libres, et c'est une très bonne raison de l'adopter. L'autre très bonne raison, c'est sa puissance impressionnante, et son évolutivité : vous verrez, à l'usage, que R n'a rien à envier à SAS ou SPSS. QUANTI a donc choisi d'en faciliter l'accès à toutes celles et tous ceux qui veulent utiliser des méthodes quantitatives en sciences sociales, en publiant ici le "mode d'emploi" de R écrit par Julien Barnier à destination des sociologues.Qu'est-ce que c'est ?On installe…On découvre…On se prépare…On se lance…Ouf !Présentation de R&#160;Remarque préliminaireCet article est une introduction au logiciel R, à la manière de ce qui a déjà été fait dans QUANTI pour Excel ou Trideux, dont le contenu est pour une large part tiré du début du document R pour les sociologues, disponible au format PDF à l'adresse suivante :http://alea.fr.eu.org/pages/intro-RR est un langage orienté vers le traitement de données et l'analyse statistique dérivé du langage S. Il est développé depuis plus de 10 ans par une communauté d'utilisateurs de différents pays. C'est un logiciel libre, publié sous licence GNU GPL.L'utilisation de R présente plusieurs avantages : c'est un logiciel multiplateforme, qui fonctionne aussi bien sur des systèmes Linux, Mac OS X ou Windows ; c'est un logiciel libre, développé par ses utilisateurs et modifiable par tout un chacun ; c'est un logiciel gratuit ; c'est un logiciel très puissant, dont les fonctionnalités de base peuvent être étendues à l'aide d'extensions ; c'est un logiciel dont le développement est très actif et dont la communauté d'utilisateurs ne cesse de s'agrandir ; c'est un logiciel avec d'excellentes capacités graphiques.Comme rien n'est parfait, on peut également trouver quelques inconvénients : le logiciel, la documentation de référence et les principales ressources sont en anglais. Il est toutefois parfaitement possible d'utiliser R sans spécialement maîtriser cette langue ; il n'existe pas encore d'interface graphique pour R équivalente à celle d'autres logiciels comme SPSS ou Modalisa. R fonctionne à l'aide de scripts (des petits programmes) édités et exécutés au fur et à mesure de l'analyse, et se rapprocherait davantage de SAS dans son utilisation (mais avec une syntaxe et une philosophie très différentes).Nous présenterons ici l'installation et la prise en main de R, ainsi qu'un petit travail sur des données issues de l'enquête Histoire de vie. De nombreux détails ont cependant été omis, pour plus d'informations et pour aller plus loin on pourra donc se reporter au document R pour les sociologues.On installe…R étant un logiciel libre et gratuit, il est librement téléchargeable et installable sur tout ordinateur.Si vous êtes sous Windows, il vous suffit de diriger votre navigateur sur la page suivante :http://cran.rstudio.com/bin/windows/base/release.htmEt vous vous verrez proposer le téléchargement d'un fichier nommé R-3.x.y-win32.exe (ou quelque chose d'approchant en fonction du numéro de la dernière version disponible). Enregistrez ce fichier quelque part sur votre disque dur et exécutez-le. L'installation se fait de manière tout à fait classique, et vous pouvez accepter les options par défaut sans problème.L'installation est tout aussi facile sous Mac OS X, il vous suffit de télécharger et d'installer le fichier dmg correspondant à la version la plus récente que vous trouverez sur la page suivante :http://cran.rstudio.com/bin/macosx/Enfin, sous Linux, il y a de bonnes chances que R soit déjà intégré à votre distribution favorite.On découvre…LancementUne fois R installé, vous devriez avoir une (relativement) jolie icône sur votre bureau vous permettant d'exécuter l'application. Que ce soit sous Mac OS X ou sous Windows, vous devriez alors voir apparaître une sorte d'interface graphique plus ou moins rudimentaire (celle sous Mac l'est un peu moins), et en particulier une fenêtre affichant le message de bienvenue suivant :R version 2.8.0 (2008-10-20)Copyright (C) 2008 The R Foundation for Statistical ComputingISBN 3-900051-07-0R est un logiciel libre livré sans AUCUNE GARANTIE.Vous pouvez le redistribuer sous certaines conditions.Tapez 'license()' ou 'licence()' pour plus de détails.R est un projet collaboratif avec de nombreux contributeurs.Tapez 'contributors()' pour plus d'information et'citation()' pour la façon de le citer dans les publications.Tapez 'demo()' pour des démonstrations, 'help()' pour l'aideen ligne ou 'help.start()' pour obtenir l'aide au format HTML.Tapez 'q()' pour quitter R.&#62;Et vous devriez voir clignoter votre curseur juste après le symbole &#62; de la dernière ligne, vous indiquant par là même que R est en attente d'instructions de votre part. On appelle cette ligne l'invite de commandes de R, et la fenêtre qui la contient la console.Essayons tout de suite de saisir une commande :&#62; 2 + 3Et le résultat ne devrait pas se faire attendre : [1] 5Magnifique ! Nous avons désormais la preuve que R sait faire les additions à un chiffre. Il peut évidemment faire un peu plus…Base du langageDans ce qui suit, nous indiquerons les commandes saisies dans une police à chasse fixe précédée du symbole &#62;, et les résultats éventuels juste après, dans la même police.Le langage R se base sur deux éléments principaux : les objets, qui servent à stocker des données plus ou moins complexes, et les fonctions, qui permettent d'effectuer des actions sur ces objets.Créons tout de suite notre premier objet en saisissant la commande suivante :&#62; x &#60;- 2En langage courant, nous avons dit à R la chose suivante : "crée un objet nommé x, et place à l'intérieur le nombre 2". On peut désormais effectuer des opérations sur cet objet :&#62; x - 4 [1] -2On peut aussi afficher son contenu en saisissant uniquement son nom :&#62; x [1] 2Imaginons désormais que nous avons demandé à 10 personnes leur taille en centimètres. Ces 10 mesures peuvent être regroupées pour être traitées ensemble : dans le langage courant on dira qu'on a construit une "variable taille". Sous R, cette variable prend la forme d'un vecteur que l'on peut construire de la manière suivante :&#62; tailles &#60;- c(167, 192, 173, 174, 172, 167, 171, 185, 163, 170)Ici, c est appelée une fonction. Elle prend en arguments, entre parenthèses, une série de valeurs, et retourne sous forme de résultat un vecteur combinant ces valeurs. Nous avons stocké ce vecteur dans un objet nommé tailles que nous pouvons afficher comme tout autre objet :&#62; tailles [1] 167 192 173 174 172 167 171 185 163 170Tout le travail dans R consistera donc à créer, manipuler des objets et leur appliquer des fonctions. Par exemple, si on souhaite calculer la taille moyenne de notre échantillon, on peut appliquer la fonction mean à notre vecteur tailles de la manière suivante :&#62; mean(tailles) [1] 173.4On se prépare…Installation des extensionsMunis de ces principes de base, nous allons essayer d'analyser de vraies données pour avoir un aperçu de l'utilisation de R dans des conditions réelles.R est un langage très puissant, mais conçu par des statisticiens et informaticiens pour des statisticiens et informaticiens. On est donc parfois surpris, au premier abord, de la même manière dont certaines choses qui devraient être très simples à effectuer paraissent en définitive très compliquées.Heureusement, la grande force de R, tirée de son caractère libre et ouvert et de son développement communautaire, est qu'il est très facile de créer ses propres fonctions. Celles-ci sont regroupées sous forme d'extensions et diffusées via l'Internet sur un réseau baptise Comprehensive R Archive Network. Il existe à la date de ce billet près de 8000 extensions permettant d'ajouter au cœur de R (ce que vous venez d'installer) tout un tas de fonctionnalités supplémentaires dans un grand nombre de domaines et de disciplines.Pour faciliter un peu notre travail, nous allons donc installer une extension baptisée questionr et qui fournit quelques fonctions permettant de simplifier certaines tâches courantes.Pour installer cette extension, nous avons besoin d'une connexion active à l'Internet. Il suffit alors d'utiliser la fonction install.packages, directement dans la ligne de commande :&#62; install.packages("questionr")Cette commande va avoir pour conséquence d'installer questionr ainsi que les 4autres extensions nécessaires à son fonctionnement. Une fenêtre devrait normalement s'afficher vous demandant de sélectionner un site miroir pour le téléchargement des fichiers. Choisissez un site proche géographiquement.À noter que cette opération n'a besoin d'être exécutée qu'une seule fois : les extensions sont désormais installées sur votre disque dur et prêtes à être utilisées par R.Création du scriptJusqu'à présent nous avons saisies nos commandes R directement dans la console. Cette manière de faire convient pour des opérations ponctuelles, mais lorsqu'on veut travailler sur de vraies données on regroupe les commandes dans un fichier dénommé script.Nous allons donc commencer par créer un répertoire sur notre disque dur dans lequel nous allons enregistrer notre script ainsi que nos fichiers de données. Une fois ce répertoire créé, choisissez dans R le menu Fichier puis Nouveau script (sous Windows, sous Mac OS X l'intitulé du menu peut être différent).Une nouvelle fenêtre devrait apparaître. Pour comprendre comment cela fonctionne, saisissez simplement 2+3 sur la première ligne du fichier, puis appuyez sur les touches Control et R (sous Mac OS X, on utilise Pomme et Entrée). Dans la fenêtre de la console, vous devriez alors voir un joli 5 apparaître.Nous allons donc procéder de cette manière : les commandes seront saisies dans notre script et envoyées à R au fur et à mesure (on peut exécuter plusieurs lignes d'un coup en les sélectionnant). Ceci permet de revenir facilement en arrière pour corriger des commandes ou en rajouter, et d'enregistrer le script pour pouvoir retrouver nos commandes ultérieurement.Enfin, dernière précision, nous avons la possibilité de rajouter des commentaires dans notre script (des lignes qui seront ignorées par R et qui ne seront pas exécutées) en les faisant débuter par un ou plusieurs caractères #. Ceci permet de documenter son travail au fur et à mesure et de ne pas être perdu lorsqu'on ouvre à nouveau son script quelques semaines plus tard.En-tête du scriptNous allons tout de suite saisir les premières lignes de notre script. En général on commence par charger en mémoire les extensions, préalablement installées, dont nous allons avoir besoin par la suite. Ceci se fait avec la fonction library.Pour être tout à fait clair, install.packages installe une extension depuis l'Internet sur le disque dur de votre ordinateur. library, elle, charge une extension présente sur le disque en mémoire et rend son contenu disponible pour R. Il est donc nécessaire de l'utiliser à chaque début de session.Dans note cas, nous allons avoir besoin de l'extension questionr, préalablement installée, et de l'extension foreign, installée en même temps que R, et qui permet d'importer et d'exporter des données de différents formats. Les premières lignes de notre script seront donc :library(foreign)library(questionr)Vous pouvez tout de suite exécuter ces lignes à l'aide des raccourcis clavier indiqués précédemment et vérifier qu'elles ne génèrent pas d'erreurs. Dans le cas contraire, c'est qu'elles n'ont pas été correctement installées.Enfin, dernière étape avant de commencer, nous devons indiquer à R dans quel répertoire il doit travailler. Ceci nous permettra d'accéder plus facilement aux fichiers de données que nous placerons au même endroit que notre script.Pour cela, exécutez la commande suivante :&#62; selectwd()Vous devriez alors voir apparaître une boîte de dialogue de sélection de répertoire. Sélectionnez celui où se trouve votre script et cliquez sur Ok. Des lignes ressemblant au texte suivant devraient s'afficher dans la console :Nouveau repertoire de travail: /home/julien/rPour automatiser ce changement dans un script, utilisez :setwd("/home/julien/r")Sous Windows, le répertoire ressemblera plutôt à quelque chose comme C:/Documents and Settings/Administrateur/Mes Documents/...). Copiez alors la ligne commençant par setwd à la fin de votre script.RécapitulonsDans ce qui précède, nous avons : installé R installé des extensions créé un script saisi l'en-tête du script qui charge les extensions nécessaires etfixe le répertoire de travail.Avec quelques commentaires en plus, votre script R devrait ressembler à quelque chose du genre :## Chargement des extensionslibrary(foreign)library(questionr)## Répertoire de travailsetwd("C:/Documents and Settings/Administrateur/Mes Documents/")La mise en place a été longue, mais elle est désormais terminée. Et rappelez-vous que vous n'aurez pas à effectuer à nouveau toutes ces manipulations la prochaine fois que vous voudrez travailler sur votre script…On se lance…Cette fois, nous avons (enfin) tous les éléments à notre disposition pour vraiment commencer à travailler.Dans ce qui suit nous allons, dans un fulgurant élan d'originalité, travailler sur un extrait des données de l'enquête Histoire de vie réalisé par l'INSEE en 2003.Chargement des donnéesLes données sont disponibles sous la forme d'un fichier zip téléchargeable depuis le site de l'INSEE à l'adresse suivante :http://telechargement.insee.fr/fichiersdetail/HDV03/dbase/HDV03_hdv_dbase.zipLa possibilité la plus simple pour importer les données est de télécharger le fichier zip, de l'extraire quelque part sur votre disque dur, et de copier le fichier nommé hdv4.dbf dans le même répertoire que votre script R.L'import des données se fait alors très simplement à l'aide de la fonction read.dbf, qui permet de lire des fichiers au format dBase de la manière suivante :&#62; d &#60;- read.dbf("hdv4.dbf")Qu'avons nous fait là ? Nous avons chargé l'intégralité des données contenues dans le fichier dBase et l'avons placé dans un objet nommé d et qui contient donc à lui seul tout notre tableau de données !Description des donnéesNous pouvons afficher les dimensions de notre tableau de données à l'aide la fonction dim :&#62; dim(d) [1] 8403  203Ceci nous indique que notre tableau a 8403 lignes (individus) et 203 colonnes (variables). Nous pouvons afficher la liste des variables à l'aide des fonctions names (qui indique juste les noms) ou str (qui donne des informations supplémentaires) :&#62; names(d)  [1] "IDENT"     "POIDSF"    "POIDLOG"   "LPRATQ1"   "LPRATQ2"  [6] "LPRATQ3"   "LPRATQ4"   "LPRATQ5"   "LPRATQ6"   "LQTRAN" [11] "LRASP"     "LSPOR1"    "LSPOR2"    "LSPOR3"    "LSPOR4" [16] "LSPOR5"    "LSPOR6"    "LSPOR7"    "LSPOR8"    "LT1AMI1"(...)&#62; str(d)'data.frame':   8403 obs. of  203 variables: $ IDENT    : Factor w/ 8403 levels "11000210","11000410",..: 1 2 3 4 5 6 7 8 9 10 ... $ POIDSF   : num  4767 12382 14685 9516 3926 ... $ POIDLOG  : num  0.889 2.31 2.74 1.776 0.733 ... $ LPRATQ1  : Factor w/ 2 levels "0","1": 1 1 1 1 1 2 1 1 2 2 ... $ LPRATQ2  : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 1 1 1 1 ... $ LPRATQ3  : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...(...)Accès aux variablesPour accéder à une variable en particulier, on utilise le symbole $ de la manière suivante :&#62; d$NBPERS   [1]  3  5  3  2  6  4  5  1  1  1  2  1  2  1  1  2  2  5  2  1  4  1  1  [24]  5  1  1  1  3  1  3  2  4  1  4  2  2  4  2  1  4  1  2  1  1  1  2  [47]  1  1  4  3  2  3  1  1  1  2  1  2  4  1  1  2  1  2  2  2  2  1  2(...)Par défaut, lorsqu'on lui fournit le nom d'un objet, R affiche son contenu d'une manière plus ou moins lisible. Le résultat de la commande d$NBPERS est donc la liste des valeurs de la variable NBPERS de notre tableau de données, c'est-à-dire le nombre de personnes du ménage. On peut appliquer les fonctions habituelles à cette variable, par exemple pour calculer sa moyenne ou sa variance :&#62; mean(d$NBPERS) [1] 2.715578&#62; var(d$NBPERS) [1] 2.049063Tris à platNous allons nous intéresser à deux variables en particulier : QUALIFE qui indique la position professionnelle de l'emploi (ou du dernier emploi) de l'enquêté VCLSO qui indique le sentiment d'appartenir à une classe socialeNous pouvons immédiatement faire le tri à plat d'une de ces deux variables en utilisant la fonction FREQ :&#62; freq(d$VCLSO)      n    %1  4014 47.82  4257 50.79   132  1.6NA    0  0.0Et nous nous rendons immédiatement compte que l'INSEE ne fournit pas ses fichiers de données avec des étiquettes de modalités en clair, mais avec les codes numériques des réponses. En utilisant la documentation associée au fichier et la fonction levels, nous allons pouvoir remédier à ce problème :&#62; levels(d$QUALIFE) &#60;- c("Ouvrier spécialisé", "Ouvrier qualifié", "Technicien", "Professions intermédiaires", "Cadre", "Employé", "Autre")&#62; levels(d$VCLSO) &#60;- c("Oui", "Non", "Ne sait pas")Ce qui permet d'obtenir des tris à plat plus lisibles :&#62; freq(d$QUALIFE)                              n    %Ouvrier spécialisé          792  9.4Ouvrier qualifié           1161 13.8Technicien                  401  4.8Professions intermédiaires  735  8.7Cadre                      1052 12.5Employé                    2552 30.4Autre                       212  2.5NA                         1498 17.8&#62; freq(d$VCLSO)               n    %Oui         4014 47.8Non         4257 50.7Ne sait pas  132  1.6NA             0  0.0On notera que le code NA correspond aux valeurs manquantes.On peut donc dire que le sentiment d'appartenance ou non à une classe sociale est relativement partagé au sein de la population.Tableau croiséCe sentiment varie-t-il en fonction de la catégorie socio-professionnelle ? Pour le savoir, nous allons calculer le tableau croisé des deux variables à l'aide de la fonction table, à laquelle on fournit les noms des deux variables qui nous intéressent :&#62; table(d$QUALIFE, d$VCLSO)                              Oui  Non Ne sait pas  Ouvrier spécialisé          301  469          22  Ouvrier qualifié            577  560          24  Technicien                  215  182           4  Professions intermédiaires  384  345           6  Cadre                       603  441           8  Employé                    1224 1295          33  Autre                        90  118           4Nous obtenons le tableau des effectifs, qui est certes intéressant mais difficilement lisible. Nous allons donc stocker ce tableau dans un objet et appliquer à celui-ci la fonction lprop, qui va nous renvoyer les pourcentages-lignes du tableau croisé :&#62; tab &#60;- table(d$QUALIFE, d$VCLSO)&#62; lprop(tab)                             Oui   Non   Ne sait pas Total  Ouvrier spécialisé          38.0  59.2   2.8       100.0  Ouvrier qualifié            49.7  48.2   2.1       100.0  Technicien                  53.6  45.4   1.0       100.0  Professions intermédiaires  52.2  46.9   0.8       100.0  Cadre                       57.3  41.9   0.8       100.0  Employé                     48.0  50.7   1.3       100.0  Autre                       42.5  55.7   1.9       100.0  Ensemble                    49.2  49.4   1.5       100.0À première vue, on note que les ouvriers spécialisés ont tendance à avoir moins souvent le sentiment d'appartenir à une classe sociale, contrairement aux cadres notamment. Mais ce résultat est-il valable statistiquement ?Test du χ² et résidusPour savoir si la répartition des effectifs dans notre tableau est suffisante pour rejeter l'hypothèse d'indépendance des lignes et des colonnes, nous pouvons effectuer un classique test du χ² à l'aide de la fonction chisq.test appliquée à notre tableau croisé d'effectifs :&#62; chisq.test(tab)        Pearson's Chi-squared testdata:  tabX-squared = 91.8815, df = 12, p-value = 2.132e-14Warning message:In chisq.test(tab) : l'approximation du Chi-2 est peut-être incorrecteLe message indiquant que l'approximation du Chi-2 est peut-être incorrecte peut être ignoré ici, car il est seulement généré par le fait que les effectifs théoriques sont inférieurs à 5 pour une seule des cases de notre tableau.Le χ² de notre tableau vaut donc 91.8815 pour un nombre de degrés de liberté s'élevant à 12, soit un p extrêmement faible qui permet de rejeter l'hypothèse d'indépendance sans aucune hésitation.Pour aller un peu plus loin dans l'analyse de notre tableau croisé, nous pouvons utiliser les résidus du test du χ². On les calcule à l'aide de la fonctions residus :&#62; residus(tab)                               Oui   Non Ne sait pas  Ouvrier spécialisé         -4.47  3.94        3.06  Ouvrier qualifié            0.27 -0.56        1.70  Technicien                  1.27 -1.14       -0.77  Professions intermédiaires  1.20 -0.94       -1.45  Cadre                       3.78 -3.45       -1.88  Employé                    -0.86  0.98       -0.71  Autre                      -1.39  1.30        0.51L'interprétation des résidus est la suivante : si la valeur du résidu dans une case du tableau est positive, alors il y'a sur représentation dans cette case par rapport à l'hypothèse d'indépendance. Si elle est négative, alors il y a sous-représentation. De plus, on considère en général que seule les valeurs supérieures à 2 ou inférieures à -2 sont statistiquement significatives.Que peut-on en conclure ? Qu'il y a une sur-représentation des cadres ayant le sentiment d'appartenir à une classe sociale, et au contraire une sur-représentation des ouvriers spécialisés qui n'ont pas ce sentiment ou qui ne savent pas. Pour les autres catégories, les résidus ne nous permettent pas de conclure à un effet statistiquement significatif. Mais les pourcentages-lignes permettent quand même de faire l'hypothèse suivante : plus on "monte" dans la hiérarchie des catégories socio-professionnelles, plus le sentiment d'appartenance à une classe sociale est fort.Petits graphiquesNous terminerons quand même cette petite présentation par deux graphiques, sans entrer dans le détail des commandes utilisées mais juste pour donner un (petit) aperçu des (vastes) possibilités de R dans ce domaine.Si vous souhaitez représenter graphiquement le tri à plat d'une de vos variables, vous pouvez utiliser la fonction dotchart de la manière suivante :&#62; dotchart(sort(table(d$QUALIFE)), main="Tri à plat de la catégorie socio-professionnelle")Ce qui devrait vous donner le résultat suivant :Un autre graphique très utile est la représentation en mosaïque d'un tableau croisé. On peut ainsi avoir une vue synthétique du tableau étudié précédemment avec la commande suivante :&#62; mosaicplot(tab, dir=c("h","v"), shade=TRUE, las=2, main="Sentiment d'appartenance à une classe sociale selon la PCS")Dans ce graphique, la surface de chaque case est proportionnelle aux effectifs, la largeur dépend du pourcentage ligne, et la couleur du résidu.Export des résultatsLa présentation des tableaux sous R permet de visualiser rapidement les résultats, mais n'est pas forcément l'idéal pour un rapport ou une publication... La fonction copie permet d'exporter un tableau pour l'importer dans un traitement de texte. Supposons que nous souhaitons exporter le tableau des pourcentages lignes de notre tri croisé, préalablement stocké dans un objet nommé tab.export :&#62; tab &#60;- table(d$QUALIFE, d$VCLSO)&#62; tab.export &#60;- lprop(tab)Si vous disposez de Microsoft Office, vous pouvez appliquer directement la fonction copie à votre objet tab.export :&#62; copie(tab.export)Rendez-vous ensuite dans Excel et faites un Coller. Vous devriez voir apparaître le contenu de votre tableau, que vous pouvez ensuite copier-coller dans Word.Une autre méthode, qui fonctionne à la fois pour Word et pour OpenOffice, est d'indiquer l'argument file=TRUE à la fonction copie :&#62; copie(tab.export, file=TRUE)Ensuite, dans votre traitement de texte favori, sélectionnez le menu Insertion, puis Fichier, et choisissez le fichier nommé temp.html qui devrait se trouver dans le même répertoire que votre script R.En ce qui concerne l'export des graphiques, c'est encore plus simple. Sous windows par exemple, il vous suffit de faire un clic droit sur le graphique pour faire apparaître un menu contextuel vous permettant de placer l'image dans le presse-papier, dans un format vectoriel ou bitmap. Vous n'avez plus ensuite qu'à coller l'image dans votre traitement de texte...Ouf !Vous êtes arrivés au bout de cette introduction, félicitations ! Nous espérons qu'elle ne vous a pas totalement découragé de vous pencher sur R, voire même qu'elle vous aura donné envie d'aller plus loin. R n'est pas un logiciel facile d'accès, il nécessite un temps d'apprentissage certain, mais nous pensons que le jeu en vaut réellement la chandelle compte tenu des possibilités offertes ensuite, autant en termes de traitement de données que d'analyses statistiques.Tout ceci fera sans doute l'objet de prochains billets ici-même, en attendant vous pourrez trouver des détails et des explications complémentaires, de la pondération des données à la cartographie, dans le document R pour les sociologues déjà cité en introduction :http://alea.fr.eu.org/pages/intro-RVous y trouverez également une liste de ressources et de moyens d'obtenir de l'aide. Il ne faut surtout pas hésiter à solliciter ces derniers !Julien Barnier