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 :
- http://www.practicalstats.com/Pages/excelstats.html
- http://www.stat.uiowa.edu/~jcryer/JSMTalk2001.pdf
- http://pages.stern.nyu.edu/~jsimonof/classes/1305/pdf/excelreg.pdf
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.2941Calculs 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-16Automatisations
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 instructionstable(sexe) table(sexe,etud)
qui fournissentsexe 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, soitsource("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 lireQUESTION : 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 deproc means data=gh.ELF ; var AGE ;
qui produitSystè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
ou On peut aussi fournir des calculs via le langage PERL :http://www.info.univ-angers.fr/pub/gh/vitrine/Democgi/loisStatp.htm
Retour à la page principale de (gH)