Valid XHTML     Valid CSS2    

Statistiques descriptives, notions essentielles

 

Table des matières cliquable

  1. Analyses statistiques et données

  2. Comment décrire une seule QT ?

  3. Comment décrire plusieurs QT ?

  4. Comment décrire une seule QL ?

  5. Comment décrire plusieurs QL ?

  6. Comment décrire QT et QL ensemble ?

1. Analyses statistiques et données

Une étude statistique, c'est d'abord l'étude de données en vue de la résolution d'un problème, qu'il s'agisse de synthétiser de nombreux chiffres ou de modéliser en vue d'expliquer (au sens statistique du terme) ou de prédire des valeurs. Le point de départ est bien sûr des données, qu'il s'agisse de l'ensemble de la population ou seulement d'un échantillon. Après une vérification élémentaire des données (ce qui oblige à connaitre et comprendre, au moins globalement, les codes et les unités utilisées) à l'aide d'indicateurs comme le minimum et le maximum ou la liste des valeurs distinctes, il faut souvent suivre un plan d'étude statistique défini à l'avance.

Si on ne s'intéresse qu'à la description des données, des tableaux résumés et des graphiques bien choisis doivent être accompagnés d'une rédaction soignée, précise, qui sépare les résultats objectifs («5 % de chomeurs en plus») des commentaires subjectifs («ce qui est très peu») et des hypothèses d'interprétation («sans doute à cause du fort taux de renouvellement des contrats de maintenance»). Par contre, dans le cas de statistiques inférentielles, un test ne devra être utilisé qu'après avoir montré que ses conditions d'applications sont vérifiées, il faudra préciser la probabilité critique (p-value) utilisée, etc. En cas de modélisation, il faudra justifier le choix des variables, détailler les coefficients du modèle, donner leur p-value...

La rédaction pour un article de vulgarisation ou de recherche est en général tout aussi exigeante que la rédaction d'un simple rapport d'étude statistique. Par contre elle est plus subtile par ce que plus concise et plus orientée vers un public ciblé. Le choix des adjectifs, des qualificatifs y est très important.

La réalisation et la rédaction d'une analyse statistique mettent en jeux deux domaines de compétence :

  • le calcul statistique avec ses méthodes, ses modèles, ses termes techniques et ses formules, leurs conditions d'applications, l'utilisation des logiciels ad hoc, les conclusions mathématiques licites auxquelles elles aboutissent 

  • l'écriture du rapport d'analyse via la présentation du protocole et des données (voire des hypothèses sous-jacentes), la mise en forme de tout ou partie des résultats et la rédaction des conclusions, interprétations et commentaires pour les spécialistes du domaine, pour l'équipe de recherche ou pour le grand public.

Une analyse statistique ne se réduit donc pas à une suite de calculs, même justes et justifiés. La rédaction est un art difficile. Elle est souvent bâclée par les [pseudo]scientifiques qui confondent phrases, littérature, verbiage et production littéraire. Or, la qualité d'un article de recherche, d'un rapport d'expérimentation transparait au fil des paragraphes. Le choix des termes employés renforce chez le lecteur, le reviewer ou le correcteur la conviction que le travail fait a été bien fait, que les méthodes statistiques sont maitrisées, que le passage des chiffres (comme m = 12.3 jours) aux lettres (une durée moyenne aussi faible qu'à l'habitude) est le fruit d'un mûre réflexion...

On distingue traditionnellement les variables à codes (ou QL) des variables à unités (ou QT). Pour les premières, seuls les comptages simples ou croisés sont autorisés. Pour les secondes, en fonction de la sommabilité des unités, on effectue soit des calculs simples de médiane, quartile, quantile ou des calculs plus compliqués de moyennes, écart-types, coefficient de variation... Enfin, des variables textuelles (ou QX) comme des listes de mots ou de phrases sont également envisageables mais demandent en général des pré-traitements linguistiques.

L'usage veut qu'on nomme QUANTITATIVE une variable à unités et QUALITATIVE une variable à code, avec des qualificatifs comme semi-quantitative, quantitative continue, quantitative discrète, quantitative-intervalle, quantitative rapport, qualitative nominale, qualitative ordinale... Pour plus de détails, consulter ma page sur les variables statistiques. Remarque : le logiciel R nomme FACTEUR les variables qualitatives.

Attention aux données : un pays comme RDA, une unité comme le franc indiquent que les données datent. Il n'est peut-être pas conseillé de les utiliser pour une description actuelle...

Certains logiciels -- dont le logiciel R -- détectent les QT et les QL par le type des données lues : une variable numérique est alors forcément QT et une variable caractère est QL. Si ce n'est pas le bon type, il faut utiliser convertir dans le type désiré. Par exemple avec R, il faut utiliser les fonctions as.numeric(), as.factor()... Par contre à notre connaissance aucun logiciel ne demande de spécifier les unités, sans doute parce que souvent les gens ne les connaissent pas et parce que certains calculs utilisent d'autres unités : la moyenne d'un poids exprimé en kg est aussi en kg alors que sa variance est en kg au carré (!) et son coefficient de variation en %. Ce serait pourtant bien utile, pour éviter d'additionner des moyennes et des variances, pour ne pas calculer des moyennes de codes numériques, etc. Au passage, rappelons qu'Excel, qui n'est pas un logiciel de statistiques, ne connait rien : ni QT, ni QL et ne teste rien !

Réaliser la description d'une seule variable ou de plusieurs variables séparément, c'est effectuer une analyse univariée alors que les traiter deux à deux se nomme analyse bivariée. Enfin, une analyse multivariée prend toutes les variables en compte en même temps.

2. Comment décrire une seule QT ?

Pour décrire une seule variable QT on distingue les calculs toujours possibles, comme celle des quantiles ou percentiles dont la médiane, les quartiles, de ceux supposant une additivité des données, nommés moyenne, variance, écart-type, coefficient de variation. Il est souvent conseillé d'utiliser la médiane plutôt que la moyenne lorsque les données sont réparties sur plusieurs ordres de grandeur. Ces deux indicateurs permettent d'appréhender le centre ou la tendance centrale des données L'écart-type et l'écart inter-quartiles viennent décrire la dispersion absolue des données alors que la dispersion relative s'exprime par le coefficient de variation ou l'écart inter-quartiles relatif.

On peut aussi trier les données, les afficher en tige-et-feuilles (stem and leaf) pour comprendre comment elles sont distribuées, les découper en classes. Au niveau des représentations graphiques, on préfère tracer les valeurs quand elles sont peu nombreuses (disons jusqu'à une centaine) mais utiliser un histogramme des classes avec une approximation par densité au-delà. Il est parfois utile d'y superposer la courbe de la loi normale associée, l'intervalle de confiance à 95 %, d'en tracer la boite à moustaches avec ou sans encoche...

Attention : si on calcule et on affiche le minimum et le maximum d'une variable QT, on ne s'en sert pas au niveau statistique parce que ce ne sont pas des résumés globaux, mais plutôt des indicateurs locaux, car une seule valeur peut suffire à modifier ces extrema.

Voici un exemple de code-source R pour effectuer ce genre de calculs pour les données ELF :


     # utilisation des fonctions usuelles de R     
          
     elf  <- read.table("elf.data",head=TRUE,row.names=1)     
     attach(elf)     
     age  <- AGE     
     detach(elf)     
          
     cat("Etude de l'AGE des personnes, dossier ELF\n\n")     
          
     print( summary(age) )     
          
     cat("Nombre de valeurs ",length(age)," personnes\n")     
     cat("Moyenne ",mean(age)," ans\n")     
     cat("Médiane ",median(age)," ans\n")     
     cat("Etendue ",max(age)-min(age)," ans\n")     
     cat("Variance ",var(age)," ans x ans\n")     
     cat("Ecart-type ",sd(age)," ans\n")     
     cat("\n")     
          
     # utilisation des fonctions de statgh.r     
          
     source("http://forge.info.univ-angers.fr/~gh/wstat/statgh.r",encoding="latin1")     
          
     elf  <- lit.dar("elf.data")     
     age  <- elf$AGE     
     decritQT("AGE (analyse ELF)",age,"ans",TRUE)     
     decritQT("AGE (analyse ELF)",age,"ans",TRUE,"rcalcqt1_1.png")     
          

Et les résultats correspondants :


     Etude de l'AGE des personnes, dossier ELF     
          
        Min. 1st Qu.  Median    Mean 3rd Qu.    Max.     
       11.00   22.00   29.00   35.83   48.50   78.00     
          
     Nombre de valeurs  99  personnes     
     Moyenne  35.82828  ans     
     Médiane  29  ans     
     Etendue  67  ans     
     Variance  308.1029  ans x ans     
     Ecart-type  17.55286  ans     
          
          
          
      (gH) version  4.87     
          
     fonctions d'aides : lit() fqt() fql() ic() fapprox() chi2() fcomp() datagh()     
     taper aide() pour revoir cette liste     
          
          
     DESCRIPTION STATISTIQUE DE LA VARIABLE  AGE (analyse ELF)     
          
      Taille                99        individus     
      Moyenne               35.8283         ans     
      Ecart-type            17.5529         ans     
      Coef. de variation    49               %     
      1er Quartile          22.0000         ans     
      Mediane               29.0000         ans     
      3eme Quartile         48.5000         ans     
      iqr absolu            26.5000         ans     
      iqr relatif           91.0000          %     
      Minimum               11              ans     
      Maximum               78              ans     
          
      Tracé tige et feuilles     
          
       The decimal point is 1 digit(s) to the right of the |     
          
       1 | 1223455567778889999     
       2 | 0011222344555566667778888888999     
       3 | 0011123556799     
       4 | 0123446778899     
       5 | 0002239     
       6 | 0011222345     
       7 | 033368     
          
          
          
     DESCRIPTION STATISTIQUE DE LA VARIABLE  AGE (analyse ELF)     
          
      Taille                99        individus     
      Moyenne               35.8283         ans     
      Ecart-type            17.5529         ans     
      Coef. de variation    49               %     
      1er Quartile          22.0000         ans     
      Mediane               29.0000         ans     
      3eme Quartile         48.5000         ans     
      iqr absolu            26.5000         ans     
      iqr relatif           91.0000          %     
      Minimum               11              ans     
      Maximum               78              ans     
          
      Tracé tige et feuilles     
          
       The decimal point is 1 digit(s) to the right of the |     
          
       1 | 1223455567778889999     
       2 | 0011222344555566667778888888999     
       3 | 0011123556799     
       4 | 0123446778899     
       5 | 0002239     
       6 | 0011222345     
       7 | 033368     
          
          
      vous pouvez utiliser  rcalcqt1_1.png     
          
          

Graphique généré :

rcalcqt1_1.png

3. Comment décrire plusieurs QT ?

Pour décrire plusieurs variables QT séparément, on regroupe les indicateurs précédents (moyenne, médiane, écart-type, coefficient de variation...) dans un tableau résumé à raison d'une variable par ligne. Il est conseillé de fournir plusieurs affichages triés suivant différents critères : par ordre alphabétique des variables (si elles sont nombreuses), par coefficient de variation décroissant (si les unités sont différentes), par moyenne décroissante (si ce sont les mêmes unités)...

Par contre pour les décrire conjointement, c'est-à-dire ensemble deux à deux, on calcule pour chaque couple de variables QT un coefficient de corrélation, le plus souvent celui de la corrélation linéaire au sens de Pearson, et on présente l'ensemble de ces coefficients sous forme d'une matrice, nommée mdc ou, selon l'usage, « matrice de corrélation », là où il faudrait dire matrice des coefficients de corrélation. Il faut ensuite trier ces coefficients par valeur absolue décroissante avant de fournir éventuellement les coefficients du modèle linéaire sous-jacent. Il est conseillé de produire une grille ou mosaique des tracés deux à deux ou scatterplot afin de visualiser la distribution des différents couples de points.

Code-source R pour les données VINS :


          
     # utilisation des fonctions usuelles de R     
          
               vins <- read.table("vins.dar",head=TRUE,row.names=1)     
               attach(vins)     
               cat("Analyse descriptive des données VINS\n\n")     
               print(summary(vins))     
               cat("Matrice des corrélations\n")     
               print(cor(vins))     
               cat("Tracé en scatterplot\n")     
               pairs(vins)     
               png("rcalcqt2_1.png")     
               pairs(vins)     
               dev.off()     
               detach(vins)     
          
     # utilisation des fonctions de statgh.r     
          
               source("statgh.r")     
               vins <- lit.dar("vins.dar")     
               allQTdf(vins,rep("hhl",dim(vins)[2]))     
               gr("rcalcqt2_2.png")     
               pairsi(vins)     
               dev.off()     
          
          
          

Résultats :


     Analyse descriptive des données VINS     
          
         BELGIQUE        NEDERLAND            RFA              ITALIE              UK              SUISSE             USA              CANADA     
      Min.   : 0.024   Min.   : 0.0740   Min.   :  0.135   Min.   :0.00000   Min.   :  0.284   Min.   : 0.0000   Min.   : 0.0000   Min.   : 0.0000     
      1st Qu.: 1.986   1st Qu.: 0.7073   1st Qu.:  1.392   1st Qu.:0.00150   1st Qu.:  1.187   1st Qu.: 0.1197   1st Qu.: 0.4415   1st Qu.: 0.0710     
      Median : 2.511   Median : 1.8235   Median :  3.671   Median :0.02700   Median :  7.398   Median : 0.5355   Median : 1.0070   Median : 0.2855     
      Mean   : 7.470   Mean   : 6.2614   Mean   : 20.262   Mean   :1.11906   Mean   : 14.299   Mean   : 2.9646   Mean   : 5.1526   Mean   : 2.8135     
      3rd Qu.: 7.730   3rd Qu.: 8.8492   3rd Qu.: 15.129   3rd Qu.:0.08775   3rd Qu.: 13.390   3rd Qu.: 2.7130   3rd Qu.: 8.7935   3rd Qu.: 1.1270     
      Max.   :38.747   Max.   :22.8060   Max.   :191.140   Max.   :8.03700   Max.   :101.108   Max.   :17.3270   Max.   :26.1920   Max.   :38.5030     
     Matrice des corrélations     
                BELGIQUE NEDERLAND       RFA    ITALIE        UK      SUISSE       USA      CANADA     
     BELGIQUE  1.0000000 0.8701664 0.8691718 0.5856241 0.9415832  0.33528874 0.8699177  0.81427399     
     NEDERLAND 0.8701664 1.0000000 0.5818483 0.2895147 0.6996565  0.51770352 0.6798547  0.45824505     
     RFA       0.8691718 0.5818483 1.0000000 0.6998400 0.9692588  0.19840491 0.8476578  0.94759822     
     ITALIE    0.5856241 0.2895147 0.6998400 1.0000000 0.6906419  0.30980099 0.7172391  0.65852485     
     UK        0.9415832 0.6996565 0.9692588 0.6906419 1.0000000  0.24620969 0.8935279  0.92562833     
     SUISSE    0.3352887 0.5177035 0.1984049 0.3098010 0.2462097  1.00000000 0.4680754 -0.02463488     
     USA       0.8699177 0.6798547 0.8476578 0.7172391 0.8935279  0.46807545 1.0000000  0.74694576     
     CANADA    0.8142740 0.4582450 0.9475982 0.6585248 0.9256283 -0.02463488 0.7469458  1.00000000     
     Tracé en scatterplot     
          
          
     [...]     
          
          
     Voici les 10 premières lignes de données (il y en a 18 en tout)     
          BELGIQUE NEDERLAND    RFA ITALIE     UK SUISSE    USA CANADA     
     CHMP    7.069     3.786 12.578  8.037 13.556  9.664 10.386  0.206     
     MOS1    2.436     0.586  2.006  0.030  1.217  0.471  0.997  0.051     
     MOS2    3.066     0.290 10.439  1.413  7.214  0.112  3.788  0.330     
     ALSA    2.422     1.999 17.183  0.057  1.127  0.600  0.408  0.241     
     GIRO   22.986    22.183 21.023  0.056 30.025  6.544 13.114  3.447     
     BOJO   17.465    19.840 72.977  2.364 39.919 17.327 17.487  2.346     
     BORG    3.784     2.339  4.828  0.098  7.885  3.191 11.791  1.188     
     RHON    7.950    10.537  7.552  0.024  8.172 11.691  1.369  1.798     
     ANJO    2.587     0.600  2.101  0.000  7.582  0.143  0.872  0.131     
     AOCX   17.200    22.806 15.979  0.050 20.004  1.279  4.016  0.944     
          
     Par cdv décroissant     
        Num       Nom   Taille    Moyenne  Unite  Ecart-type  Coef. de var.   Minimum   Maximum     
           8  CANADA        18      2.813    hhl       8.957     318.36   %     0.000    38.503     
           4  ITALIE        18      1.119    hhl       2.584     230.93   %     0.000     8.037     
           3  RFA           18     20.261    hhl      45.910     226.59   %     0.135   191.140     
           5  UK            18     14.299    hhl      24.301     169.95   %     0.284   101.108     
           6  SUISSE        18      2.965    hhl       5.024     169.45   %     0.000    17.327     
           7  USA           18      5.153    hhl       7.550     146.52   %     0.000    26.192     
           1  BELGIQUE      18      7.470    hhl      10.284     137.66   %     0.024    38.747     
           2 NEDERLAND      18      6.261    hhl       8.466     135.21   %     0.074    22.806     
          
     Par ordre d'entrée     
        Num       Nom   Taille    Moyenne  Unite  Ecart-type  Coef. de var.   Minimum   Maximum     
           1  BELGIQUE      18      7.470    hhl      10.284     137.66   %     0.024    38.747     
           2 NEDERLAND      18      6.261    hhl       8.466     135.21   %     0.074    22.806     
           3  RFA           18     20.261    hhl      45.910     226.59   %     0.135   191.140     
           4  ITALIE        18      1.119    hhl       2.584     230.93   %     0.000     8.037     
           5  UK            18     14.299    hhl      24.301     169.95   %     0.284   101.108     
           6  SUISSE        18      2.965    hhl       5.024     169.45   %     0.000    17.327     
           7  USA           18      5.153    hhl       7.550     146.52   %     0.000    26.192     
           8  CANADA        18      2.813    hhl       8.957     318.36   %     0.000    38.503     
          
     Par moyenne décroissante     
        Num       Nom   Taille    Moyenne  Unite  Ecart-type  Coef. de var.   Minimum   Maximum     
           3  RFA           18     20.261    hhl      45.910     226.59   %     0.135   191.140     
           5  UK            18     14.299    hhl      24.301     169.95   %     0.284   101.108     
           1  BELGIQUE      18      7.470    hhl      10.284     137.66   %     0.024    38.747     
           2 NEDERLAND      18      6.261    hhl       8.466     135.21   %     0.074    22.806     
           7  USA           18      5.153    hhl       7.550     146.52   %     0.000    26.192     
           6  SUISSE        18      2.965    hhl       5.024     169.45   %     0.000    17.327     
           8  CANADA        18      2.813    hhl       8.957     318.36   %     0.000    38.503     
           4  ITALIE        18      1.119    hhl       2.584     230.93   %     0.000     8.037     
          
     Matrice des corrélations au sens de  Pearson     
               BELGIQUE NEDERLAND   RFA ITALIE    UK SUISSE   USA CANADA     
     BELGIQUE     1.000     
     NEDERLAND    0.870     1.000     
     RFA          0.869     0.582 1.000     
     ITALIE       0.586     0.290 0.700  1.000     
     UK           0.942     0.700 0.969  0.691 1.000     
     SUISSE       0.335     0.518 0.198  0.310 0.246  1.000     
     USA          0.870     0.680 0.848  0.717 0.894  0.468 1.000     
     CANADA       0.814     0.458 0.948  0.659 0.926 -0.025 0.747  1.000     
          
     Meilleure corrélation  0.9692588  pour  UK  et  RFA  p-value  3.64e-11     
          
     Formules  RFA  =      1.831 * UK       -5.921     
           et  UK  =      0.513 * RFA   +     3.904     
          
      Coefficients de corrélation par ordre décroissant     
          
         0.969  p-value  0.0000  pour  UK         et  RFA     
         0.948  p-value  0.0000  pour  CANADA     et  RFA     
         0.942  p-value  0.0000  pour  UK         et  BELGIQUE     
         0.926  p-value  0.0000  pour  CANADA     et  UK     
         0.894  p-value  0.0000  pour  USA        et  UK     
         0.870  p-value  0.0000  pour  USA        et  BELGIQUE     
         0.870  p-value  0.0000  pour  NEDERLAND  et  BELGIQUE     
         0.869  p-value  0.0000  pour  RFA        et  BELGIQUE     
         0.848  p-value  0.0000  pour  USA        et  RFA     
         0.814  p-value  0.0000  pour  CANADA     et  BELGIQUE     
         0.747  p-value  0.0004  pour  CANADA     et  USA     
         0.717  p-value  0.0008  pour  USA        et  ITALIE     
         0.700  p-value  0.0012  pour  UK         et  NEDERLAND     
         0.700  p-value  0.0012  pour  ITALIE     et  RFA     
         0.691  p-value  0.0015  pour  UK         et  ITALIE     
         0.680  p-value  0.0019  pour  USA        et  NEDERLAND     
         0.659  p-value  0.0030  pour  CANADA     et  ITALIE     
         0.586  p-value  0.0107  pour  ITALIE     et  BELGIQUE     
         0.582  p-value  0.0113  pour  RFA        et  NEDERLAND     
         0.518  p-value  0.0278  pour  SUISSE     et  NEDERLAND     
         0.468  p-value  0.0501  pour  USA        et  SUISSE     
         0.458  p-value  0.0558  pour  CANADA     et  NEDERLAND     
         0.335  p-value  0.1738  pour  SUISSE     et  BELGIQUE     
         0.310  p-value  0.2109  pour  SUISSE     et  ITALIE     
         0.290  p-value  0.2439  pour  ITALIE     et  NEDERLAND     
         0.246  p-value  0.3247  pour  SUISSE     et  UK     
         0.198  p-value  0.4300  pour  SUISSE     et  RFA     
        -0.025  p-value  0.9227  pour  CANADA     et  SUISSE     
          
          

Graphiques générés :

rcalcqt2_1.png

          

rcalcqt2_2.png

Lorsque les variables sont définies avec la même unité, comme c'est la cas pour ces données d'exportation de vins, on peut tracer des boxplots pour comparer visuellement la distribution des données :


     #  lecture des données     
          
        vins <- read.table("vins.dar",head=TRUE,row.names=1)     
          
     # tracé en "boites à moustaches" (boxplots)     
          
        boxplot(vins,col="yellow",main="Exportation de VINS")     
          

vinsboxplot.png

4. Comment décrire une seule QL ?

Pour décrire une seule variable QL, le comptage des différentes modalités se nomme tri à plat et doit se doubler du calcul des pourcentages correspondants, qu'on affiche souvent par ordre décroissant. Il va de soi qu'on affiche les labels mais qu'en aucun cas les code ne doivent apparaitre. La représentation graphique associée préférée est l'histogramme des fréquences, plus apte à montrer les différences qu'un diagramme circulaire en secteurs (camemberts ou parts de gateaux). On peut y faire figurer les comptages, les fréquences, mais les barres doivent de toutes façons être séparées ; l'échelle des hauteurs doit de préférence correspondre aux pourcentages.

Code-source R pour les données ELF :


          
     # lecture de données numériques en 0/1 pour le code-sexe     
          
     elfdata <- read.table("elf.dar",head=TRUE,row.names=1)     
     sx <- elfdata$SEXE # ou elfdata[,"SEXE"]     
          
     # liste des modalités rencontrées     
          
     print( unique(sx) )     
          
     # comptage des modalités     
          
     print( table(sx) )     
          
     # en pourcentage (noter la différence avec le comptage)     
          
     print( round(table(sx)*100/length(sx)) )     
          
     # ce qu'on tape souvent en R mais qui ne convient pas ici     
          
     print( summary(sx) )     
          
     # construisons et analysons une vraie QL     
          
     nbind <- length(sx)     
     sxql <- factor(sx,levels=c(0,1), labels=c("Homme","Femme"))     
     print( summary(sxql) )     
     cat("\nTri à à plat du code-sexe dans ELF (en % pour ",nbind," personnes)\n\n")     
     print( round(table(sxql)*100/length(sxql)) )     
          
     # surtout pas     
          
     png("rcalcql3_1.png",width=1600,height=1200)     
     barplot(sx,main="Surtout pas")     
     dev.off()     
          
     # un peu mieux     
          
     barplot( table(sx) )     
          
     # nettement peu mieux     
          
     png("rcalcql3_2.png",width=1600,height=1200)     
     barplot( table(sxql),main="Nettement mieux" )     
     dev.off()     
          
     # un graphique nommé et normalisé     
          
     pcts <- table(sxql)*100/length(sxql)     
          
     barplot( pcts, ylim=c(0,100) )     
          
     # exemple de ce qu'il ne faut pas faire     
     # et ce qu'il faut faire     
          
     cetopdata <- read.table("cetop2010.dar",head=TRUE,row.names=1)     
     sx2   <- cetopdata$SEXE # ou cetopdata[,"SEXE"]     
     sxql2 <- factor(sx2,levels=c(0,1,2), labels=c("NR","Homme","Femme"))     
     pcts2 <- table(sxql2)*100/length(sxql2)     
          
     png("rcalcql3_3.png",width=1600,height=1200)     
     par(mfrow=c(2,2))     
          
        barplot( table(sx)  )     
        barplot( table(sx2) )     
          
        cc1 <- c("blue","red")         # pas de couleurs communes     
        cc2 <- c("black","blue","red") # à,cause des NR (non réponses)     
        barplot( pcts  , ylim=c(0,100), main="Répartition SEXE dans ELF  en %", col=cc1)     
        barplot( pcts2 , ylim=c(0,100), main="Répartition SEXE dans CETOP en %",col=cc2)     
          
     dev.off()     
          
     # avec les fonctions de statgh.r     
          
     elfdata <- lit.dar("elf.dar")     
     decritQL("Pourcentages SEXE (dossier Elf)",elfdata$SEXE,"Homme Femme",TRUE,"rcalcql3_4.png")     
          
          
          

Résultats :


     [1] 1 0     
     sx     
      0  1      
     35 64      
     sx     
      0  1      
     35 65      
        Min. 1st Qu.  Median    Mean 3rd Qu.    Max.      
      0.0000  0.0000  1.0000  0.6465  1.0000  1.0000      
     Homme Femme      
        35    64      
          
     Tri à à plat du code-sexe dans ELF (en % pour  99  personnes)     
          
     sxql     
     Homme Femme      
        35    65      
          
      TRI A PLAT DE :  Pourcentages SEXE (dossier Elf) (ordre des modalités)      
          
                        Homme Femme  Total     
       Effectif            35    64     99     
       Frequence (en %)    35    65    100     
       Cumul fréquences    35   100    100     
          
          
      QUESTION :  Pourcentages SEXE (dossier Elf) (par fréquence décroissante)      
          
                        Femme Homme  Total     
       Effectif            64    35     99     
       Frequence (en %)    65    35    100     
       Cumul fréquences    65   100    100     
          
     [1] "Homme" "Femme"     
          
      vous pouvez utiliser  rcalcql3_4.png      
          
          
          

Graphiques générés :

rcalcql3_1.png

          

rcalcql3_2.png

          

rcalcql3_3.png

          

rcalcql3_4.png

5. Comment décrire plusieurs QL ?

Pour décrire plusieurs variables QL séparément, il faut recourir à un tableau résumé des fréquences et pourcentages, que nous conseillons de construire comme suit : ce tableau contient sur chaque ligne les plus forts pourcentages des modalités d'une même variable ; les lignes du tableau sont triés par ordre décroissant suivant le mode c'est-à-dire suivant la valeur du plus fort pourcentage (voir l'exemple ci-dessous pour mieux comprendre comment est constitué le tableau). S'il est licite et conseillé de tracer tous les histogrammes de fréquence, on prendra soin à utiliser les mêmes échelles afin de permettre une comparaison visuelle des comptages.

Par contre, pour décrire conjointement plusieurs variables QL, c'est-à-dire ensemble deux à deux, on calcule pour chaque couple de variables QT les comptages de couples de modalités, ce qui se nomme tri croisé et on affiche des histogrammes de comptages groupés, empilés ou superposés suivant ce qui est le plus « flagrant ».

Code-source R, toujours pour les données ELF :


          
     # lecture des données     
          
     elfdata <- lit.dar("elf.dar")     
          
     # tri croisé minimaliste     
          
     cat("Ce qu'il ne faut pas afficher\n")     
     print( table(elfdata$SEXE) )     
     print( table(elfdata$ETUD) )     
     print( table(elfdata$SEXE,elfdata$ETUD) )     
          
     # et ses graphiques possibles     
          
     png("rcalcql4_1.png",width=1600,height=1200)     
     par( mfrow=c(2,2))     
     cinqcouleurs <- c("red","green","blue","yellow","black")     
     barplot(table(elfdata$SEXE,elfdata$ETUD))     
     barplot(table(elfdata$ETUD,elfdata$SEXE),col=cinqcouleurs)     
          
     barplot(table(elfdata$ETUD,elfdata$SEXE),col=cinqcouleurs,beside=TRUE)     
     barplot(table(elfdata$SEXE,elfdata$ETUD),col=cinqcouleurs,beside=TRUE)     
     dev.off()     
          
     # mieux : avec des modalités     
          
     m_sexe <- c("Homme","Femme")     
     m_etud <- c("NR","Primaire","Secondaire","Bac","Supérieur")     
     sexe   <- factor(elfdata$SEXE,levels=0:1,labels=m_sexe)     
     etud   <- factor(elfdata$ETUD,levels=0:4,labels=m_etud)     
          
     cat("[ce qu'il faut afficher]\n")     
     titre1 <- "Tri à plat de SEXE dans le dossier ELF"     
     cat(titre1,"\n")     
     print( table(sexe) )     
     titre2 <- "Tri à plat de ETUD dans le dossier ELF"     
     cat(titre2,"\n")     
     print( table(etud) )     
     titre3 <- "Tri croisé SEXExETUD dans le dossier ELF"     
     cat("\n",titre3,"\n")     
     print( table(sexe,etud) )     
          
     png("rcalcql4_2.png",width=1600,height=1200)     
     par( mfrow=c(2,1))     
     barplot(table(etud,sexe),col=cinqcouleurs,beside=TRUE,     
     legend.text=m_etud,args.legend=list(x="topleft"),main=titre3 )     
     barplot(table(sexe,etud),col=cinqcouleurs,beside=TRUE)     
     dev.off()     
          
          

Résultats :


     Ce qu'il ne faut pas afficher     
          
      0  1     
     35 64     
          
      0  1  2  3  4     
      3  6 30 21 39     
          
          0  1  2  3  4     
       0  2  1  7  8 17     
       1  1  5 23 13 22     
            
     [ce qu'il faut afficher]     
     Tri à plat de SEXE dans le dossier ELF     
     sexe     
     Homme Femme     
        35    64     
     Tri à plat de ETUD dans le dossier ELF     
     etud     
             NR   Primaire Secondaire        Bac  Supérieur     
              3          6         30         21         39     
          
      Tri croisé SEXExETUD dans le dossier ELF     
            etud     
     sexe    NR Primaire Secondaire Bac Supérieur     
       Homme  2        1          7   8        17     
       Femme  1        5         23  13        22     
          

Graphiques générés :

rcalcql4_1.png

          

rcalcql4_2.png

Si on utilise statgh.r :


          
     # lecture de statgh.r     
          
     source("statgh.r")     
          
     # lecture des données     
          
     elfdata <- lit.dar("elf.dar")     
          
     # conversion en variables qualitatives     
          
     m_sexe <- c("Homme","Femme")     
     m_etud <- c("NR","Primaire","Secondaire","Bac","Supérieur")     
     sexe   <- factor(elfdata$SEXE,levels=0:1,labels=m_sexe)     
     etud   <- factor(elfdata$ETUD,levels=0:4,labels=m_etud)     
          
     # tri croisé     
          
     triCroise("SEXE",sexe,m_sexe,"ETUD",etud,m_etud,TRUE,"rcalcql5_1.png")     
          
     # analyse avec tableau récapitulatif bien structuré     
          
          # définition des matrices de modalités     
          
          elfCOLQL <- c(2,5)     
          elfQLm   <- matrix(nrow=length(elfCOLQL),ncol=3)     
              # col 1 : intitulé court     
              # col 2 : texte de la question     
              # col 3 : modalités concaténées avec le symbole | via la fonction lstMod     
          
          # remplissage des matrices de modalités     
          
          elfQLm[1,1] <- c(" SEXE ")     
          elfQLm[1,2] <- c(" Sexe de la personne")     
          elfQLm[1,3] <- lstMod( m_sexe )     
          
          elfQLm[2,1] <- c(" ETUD ")     
          elfQLm[2,2] <- c(" Niveau d'études ")     
          elfQLm[2,3] <- lstMod( m_etud )     
          
          allQL(elfdata,elfQLm,elfCOLQL)     
          
          

Résultats :


          
          
          
      TRI CROISE DES QUESTIONS :     
           SEXE  (en ligne)     
           ETUD  (en colonne)     
     Effectifs     
           NR Primaire Secondaire Bac Supérieur     
     Homme  2        1          7   8        17     
     Femme  1        5         23  13        22     
          
       Valeurs en % du total     
           NR Primaire Secondaire Bac Supérieur TOTAL     
     Homme  2        1          7   8        17    35     
     Femme  1        5         23  13        22    65     
     TOTAL  3        6         30  21        39   100     
          
          
      CALCUL DU CHI-DEUX D'INDEPENDANCE     
          
      =================================     
          
      TABLEAU DES DONNEES     
          
                  Homme   Femme   Total     
     NR               2       1       3     
     Primaire         1       5       6     
     Secondaire       7      23      30     
     Bac              8      13      21     
     Supérieur       17      22      39     
     Total           35      64      99     
          
      VALEURS ATTENDUES et MARGES     
          
                  Homme   Femme   Total     
     NR             1.1     1.9       3     
     Primaire       2.1     3.9       6     
     Secondaire    10.6    19.4      30     
     Bac            7.4    13.6      21     
     Supérieur     13.8    25.2      39     
     Total         35.0    64.0      99     
          
      CONTRIBUTIONS SIGNEES     
          
                        Homme        Femme     
         NR             +  0.832     -  0.455     
         Primaire       -  0.593     +  0.324     
         Secondaire     -  1.226     +  0.671     
         Bac            +  0.045     -  0.024     
         Supérieur      +  0.748     -  0.409     
          
      Valeur du chi-deux   5.326981     
          
      Le chi-deux max (table) à 5 % est  9.487729 ; p-value  0.2553618 pour  4  degrés de liberte     
          
      décision : au seuil de  5 % on ne peut pas rejeter l'hypothèse     
      qu'il y a indépendance entre ces deux variables qualitatives.     
          
          
       PLUS FORTES CONTRIBUTIONS AVEC SIGNE DE DIFFERENCE     
          
         Signe     Valeur    Pct       Mligne       Mcolonne     Ligne   Colonne     Obs       Th     
            -        1.226   23.02 %   Secondaire   Homme            3         1       7     10.6     
            +        0.832   15.62 %   NR           Homme            1         1       2      1.1     
            +        0.748   14.05 %   Supérieur    Homme            5         1      17     13.8     
            +        0.671   12.59 %   Secondaire   Femme            3         2      23     19.4     
            -        0.593   11.13 %   Primaire     Homme            2         1       1      2.1     
            -        0.455    8.54 %   NR           Femme            1         2       1      1.9     
            -        0.409    7.68 %   Supérieur    Femme            5         2      22     25.2     
            +        0.324    6.08 %   Primaire     Femme            2         2       5      3.9     
            +        0.045    0.84 %   Bac          Homme            4         1       8      7.4     
            -        0.024    0.46 %   Bac          Femme            4         2      13     13.6     
          
       TABLEAU RECAPITULATIF DES VARIABLES QUALITATIVES     
          
         Intitulé     Question     
         --------     --------     
          SEXE           Sexe de la personne     
          ETUD           Niveau d'études     
          
         Affichage par mode décroissant puis par effectifs décroissants     
          
             SEXE   65  % Femme       35  % Homme     
             ETUD   39  % Supérieur   30  % Secondaire   21  % Bac     
          
          

Graphiques générés :

rcalcql5_1.png

          

rcalcql5_2.png

6. Comment décrire QT et QL ensemble ?

Pour décrire une variable QT et une QT ensemble, il suffit de décrire la variable QT pour chaque modalité de la QL et de mettre ensemble tous les résultats et graphiques. Pour savoir s'il y a une différence significative entre ces résultats, il faut réaliser une ANOVA, -- paramétrique ou non --, ce qui est décrit dans le cours suivant.

Code-source R :


          
      elfdata <- lit.dar("elf.dar")     
      age     <- elfdata$AGE     
      m_sexe  <- c("Homme","Femme")     
      sexe    <- elfdata$SEXE     
      sexeql  <- factor(elfdata$SEXE,levels=0:1,labels=m_sexe)     
          
      agehom <- age[sexe==0]     
      agefem <- age[sexe==1]     
          
      mres <- rbind(summary(agehom),summary(agefem),summary(age))     
      row.names(mres) <- c("Hommes","Femmes","Tous")     
          
      print( mres )     
          
      #png("rcalc5_1.png",width=1600,height=1200)     
      stripchart(age~sexeql,col=c("red","blue"),pch=19,method="jitter")     
      #dev.off()     
          
      # avec les fonction de statgh.r :     
      #   attention, il faut installer le package beanplot     
      #   par install.packages("beanplot")     
      #   ou par     
      #   après avoir téléchargé le fichier .zip     
      #   à l'adresse     
          
      decritQTparFacteur("AGE dans ELF",age,"ans","SEXE",sexe,"homme femme",TRUE,"rcalc5.png")     
          
          

Résultats :


          
               Min. 1st Qu. Median  Mean 3rd Qu. Max.     
        Hommes   12    25.5   29.0 36.40   48.00   78     
        Femmes   11    21.0   29.5 35.52   48.25   76     
        Tous     11    22.0   29.0 35.83   48.50   78     
          
        VARIABLE QT  AGE dans ELF (unité=ans)     
        VARIABLE QL  SEXE  labels :  homme femme     
          
                  N       Moy Unite       Ect Cdv        Q1       Med        Q3       EIQ Min Max     
        Global   99   35.8283   ans   17.4640  49        22        29      48.5      26.5  11  78     
        homme    35   36.4000   ans   16.6497  46      25.5        29        48      22.5  12  78     
        femme    64   35.5156   ans   17.8859  50        21      29.5     48.25     27.25  11  76     
          
        Analysis of Variance Table     
          
        Response: nomVarQT     
                  Df  Sum Sq Mean Sq F value Pr(>F)     
        nomVarQL   1    17.7  17.696  0.0569  0.812     
        Residuals 97 30176.4 311.097     
          
          

Graphiques générés :

rcalc5_1.png

          

rcalc5_2.png

 

retour au plan de cours

 

 

retour gH    Retour à la page principale de   (gH)