Valid XHTML     Valid CSS2    

Logiciels statistiques en 2014

1. Présentation de logiciels de statistiques

1.1  Excel seul puis avec Statbox

1.2  Spss

1.3  Statistica

1.4  Sas

1.5  R

Pour la comparaison des logiciels généraux en statistiques, consulter mon cours 5 pour EDA, présenté sous forme de questions et réponses.

2. Exemples de calculs et d'automatisation

Pour un public général (L1, L2, L3MEF...) les fichiers de données proposés, à savoir ELF, VINS et TITANIC sont généraux et les données faciles à comprendre. Pour un public plus spécialisé (M1BTV, M2INFO, Ecole doctorale), il vaudrait mieux suivre le même plan mais utiliser les fichiers suivants :

  • pathologie (1 QT, 1 QL et étude QT par QL) au lieu de ELF
  • her (1 QL, plusieurs QT) au lieu de ELF
  • lea4 (plusieurs QL, plusieurs QT) au lieu de VINS
  • tetracyclin (2 QL) au lieu de TITANIC
0 - Lecture des données et codages

    1. lecture des .DBF (conseillé)
    2. lecture des .XLS
    3. lecture des .TXT ou .CSV

attention : pour les variables qualitatives ordinales garder les codes
            sinon l'ordre risque d'être alphabétique ;
            utiliser ensuite les associations texte/valeur pour l'affichage.


1 - Etude QL : SEXE et ETUD pour ELF

    1. Tris à plat [avec labels et pourcentages décroissants]
    2. Tri croisé simple (effectifs absolus) [avec autres effectifs]
    3. Histogrammes des tris à plat [avec bornes communes]
    4. Histogramme du tri croisé

2 - Etude QT : tous les PAYS pour VINS

    1. Caractéristiques m sigma etc [avec unité et tri par cdv]
    2. Matrice des corrélations [et liste décroissante des rho]
    3. Meilleure corrélation et sa liaison linéaire
    4. Boxplots de toutes les variables
    5. Courbe UK = f(RFA) [avec équation]

3 - Tests et Comparaisons 

    Comparaison Pct : % SEXE dans ELF
    Comparaison Moy : AGE par SEXE dans ELF
    Comparaison QL  : CLASS et SURV dans  TITANIC

4 - Automatisation des calculs, programmation

    Qui a besoin d'automatiser ?
    Exemples en Excel
    Exemples Sas
    Exemples R
    Pages web avec perl, php...

Calculs avec Excel

Il faut rester très prudent avec Excel lors des calculs. Si on ne risque "rien" pour les tris à plats et tris croisés (Menu Données / Rapport de tableau croisé dynamique) ou pour le tracé rapide de courbes et histogrammes, on voit très vite les limites d'Excel en calcul et affichage graphique. Mais il y a quand même de nombreuses fonctions statistiques et graphiques, pour qui connait les formules et pour les programmeurs... et programmeuses.

Sur les dangers d'Excel, on pourra lire :

Calculs QL avec Excel

On charge le fichier ELF.DBF et on fait de suite "Format / Mise en forme automatique" pour bien voir les données. A l'aide de "Données / Rapport de tableau croisé dynamique" on clique sur "Suivant" à l'étape 1 et à l'étape 2 car il s'agit d'une base de données et on n'a qu'à cliquer sur "Disposition" pour faire glisser le champ SEXE sur le mot LIGNE. On fait ensuite glisser IDEN sur le mot Données car il s'agit d'un champ texte et donc la seule opération possible est le comptage, repérée par "Nombre de IDEN". Un double-clic sur "Nombre de IDEN" puis sur le bouton Options amène à la liste déroulante de la section "Afficher les données" où l'on peut choisir "% du total".

Pour le tri croisé, on mettra SEXE en Ligne et ETUD en Colonne.

Les histogrammes s'obtiennent à l'aide du bouton "Graphique" du gestionnaire de tri croisé ou à l'aide d'un clic droit sur "Nombre de IDEN" apparu au début du tri croisé. On peut ramener le graphique sur la feuille à l'aide d'un clic-droit sur le fond du graphique et en cliquant sur "Emplacement".

Calculs QT avec Excel

On charge le fichier VINS.DBF et on fait de suite "Format / Mise en forme automatique" pour bien voir les données.

Sous les données, par exemple en A21 on peut écrire le nom des calculs pour mémoire, par exemple m pour moyenne. En B21 on écrit =MOYENNE(B2:B19) ce qui calcule la moyenne de la colonne B. On calcule ensuite en B22 l'écart-type via ECARTYPEP (le P final est volontaire) et en B23 le coefficient de variation se calcule comme =B22/B21 que l'on affiche en pourcent. A l'aide de la poignée de recopie, on peut ensuite répéter ces calculs pour les autres variables.

Si on veut trier par coefficient de variation décroissant, il est prudent de rajouter la ligne des noms de variable (par exemple en ligne 20 que nous avions laissée libre) avant de faire un copier suivi d'un "coller spécial" en cliquant "Valeurs" de façon à pouvoir ensuite faire "Données / Trier" sans risquer de perturber les adresses relatives des calculs.

Il n'est par contre par simple de calculer les meilleures corrélations, la matrice de corrélation pouvant s'obtenir assez aisément avec "l'utilitaire d'analyse" fourni avec les "macros complémentaires".

Le tracé de UK en fonction de RFA se fait après avoir trié toutes les lignes de données par RFA croissant à l'aide de l'assistant graphique pour "Nuage de points" sans aucune option. Le tracé une fois affiché, un clic-droit sur un des points du graphique amène un menu contextuel dans lequel on peut cliquer "Ajouter une courbe de tendance" qu'on prendra linéaire. On n'oubliera pas de cliquer sur Options pour cocher "Afficher l'équation sur le graphique" et "Afficher le coefficient de détermination".

Calculs sous Excel via Statbox

Statbox, tout comme Xlstat est un add-on pour Excel et ajoute de nouvelles fonctionnalités. Payant, mais pas très cher, Statbox est limité mais très simple à utiliser et fournit des "phrases" pour interpréter les résultats des tests. On l'utilise directement via ses menus. C'est un bon logiciel pour commencer à s'abstraire et se libérer d'Excel puis pour commencer à utiliser un "vrai" logiciel statistique.

Calculs avec Spss

Calculs QL avec Spss

Une fois le fichier ELF.DBF chargé, on va dans l'onglet "Affichage des variables" et on associe les labels aux codes en cliquant sur le mot "Aucun" dans la colonne "Valeurs". On peut ensuite saisir les codes et les mots associés (faire "Ajouter" avant de finir la saisie par "Ok").

Les tris à plat se font à l'aide du menu Analyse / Statistiques descriptives / Effectifs. Dans le panneau "Effectifs" qui apparait, on fait passer de gauche à droite les deux variables SEXE et ETUD puis on valide par "Ok".

On obtient alors les résultats par ordre de code. Pour afficher par effectif décroissant, dans le panneau effectif, il faut cliquer sur le bouton "Format..." et cocher l'option "Comptages décroissants", valider par "Poursuivre" et cliquer ensuite sur "Ok".

Pour effectuer le tri croisé, on utilise le menu "Analyse / Statistiques descriptives / Tableaux croisés". On met SEXE dans le panneau "Ligne", ETUD dans le panneau "Colonne" et on valide par "Ok".

Pour obtenir d'autres valeurs que les effectifs absolus, on utilise le bouton "Cellules" dans le panneau "Tableaux croisés" et on coche les cases nommées "Pourcentages".

Pour les histogrammes des tris à plat, on passe par le menu "Graphes / Batons". On choisit les "batons simples" en "analyse par catégorie" et on clique sur "Définir". On coche "% d'observations" et on met SEXE comme "Axe de modalités" avant de cliquer sur "Ok". On fait de même pour ETUD.

Pour l'histogramme du tri croisé, on reprend "Graphes / Batons" mais on choisit les "batons juxtaposés" en "analyse par catégorie" et on clique sur "Définir". On coche "effectif" on sélectionne SEXE comme "Axe de modalités" et on met ETUD dans la ligne de saisie "Définir les groupes de batons par :". On clique ensuite sur "Ok".

Calculs QT avec Spss

On charge le dossier VINS.DBF et on utilise le menu "Analyse / Statistiques descriptives / Descriptives". On fait passer toutes les variables à droite et on valide par "Ok".

On peut utiliser le bouton "Options..." dans le panneau des variables à analyser pour cocher "Moyennes décroissantes" comme ordre d'affichage.

Le calcul de la matrice des corrélations se fait à partir du menu "Analyse / Corrélation / Bivariée". On fait passer toutes les variables à droite et on valide par "Ok".

Pour les boites à moustaches, on utilise le menu "Graphes / Boites de dialogue héritées / Boites à moustaches" et on choisit "simple" avec "analyse par variable" avant de cliquer sur "Définir". On fait passer toutes les variables à droite dans la zone "Les boites représentent" et on valide par "Ok".

Pour le seul tracé de UK en fonction de RFA, on utilise le menu "Graphes / Boites de dialogue héritées / Courbes" et on choisit "simple" et "représentation de valeurs" avant de cliquer sur "Définir". On met UK pour "la courbe représente" et RFA pour "variable" (dans étiquettes des modalités) et on clique sur "Ok". Malheureusement les données ne sont pas triées ! Dans l'affichage des données, on fait un clic droit sur le mot rfa et on choisit "Trier dans l'ordre croissant" et on refait "Graphes / Courbes..."

Mieux : à l'aide du menu "Analyse / Régression / Linéaire" en mettant UK comme "variable dépendante" et RFA en "variable explicative" on obtient le détail de la régression et avec le menu "Analyse / Régression / Ajustement de fonctions" si on coche "Représenter sous forme graphique" et "Linéaire" pour "Modèles" on obtient les points pour les données et la droite de régression.

Comparaisons avec Spss

En cas de doute sur le test à utiliser, on peut consulter la page whatstat.

Comp. % de SEXE dans ELF

Utiliser le menu "Analyse / Tests non paramétriques / Chideux". Mettre SEXE comme seule variable. On trouve p = 0,004.

Comp. Moyennes d'AGE par SEXE dans ELF

Utiliser le menu "Analyse / Comparer les moyennes / Moyennes" et mettre AGE comme "variable dépendante", SEXE comme "variable explicative". Cliquer sur "options" pour cocher "Tableau Anova et Eta".

On peut aussi utiliser le menu "Analyse / Comparer les moyennes / Anova à 1 Facteur" et mettre AGE comme "variable à tester" et SEXE comme "facteur". On trouve p = 0,812.

Comp. Indépendance CLASS / SURV dans TITANIC

Pour effectuer le calcul du chi deux, on utilise le menu "Analyse / Statistiques descriptives / Tableaux croisés". Dans le panneau qui apparait, on clique sur le bouton "Statistiques" et dans le nouveau panneau qui apparait, on coche "Chi-deux" avant de valider par "Poursuivre". Dans l'ancien panneau qui réapparait, il est bon de cliquer sur le bouton "Cellules" afin de cocher le mot "Théorique" pour la rubrique "Effectif" puis de valider par "Poursuivre". Il ne reste plus qu'à valider par "Ok" pour lire le résultat : 190,4 avec une p-value = 0,000.

Calculs avec Statistica

Calculs QL avec Statistica

Une fois le fichier ELF.DBF chargé, on associe les labels aux codes avec un double-clic sur le nom de la variable ce qui fait apparaitre le panneau de gestion de la variable. Il suffit ensuite de cliquer sur le bouton "Valeurs-texte".

Les tris à plat se font à l'aide du "commutateur de modules" : on clique sur "Statistiques / Statistiques Elémentaires" et on sélectionne "Tables de fréquences". On peut alors sélectionner les deux variables SEXE et ETUD en même temps à l'aide du bouton "Variables" (il faut utiliser la touche CTRL pour faire une sélection multiple ou saisir les numéros de variable). On valide par "Ok" et on clique sur le bouton "Synthèse" en haut et à droite du panneau.

On obtient alors les résultats par ordre de code. Avec un clic-droit sur le mot effectif on fait apparaitre un menu contextuel qui comporte en dernière option les mots "Trier les observations".

Pour effectuer le tri croisé, on reprend le "commutateur de modules" positionnée en "Tables de fréquences" et on clique sur "Annuler" pour revenir au module précédent. On clique alors sur "Tableaux et Tris croisés". Dans l'onglet "Tableaux croisés" on clique sur "Spécifier les tables" et on entre SEXE pour la variable 1, ETUD pour la variable 2. Un clic sur "Ok" puis sur le bouton "Synthèse" en haut et à droite du panneau affiche alors le tri croisé.

Pour obtenir d'autres valeurs que les effectifs absolus, on utilise l'onglet "Options" et on coche les cases de "Pourcentage des effectifs..." et on valide le bouton "Synthèse" en haut et à droite du panneau.

Pour les histogrammes des tris à plat, on revient sur la feuille qui affiche les données et on fait "Graphiques / Graphiques des données d'entrée" (avant-dernière option) et on choisit "Histogramme : SEXE / Histogramme simple". On fait de même pour ETUD.

Pour l'histogramme du tri croisé, on revient sur le module "Tableaux et Tris croisés", on resélectionne les variables SEXE et ETUD dans cet ordre et on valide par "Ok". Dans l'onglet "Base" il suffit alors de cliquer sur le bouton "Histogrammes catégorisés".

Calculs QT avec Statistica

On charge le dossier VINS.DBF et on utilise le menu "Statistiques / Statistiques Elémentaires" puis "Statistiques descriptives". On clique sur le bouton "Variables" et on utilise le bouton "Tout" pour sélectionner toutes les variables. On clique ensuite sur le bouton "Synthèse" en haut et à droite du panneau. On peut trier les résultats par moyenne décroissante à l'aide d'un clic droit sur le champ Moyenne ou via le menu "Données / Trier". Comme Statistica ne calcule pas automatiquement le coefficient de variation, dans le classeur des résultats, on fait un clic-droit sur Ecart-type et on sélectionne "Ajouter des Variables". On ajoute une variable après Ecart-type (utiliser F2) qu'on nomme CDV et on la calcule par "=V5/V2" en "Format Pourcentage". On peut alors trier par CDV décroissant...

Le calcul de la matrice des corrélations se fait en revenant au module "Statistiques descriptives" : on fait "Annuler" pour revenir au module précédent et on sélectionne "Matrices de corrélation". On clique ensuite sur le bouton "2 Listes" et on met "Tout" et "Tout" pour chacune des deux listes. A l'aide du bouton "Synthèse" en haut et à droite du panneau on obtient alors la matrice demandée.

Pour avoir les coefficients de corrélation linéaire triés par ordre décroissant en valeur absolue, on revient sur le module "Matrices de corrélation" et on utilise l'onglet "Options". On coche "Tableau détaillé des résultats" et on clique sur "Synthèse". Pour trier, on fait un clic-droit sur le nom d'un champ de résultats et on utilise "Trier les observations". Dans le panneau "Options de tri" qui apparait, on prend comme "champ 1" r2 par ordre décroissant puis r(X,Y) par ordre décroissant.

Pour les boites à moustaches, on revient au module "Statistiques descriptives", on sélectionne "toutes les variables" et dans l'onglet "Base" on clique sur "Boites à moustaches de toutes les variables".

Pour voir tous les nuages de points, on reste dans le module "Statistiques descriptives" et on utilise l'onglet "Nuages de points". On ne clique pas sur "Nuage de points en 2D" mais sur "Nuages de points matriciel" et on entre "Tout" comme liste.

Pour le seul tracé de UK en fonction de RFA, on utilise "Nuage de points en 2D" et on entre dans cet ordre RFA puis UK.

Comparaisons avec Statistica

La documentation et les exemples de Statistica sont très bien faits. Vous les trouvez sur le web en anglais.

% de SEXE dans ELF

Utiliser le menu "Statistiques / Statistiques Elémentaires / Tests d'homogénéité". Remplir le troisième tableau avec les proportions 0.3535354 et 0.6464646 puis mettre N1=N2=99 ; on trouve p = 0,0001.

Moyenne d'AGE par SEXE dans ELF

Utiliser le menu "Statistiques / Statistiques Elémentaires / Décompositions et Anova à 1 facteur". AGE est la "variable dépendante" et SEXE la "variable de classement". On trouve p = 0,811.

Indépendance CLASS / SURV dans TITANIC

A l'aide dui menu "Statistiques / Statistiques Elémentaires" et on sélectionne "Tables sur "Tableaux et Tris croisés". Dans l'onglet "Tableaux croisés" on clique sur "Spécifier les variables" et on entre CLASS et SURV. Après avoir appué sur "Ok", on clique sur l'onglet "Options" pour cocher "Effectifs théoriques" et "Chi2 max de vraisemblance et Pearson". On clique ensuite sur "synthèse". On obtient 190,401 avec p = 0,00000.

Calculs avec Sas

Calculs QL avec Sas


* lecture du fichier dbase ;

filename elf_ent 'Z:\elf.dbf' ;

proc dbf db3=elf_ent out=elf_ent ;

* si on préfère, lecture du fichier Excel ;

proc import datafile="z:\elf.xls" out=elf_xls dbms=excel replace;

* version française ;

proc format ;
 value   Esexf  0='Homme' 1='Femme' ;
 value   Eetudf 0='NR' 1='Primaire' 2='Bepc' 3='Bac' 4='Sup' ;

data elf ;
     set elf_ent ;
     label   SEXE = 'Sexe de la personne' ;
     label   ETUD = 'Niveau d''études' ;
     format  SEXE Esexf. ETUD Eetudf. ;

* version anglaise ;

proc format ;
 value   EsexfEN  0='Male' 1='Female' ;
 value   EetudfEN 0='None' 1='Primary' 2='School' 3='College' 4='University' ;

data elfEN ;
     set elf_ent ;
     label   SEXE = 'Gender of the person' ;
     label   ETUD = 'Education level' ;
     format  SEXE EsexfEN. ETUD EetudfEN. ;

* tris à plat ; 

proc freq data=elf order=freq;
     table sexe etud ;

* pour la version anglaise, on n'affiche pas les cumuls 

proc freq data=elfEN ;
     table sexe etud / nocum ;

* tris croisés ;

proc freq data=elf;
     table sexe* etud ;

* pour la version anglaise, on n'affiche que les effectifs

proc freq data=elfEN;
     table sexe* etud / norow nocol nopct ;

* histogramme des tris à plat ;

proc gchart data=elf ;
     vbar sexe etud / discrete ref=50 frame raxis=axis1 clipref ;
     pattern v=s c=blue ;
     axis1 order=(0 to 70 by 10) minor=none label=none ;

* histogramme du tri croisé ; 

proc gchart data=elf ;
     vbar etud / type=percent group=sexe subgroup=sexe discrete ;
     pattern1 v=L1 c=orange r=1 ;
     pattern2 v=s  c=blue   r=43 ;

run ;

Calculs QT avec Sas


 * lecture du fichier Dbase ; 

filename vinsdbf 'Z:\vins.dbf' ;

proc dbf db3=vinsdbf out=vins ;

* caractéristiques ; 

proc means data=vins n mean stddev cv min max maxdec=2 ;

* matrice des corrélations ; 

proc corr data=vins ;

* étude de la corrélation linéaire uk = f(rfa) ; 

proc reg data=vins ;
     model uk=rfa ;
     output out=regression predicted=yp ;

* boxplots ; 

data sniv ;
     infile "z:\sniv.dat" ;
     input pays $ @ ;
     do i = 1 to 18 ;
        input vin  @ ;
        output ;
     end ;
     drop i ;
proc print data=sniv ;

symbol color=salmon h=.8 ;
axis1 minor=nonr color=black label=none ;
proc boxplot data=sniv ;
     plot vin*pays / cframe = vligb
                     cboxes = dagr
                     cboxfill = ywh
                     vaxis    = axis1
; /* fin de boxplot */

* tracé de la régression linéaire ; 

proc gplot data=regression ;
     symbol1 c=blue   v=dot ;
     symbol2 c=orange i=join ;
     plot uk*rfa yp*rfa / overlay ;

Comparaisons avec SAS

En cas de doute sur le test à utiliser, on peut consulter la page "choose" et lire avec profit la page en anglais des procédures SAS les plus courantes dans "whatSTAT/SAS".

* Comparaison de pourcentages : SEXE dans ELF ;


proc freq data=elf ;
     tables sexe / Chisq ;

run;

Le Système SAS          14:34 Thursday, April 20, 2007   1

La procédure FREQ
                                            Fréquence    Pourcent.
SEXE    Fréquence           Pourcentage     cumulée       cumulé
------------------------------------------------------------------
   0          35            35.35                 35       35.35
   1          64            64.65                 99      100.00


     Test du Khi-2
pour proportions égales
-----------------------
Khi-2            8.4949
DDL                   1
Pr > Khi-2       0.0036

Taille de l'échantillon = 99

* Comparaison de Moyenne d'AGE par SEXE dans ELF ; 


options nofmterr ;

proc anova data=gh.ELF ;
     CLASS sexe ;
     MODEL age=sexe ;
run;

Le Système SAS          14:34 Thursday, April 20, 2007   7
The ANOVA Procedure

Informations sur le niveau de classe

Classe       Niveaux    Valeurs

SEXE               2    Femme Homme


Number of Observations Read          99
Number of Observations Used          99

Dependent Variable: AGE   Age (en années)

                                        Somme des                     Valeur
Source                      DF          carrés     Carré moyen          F    Pr > F

Model                        1        17.69643        17.69643       0.06    0.8120

Error                       97     30176.38437       311.09675

Corrected Total             98     30194.08081


                 R-carré     Coeff Var    Racine MSE    AGE Moyenne

                0.000586      49.22908      17.63793       35.82828


                                                                   Valeur
Source                      DF        Anova SS     Carré moyen          F    Pr > F

SEXE                         1     17.69643308     17.69643308       0.06    0.8120


* Indépendance CLASS / SURV dans TITANIC ; 

proc freq data=titanic ;
   tables surv*class
          / chisq expected norow nocol nopercent cellchi2 ;


   Statistique                       DF      Valeur    Proba.
   ----------------------------------------------------------
   Khi-2                              3    190.4011    <.0001
   Test du rapport de vraisemblance   3    180.9014    <.0001
   Khi-2 de Mantel-Haenszel           1      0.0001    0.9915
   Coefficient Phi                           0.2941
   Coefficient de contingence                0.2822
   V de Cramer                               0.2941

Calculs avec R

Rappel : R est le seul logiciel gratuit présenté dans ces pages.

Calculs QL avec R


     # chargement des programmes GH

     source("statgh.r")

     # chargement des programmes GH via internet

     # source("http://www.info.univ-angers.fr/pub/gh/statgh.r") ;

     # lecture du fichier Dbase

     elf  <- lit.dbf("elf.dbf") ;

     # lecture possible par internet via 

     # elf  <- lit.dbf("http://www.info.univ-angers.fr/pub/gh/Datasets/elf.dbf") ;

     # définition de variables pour R

     sexe <- elf$dbf[,2]
     etud <- elf$dbf[,5]

     # tri à plat en absolu

     tap1 <- table(sexe)
     print(tap1)

     # tri à plat en relatif

     tap2 <- 100.0*(table(sexe)/length(sexe))
     print(tap2)

     # tri croisé

     tcr <- table(sexe,etud)
     print(tcr)

     # histogrammes

     hist(sexe)
     barplot(tap1)
     barplot(table(etud))
     barplot(tcr,beside=TRUE)

Calculs QT avec R

     # lecture du fichier Dbase

     vinsdata  <- read.dbf("vins.dbf") ;
     vins      <- vinsdata$dbf[,-1]

     # caractéristiques

     print( summary(vins) )

     # matrice des corrélations

     print( cor(vins) )

     # liaison linéaire uk=f(rfa)

     rfa <- vins[,3]
     uk  <- vins[,5]

     regression <- lm( uk ~ rfa)
     print(regression)
     print(summary(regression))

     # boxplots

     boxplot(vins,col="yellow")

     # tracé de uk en fonction de rfa

     plot(rfa,uk,col="red")
     abline(regression,col="blue")

Comparaisons avec R

     # % de SEXE dans ELF

     > prop.test(c(35,64),c(99,99))

     2-sample test for equality of proportions with continuity correction

     data:  c(35, 64) out of c(99, 99)
     X-squared = 15.8384, df = 1, p-value = 6.899e-05
     alternative hypothesis: two.sided
     95 percent confidence interval:
      -0.4362089 -0.1496497
     sample estimates:
        prop 1    prop 2
     0.3535354 0.6464646

     # Moyenne d'AGE par SEXE dans ELF

     > anova(lm(age~sexe))

     Analysis of Variance Table

     Response: age
               Df  Sum Sq Mean Sq F value Pr(>F)
     sexe       1    17.7    17.7  0.0569  0.812
     Residuals 97 30176.4   311.1

     # Indépendance CLASS / SURV dans TITANIC

     > chisq.test(table(cabi,surv))

     Pearson's Chi-squared test
     X-squared = 190.4011, df = 3, p-value < 2.2e-16

Automatisations

Si on a de nombreux calculs similaires à effectuer ou si ce sont des calculs répétitifs (chaque mois, par exemple), ou si on veut avoir des sorties personnalisées (en français, en couleurs...) on peut automatiser les traitements grâce à de la programmation. Cela demande de l'entrainement mais au bout du compte, c'est "payant".

Automatisation avec Excel

Voir mes cours de L2 et en particulier ASGQT.XLT ou l'introduction à la programmation VBA sous excel.

Automatisation en R

Au lieu des instructions

     table(sexe)
     table(sexe,etud)

qui fournissent

     sexe
      0  1
     35 64

         etud
   sexe    0  1  2  3  4
        0  2  1  7  8 17
        1  1  5 23 13 22

on écrit des fonctions et on les utilise, soit

     source("statgh.r") ;
     nSEXE <- "Sexe de la personne"
     lSEXE <-  c("homme","femme")

     nETUD <- "Etudes effectuées"
     lETUD <- c("NR","Primaire","Bepc","Bac","Supérieur")
     triAplat(nSEXE,sexe, lSEXE)
     triAplat(nETUD,etud, lETUD)

et on peut lire

     QUESTION :  Sexe de la personne

                        homme femme  Total
       Effectif            35    64     99
       Fréquence (en %)    35    65    100

     TRI CROISE DES QUESTIONS :
           Sexe de la personne  (en ligne)
           Etudes effectuées  (en colonne)


     Effectifs
             NR Primaire Bepc Bac Supérieur
       homme  2        1    7   8        17
       femme  1        5   23  13        22

     % du total
             NR Primaire Bepc Bac Supérieur
       homme  2        1    7   8        17
       femme  1        5   23  13        22

et on peut même produire automatiquement avec un peu de préparation des labels :

     TABLEAU RECAPITULATIF DES VARIABLES QUALITATIVES

         Intitulé     Question
         --------     --------
          SEXE           Sexe de la personne ?
          ETUD           Niveau d'études
          REGIONALI      Force de l'actiorégionalité linquistique
          USAGE          Quel usage de la langue ?

         Affichage par mode décroissant puis par effectifs décroissants

             USAGE         67  % non réponse   18  % faible        13  % normal
             SEXE          65  % femme         35  % homme
             REGIONALITE   43  % forte         35  % très faible   14  % faible
             ETUD          39  % sup           30  % bepc          21  % bac

Automatisation en SAS

Au lieu de

     proc means data=gh.ELF ; var AGE ;

qui produit

     Système SAS  13:50 Thursday, April 20, 2007
     Procédure MEANS

         Nb         Moyenne      Écart-type         Minimum         Maximum
         99      35.8282828      17.5528592      11.0000000      78.0000000

on peut écrire des programmes et les appeler comme

     %include 'statgh.sas' ;
     %decritQT(gh.ELF,"Age des personnes",AGE,"ans") ;

soit le texte produit :

     Le Système SAS          14:02 Thursday, April 20, 2007   1

     Variable                         AGE
     Description                      Age des personnes

     Nombre de valeurs :                99
     Moyenne                            35.83   ans
     Ecart-type                         17.46   ans
     Coefficient de variation           48.7     %
     Minimum                            11.00   ans
     Premier quartile                   22.00   ans
     Médiane                            29.00   ans
     Troisième quartile                 49.00   ans
     Maximum                            78.00   ans

De même pour comparer des moyennes, on peut utiliser le lien fourni sur la page PHP

http://www.info.univ-angers.fr/pub/gh/wstat/calcstat.htm

Ces calculs peuvent même être effectués lors de l'appel de la page Web quand de nombreux utilisateurs modifient une base de données comme

Shspdb

ou

Leadb

On peut aussi fournir des calculs via le langage PERL :

http://www.info.univ-angers.fr/pub/gh/vitrine/Democgi/loisStatp.htm

 

 

retour gH    Retour à la page principale de   (gH)