cole de psychologie
Universit de Moncton
Septembre 2013
1.1
Introduction .................................................................................................................. 6
1.1.1
1.1.2
1.1.2.1
1.1.2.2
1.1.2.3
1.1.3
1.2
Environnement ....................................................................................................... 7
1.1.3.1
1.1.3.2
1.1.3.3
1.1.3.4
2.1
2.1.1
2.1.2
2.1.2.1
2.1.2.2
2.1.2.3
2.1.3
Deux modes de lecture des donnes : mode libre et mode fixe ............................. 17
2.1.4
2.2
2.3
2.3.1
2.3.2
2.3.3
2.3.3.1
2.3.3.2
2.4
2.3.3.3
2.3.3.4
2.4.1
2.4.2
2.4.3
2.4.4
3.2.1
3.2.2
3.2.3
3.2.4
3.3
3.3.1
3.3.2
3.4
3.4.1
3.4.2
3.4.3
3.5
3.5.1
3.5.2
3.5.3
3.6
3.6.1
3.6.2
3.6.3
3.6.4
Avant-propos
Quiconque souhaite utiliser le systme SAS pour lanalyse statistique de donnes dans
un contexte pdagogique se heurte rapidement la raret de documents daccompagnement qui
prsentent une introduction non trop technique aux rudiments ncessaires une utilisation
approprie en sciences humaines et sociales. Cest cette situation qui a motiv le dveloppement
du prsent guide. Ce document est conu pour accompagner une introduction non technique
lutilisation de SAS dans des situations statistiques typiques de la psychologie, et en particulier du
contenu des cours pour lesquels il a t mis au point : psychomtrie et techniques multivaries1.
Ce guide, qui nest quun document daccompagnement de cours, ne peut se suffire lui-mme.
Ce nest pas non plus un manuel de rfrence, et on doit tout de suite se familiariser avec la
documentation SAS2 afin dacqurir une certaine autonomie et de pouvoir adapter les exemples
donns la diversit des situations particulires.
Ce guide doit beaucoup un autre du mme type labor par H. Ivers, C. Fortin et
S. Fiset3. Il est aussi beaucoup le fait des tudiants inscrits au cours PSYC6200 Mthodes
quantitatives avances lhiver 2005 lcole de psychologie de lUniversit de Moncton, qui ont
t les tmoins actifs de ses premiers dveloppements. Il reste cependant un document en
chantier pour lequel les suggestions de mises jour, dajouts et damliorations restent les
bienvenues.
La prsente version, dveloppe lt 2006, a en outre t rendue possible en partie
grce une participation du Fonds dinitiatives pdagogiques du Service danimation et de
soutien lenseignement de lUniversit de Moncton.
F.V.
_________________________
1 lcole de psychologie de lUniversit de Moncton, il sagit essentiellement des cours
PSYC4220
Thories psychomtriques, PSYC6200 Mthodes quantitatives avances et PSYC7200 Statistiques
multivaries.
2 Voir la bibliographie sommaire en fin de document.
3 Introduction lanalyse informatise de donnes et lutilisation du progiciel SAS sous UNIX (Piaget)
(3e rv.). cole de psychologie, Universit Laval, Qubec, 1998.
Chapitre 1 - Prsentation
1.1 Introduction
Le progiciel SAS est un ensemble de modules logiciels de gestion et de traitement
statistique des donnes. Voici quelques exemples danalyses statistiques pouvant tre effectues
laide du progiciel SAS :
Analyses descriptives
Moyennes, variances et carts types
Mode et tendue
Asymtrie (skewness) et voussure ( kurtose )
Analyses inductives univaries
Corrlation (Bravais-Pearson, Spearman) et association (khi-deux)
Test t (pour chantillons apparis ou indpendants)
Analyse de variance (ANOVA)
Rgression simple
Analyse de sries chronologiques
Analyses inductives multivaries
Analyse de variance multivarie (MANOVA)
Rgression multiple (standard, hirarchique)
Corrlation canonique
Analyse discriminante
Analyse de regroupement ( cluster )
Analyse factorielle (composantes principales, facteurs communs)
Analyses dquations structurales (analyse factorielle confirmatoire, analyse des
pistes causales)
Ce bref guide a pour objectif de prsenter les lments essentiels la ralisation
danalyses statistiques de donnes par lentremise du logiciel SAS (version 9.2 et prcdentes, et
utilis dans un environnement Windows) en mode programmation. Seules les procdures et les
fonctions de base seront abordes ici. De nombreux ouvrages dtaills, ainsi que les divers
lments de documentation SAS (dont on trouvera certaines rfrences en fin de document)
peuvent tre consults pour plus de dtails.
1.1.1
Table SAS
Les donnes soumises lanalyse statistique prennent la forme dun fichier de donnes.
On peut saisir les donnes dans un fichier mme le progiciel SAS grce lune de ses
fonctions (un diteur ) ; SAS peut galement importer des donnes en provenance dautres
applications. Il faut bien distinguer fichier de donnes et table SAS (un data set ). Un fichier de
donnes est celui qui comprend les donnes recueillies quon souhaite analyser. Une table SAS
est un fichier de donnes virtuel dfini partir des donnes du fichier de donnes. Dans SAS, les
analyses portent toujours sur les donnes telles que dfinies dans la table SAS.
Chapitre 1 Prsentation
1.1.2
Programme SAS
Le Progiciel SAS a son propre langage. Le langage SAS est un systme de codes et de
symboles particuliers qui servent la cration de programmes. Un programme SAS est un
enchanement dtapes de lecture et de gestion des donnes ( data step ) et dappels de
procdures ( procedure ) dcrivant les traitements (statistiques entre autres) raliser. Ce sont
ces deux aspects dun programme SAS : lecture et gestion des donnes et traitements sur ces
donnes, qui seront traits, respectivement, aux chapitres 2 et 3 de ce guide.
1.1.2.1 L'tape data
L'tape data sert la manipulation des donnes. Elle permet de crer des variables,
supprimer des variables et supprimer des observations. Il est possible de faire des analyses dans
ltape Data, mais seulement des analyses par sujets. Par exemple, faire la moyenne dune srie
de questions pour chaque sujet ou additionner les scores aux questions dun test pour obtenir un
score total par sujet. Dans ltape Data, lordre dans lequel les oprations sont crites est
primordial. Par exemple, dans le cas o lon apporte des modifications aux valeurs de certaines
variables, les commandes dfinissant ces modifications doivent survenir avant les commandes
de calculs sur les variables modifies. Si les commandes de calculs sont prsentes les
premires, ils seront effectus sur les variables avant modification.
1.1.3
Environnement
Chapitre 1 Prsentation
La navigation dans lenvironnement SAS et les oprations sur les contenus des fentres
respectent pour lessentiel les conventions de tout environnement de type Windows (options
comprises dans des barres de menus qui sappliquent une fentre active, etc.).
Lenvironnement SAS se compose de plusieurs fentres.
JOURNAL
(Log)
SORTIE
(Output)
Chapitre 1 Prsentation
Notons quil est possible de ne soumettre quune partie dun programme SAS. Il suffit alors de
surligner la partie du programme soumettre : seules les commandes slectionnes seront alors
soumises SAS pour excution.
***ATTENTION***
Le programme rdig dans la fentre diteur doit respecter certaines conventions de
programmation spcifiques SAS. Plusieurs de ces conventions seront prsentes aux chapitres
2 et 3. Prcisons cependant ds maintenant que chaque nonc SAS se termine par un
point-virgule ( ; ).
Chapitre 1 Prsentation
Ces onglets se trouvent sur le ct gauche de lcran ds louverture du logiciel SAS. Les
onglets Rsultats/Explorateur sont utiliss pour naviguer les banques de donnes (explorateur) et
les diffrents rsultats de procdures (rsultats). Seulement lune des deux fentres peut tre
utilise la fois. Il est possible de passer dun onglet lautre laide de la tabulation au bas de
la fentre.
La fentre Explorateur affiche quatre dossiers: Bibliothque, Raccourcis de
fichiers , Dossiers favoris et Ordinateur . De ces dossiers, cest la bibliothque qui nous
intresse. Ce dossier contient 4 sous-sections : Maps , Sashelp , Sasuser et Work ,
dont celle qui nous intresse est Work . Cette section contient les documents crs par
lutilisateur lorsquil travaille dans SAS. Les tables de donnes sauvegardes dans Work sont
temporaires, cest--dire quelles sont seulement disponibles lors dune mme session de travail
dans SAS. Pour enregistrer une table de donne en permanence, il faut la sauvegarder dans son
compte tudiant P : ou sur une cl USB. Les tables de donnes dans le dossier SASUSER
sont sauvegardes en permanence pourvu quelles soient ouvertes sur le mme ordinateur. Les
fichiers dans SASUSER sur un ordinateur public sont effacs lorsque lordinateur subit ses mises
jour.
La fentre rsultat permet de naviguer travers les nombreux rsultats de procdure
crs lors dune mme session SAS.
1.2 tude fictive
Dans ce guide, les procdures et les fonctions seront dmontres laide dillustrations
tires dun mme exemple. Les donnes de cet exemple proviennent dune tude fictive portant
sur la performance de sujets une preuve dattention et sur la perception quils ont de cette
performance. Ces donnes sont contenues dans deux fichiers, bio.txt et psycho.txt, lun
contenant les donnes biomtriques de 60 sujets tandis que lautre contient les donnes
psychomtriques de 58 de ces mmes sujets (les donnes psychomtriques ne sont pas
disponibles pour les sujets numro 3 et 4). Les variables comprises dans cette tude sont
prsentes au tableau 1.1, et les donnes figurent aux tableaux 1.2 et 1.3.
Tableau 1.1 Liste des variables
Premier fichier (donnes biomtriques)
Variable
Sujet
Genre
Age
Poids
Taille
Note
Numro de sujet, identifiant numrique unique chaque
individu de lchantillon
Masculin (M) ou fminin (F)
En annes
En kilogrammes
En centimtres
Note
Numro de sujet, identifiant numrique unique chaque
individu de lchantillon
Nombre ditems complts
Nombre derreurs commises
Estimation personnelle de la performance au test (sur une
chelle de 1 4 ; les questions Q3 et Q6 sont inverses)
Estimation personnelle de la performance au test (total
des questions Q1 Q6)
10
Chapitre 1 Prsentation
Tableau 1.2 Donnes biomtriques
Sujet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Genre
2
2
2
1
2
2
1
1
2
1
1
1
2
1
1
2
1
1
2
2
2
2
1
1
1
1
1
1
1
2
2
2
2
1
1
2
1
2
2
2
1
1
1
1
2
2
2
2
2
1
1
1
2
1
2
1
1
2
2
2
Age
18
20
50
21
32
228
23
18
18
20
24
19
40
33
21
42
24
18
19
18
20
30
21
32
19
26
30
21
18
29
19
22
31
23
20
27
56
21
31
24
45
19
21
44
22
30
26
20
20
33
30
50
19
22
72
19
45
30
19
22
11
Poids (kg)
50
65
68
85
57
78
70
75
52
80
95
80
68
80
70
52
82
72
54
73
66
57
65
67
70
71
67
75
72
70
57
59
60
80
64
56
71
61
60
51
63
57
64
71
58
53
60
56
55
63
71
75
58
80
70
74
81
66
56
63
Taille
157
165
172
187
156
170
170
185
150
180
190
195
189
186
177
161
184
187
159
171
168
164
174
181
176
172
172
190
185
172
168
162
170
188
179
166
175
179
165
162
171
169
170
176
165
160
171
160
161
162
171
177
165
192
162
187
180
170
164
168
Chapitre 1 Prsentation
Tableau 1.3 Donnes psychomtriques
Observation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Sujet
1
2
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Vitesse
177
166
162
170
173
164
163
167
168
163
161
174
171
155
170
158
165
167
172
168
170
169
167
169
176
167
176
177
170
166
168
165
169
184
168
167
162
179
153
173
170
173
175
161
168
172
174
160
164
181
171
174
164
169
168
171
169
165
erreurs
6
22
26
10
12
22
26
22
24
21
30
13
18
26
19
27
19
25
12
19
16
20
15
21
10
18
14
17
21
20
19
20
22
5
16
12
23
11
29
20
14
12
21
26
20
11
10
24
21
10
15
20
25
13
21
11
22
23
Q1
1
3
2
3
2
2
1
1
3
3
2
2
3
2
3
3
2
2
3
2
3
1
2
3
3
3
3
2
3
3
2
3
3
1
3
2
2
1
1
3
1
3
3
3
1
1
3
2
3
3
1
1
2
1
3
3
1
2
Q2
3
4
4
2
2
2
1
3
2
4
1
3
4
2
2
4
2
4
1
3
2
4
4
1
4
4
1
2
4
1
2
2
4
1
4
1
4
4
3
4
2
3
4
1
4
1
2
4
3
4
4
1
3
1
1
1
1
2
12
Q3
4
2
3
2
1
2
4
4
1
2
3
3
2
3
2
1
3
3
1
3
2
4
3
1
1
2
1
3
1
2
3
2
2
4
1
3
3
4
4
1
4
1
2
2
4
4
1
3
1
1
4
4
3
4
2
1
4
3
Q4
2
4
4
3
3
3
1
3
3
4
1
2
4
3
3
4
3
4
1
2
3
4
4
1
4
4
1
3
4
1
3
3
4
1
4
1
4
4
2
4
3
2
4
1
4
1
3
4
2
4
4
1
2
1
1
1
1
3
Q5
1
3
2
2
4
2
1
1
4
2
3
3
2
3
2
4
3
3
4
3
2
1
3
4
4
2
4
3
4
2
3
2
2
1
4
3
3
1
1
4
1
4
2
2
1
1
4
3
4
4
1
1
3
1
3
4
1
2
Q6
2
1
1
3
3
3
4
3
3
1
4
2
1
3
3
1
3
1
4
2
3
1
1
4
1
1
4
3
1
4
3
3
1
4
1
4
1
1
2
1
3
2
1
4
4
4
3
1
2
1
1
4
2
4
4
4
4
3
Estim
11
21
18
15
17
14
6
11
18
20
10
15
20
14
15
23
14
19
14
15
15
15
19
14
23
20
14
14
23
11
14
15
20
6
23
10
19
15
11
23
10
19
20
11
12
6
18
19
19
23
15
6
15
6
12
14
6
13
Les donnes peuvent tre de nature numrique (des chiffres) ou alphabtique (des
lettres). Cependant, certaines analyses ne pouvant tre appliques des donnes
alphanumriques, il est souvent plus commode de remplacer les donnes
alphabtiques (comme M et F pour le sexe) par des donnes numriques (par
exemple : 1 et 2, respectivement).
La saisie de donnes peut se faire de diffrentes faons. Les donnes peuvent tre
entres dans un fichier de traitement de texte (Word), dans un logiciel bloc-note (WordPad), dans
un tableur (Excel), dans SPSS ou tre entres directement dans SAS.
2.1.1
Lnonc DATA permet la cration dune table SAS dans lequel lnonc INPUT spcifie
le nom des diffrentes variables. Lnonc INPUT contient les instructions ncessaires pour
identifier prcisment les valeurs affectes chaque variable dans le fichier de donnes. De
faon gnrale, ltape DATA se termine par linstruction RUN. (Dans limage ci-dessous, seule la
fentre diteur a t reproduite.)
Une fois cette tape termine, vous pouvez sauvegarder votre travail (option Enregistrer
sous dans le menu Fichier ; ici, on a donn ce fichier programme le nom Bio).
Lnonc DATA identifie la table SAS qui sera cre la suite de la lecture des donnes.
Cet nonc est essentiel puisque cest partir des noms de variables que peuvent tre
effectues les diverses procdures statistiques SAS.
Le nom donn ici ( BIO ) est arbitraire et peut tre remplac par nimporte quel nom
pourvu quil respecte une longueur maximum de huit caractres et dbute par une lettre.
Dans des procdures ultrieures, ce nom permettra didentifier la table o se trouvent les
variables analyser.
INPUT;
Lnonc INPUT spcifie le nom donner chacune des variables, le type de variable
dont il sagit (de type numrique ou alphanumrique) et la position de la variable dans le
fichier de donnes. Comme les noms des tables, les noms de variables doivent respecter
une longueur maximum de huit caractres et dbuter par une lettre. Lutilisation dun
suffixe numrique facilite la manipulation de sries de variables apparentes (par
exemple, on pourra nommer les variables correspondant aux items dun questionnaire :
ITEM01, ITEM02, ITEM03, etc.). Le tableau 2.1 prsente certaines spcifications
pouvant tre insres dans lnonc INPUT.
CARDS;
Lnonc CARDS indique que les informations qui le suivent sont des donnes.
Typiquement, ces donnes sont prsentes de telle sorte que chaque ligne corresponde
un sujet et chaque colonne une variable. Ces colonnes sont spares par un ou
plusieurs espaces.
Lorsquon procde la saisie de donnes dans la fentre diteur de SAS, le fond dcran
de la section correspondante passe au jaune : cest lindication que le logiciel reconnat
quil sagit de donnes. On indique la fin des donnes laide dun point-virgule insr
sur la ligne suivant la dernire ligne de donnes.
RUN;
Lnonc RUN indique la fin de lnonc DATA. Il est possible de crer plusieurs noncs
DATA lintrieur dun mme programme danalyse.
2.1.2
Dans le cas prcdant, les donnes lues par le progiciel SAS ont t saisies directement
dans la fentre diteur. Il est galement possible dimporter des donnes contenues dans un
fichier externe.
14
La fentre qui apparait permet de choisir le type de fichier importer. Choisissez ce type partir
du menu droulant et appuyez sur Suivant
En appuyant sur suivant, une nouvelle fentre apparait. Ici, on vous demande de reprer le fichier
que vous souhaitez importer. * noter que dans Excel, les virgules doivent tre remplaces par
des points avant limportation pour que SAS puissent lire ces donnes.
15
En appuyant sur suivant nouveau, une troisime fentre apparat. Cette fentre permet de
choisir dans quel dossier SAS vous voulez sauver votre fichier de donnes. Le dossier par dfaut
est WORK, mais rappelez-vous que les fichiers sauvs dans ce dossier sont temporaires. Il est
donc habituellement prfrable de slectionner le dossier SASUSER. Une quatrime fentre
apparait, mais pour les fins de ce guide elle ne sera pas explique. Il suffit dappuyer sur terminer
lorsque cette fentre apparat et votre fichier de donnes externe est import dans SAS.
Une fois votre fichier dans SASUSER, vous devez spcifier SAS que vos donnes proviennent
de ce dossier. Les noncs INPUT et CARDS deviennent alors inutiles. Le nom attribu dans
lnonc aprs SASUSER, dans cet exemple Bio, est arbitraire, mais doit correspondre celui
donn au fichier de donnes lors de ltape de lenregistrement des donnes importes dans
SASUSER.
16
INFILE;
2.1.3
Position
Devant un
nom de
variable
devant un
numro de
ligne
Rle
Exemple
Pointeur colonne
INPUT @ 11 AGE
indique que la variable age
dbute la 11e colonne
Pointeur ligne
(dans les cas o le fichier
de donnes comprend plus
dune ligne par sujet)
# 2 ITEM02 4-8
indique que les donnes
correspondant la variable
item02 se situent aux colonnes
4 8 de la 2e ligne pour chacun
des sujets dans le fichier
Les conventions suivantes peuvent par ailleurs tre utilises avec lun ou lautre des modes de
lecture de lnonc INPUT :
Convention
.1
(.2, .3, etc.)
2.1.4
Position
Rle
Exemple
derrire un
nom de
variable
Indicateur alphanumrique
INPUT GENRE $
indique que la variable genre est
alphanumrique
derrire un
nom de
variable
Indicateur de dcimales
(dans les cas o elles ne
sont pas spcifies dans le
fichier de donnes)
INPUT SCORE .1
indique que les donnes lues
doivent tre comprises avec une
dcimale
La plupart des utilisations consistent analyser un fichier de donnes brutes. La flexibilit offerte
par la programmation permet cependant danalyser des donnes prsentes sous dautres
formes (matrices de corrlation, matrices de variances-covariances).
18
Lnonc data suivant permet de lire une matrice dintercorrlations de quatre variables (item01,
item02, item03 et item04) calcule chez un chantillon de 250 sujets :
Il est parfois utile de fusionner les donnes provenant densembles de donnes distincts,
comme par exemple lorsque lon souhaite combiner les donnes de mmes individus recueillies
par des quipes de recherche diffrentes. Une telle fusion peut tre ralise lintrieur dun
nonc DATA laide de la commande MERGE.
La commande MERGE applique lexemple permet de crer une table ( biopsy ) qui
comprend la fois les donnes biomtriques provenant dun fichier de donnes externe
bio.txt et les donnes psychomtriques du fichier psycho.txt. La procdure SORT utilise
dans cet exemple est une procdure de tri ncessaire lappariement des donnes partir des
numros de sujets. Cette procdure sera prsente dans une section ultrieure.
Les tiquettes
Le progiciel SAS limite le nom des variables huit caractres. La commande LABEL
permet lutilisateur dtiqueter les variables avec des noms qui dpassent la limite de
huit caractres. Ces tiquettes apparaissent dans la Sortie. Cependant, si loption
NOLABEL est dj inscrit dans les options de base SAS, les tiquettes napparaitront pas
dans la Sortie. Voici un exemple dtiquettes cres partir de la commande LABEL.
2.3.2
Les variables var01, var02, var03 et var04 illustrent les oprations de base daddition
(+), de soustraction (-), de multiplication (*) et de division (/). Afin de respecter lordre de priorit
des oprations, il est prfrable dutiliser les parenthses pour clarifier certains calculs plus
complexes (comme dans le cas de la variable var02). Notons que les nouvelles variables cres
grce aux fonctions et oprateurs SAS doivent respecter les limites de lnonc DATA (noms
dune longueur maximum de huit caractres dbutant par une lettre, etc.).
Les variables var03 et var04 illustrent lutilisation de fonctions arithmtiques (ici, la
somme) et statistiques (ici, la moyenne) de base sur un ensemble de variables. Notons pour la
variable var03 lutilisation des suffixes numriques qui permet de citer les six variables q1, q2,
q3, q4, q5 et q6 de faon simplifie. Un aperu des diffrentes fonctions disponibles est
prsent au tableau 2.2 ci-dessous. noter que ces fonctions permettent une analyse
arithmtique et statistique par sujet et non par variable (ex : sum (of q1-q6) donne la somme des
variables q1 q6 pour chaque sujet).
Tableau 2.2 Quelques fonctions arithmtiques et statistiques de lnonc DATA
Fonctions arithmtiques
MIN
MAX
valeur minimum
valeur maximum
20
Fonctions statistiques
MEAN
VAR
STD
SUM
N
NMISS
RANGE
2.3.3
21
Ou encore :
IF AGE < 20 THEN GROUPE = 1 ;
IF 20 =< AGE < 30 THEN GROUPE = 2 ;
ELSE GROUPE = 3 ;
q3
q3
q3
q3
=
=
=
=
1
2
3
4
THEN
THEN
THEN
THEN
q3s
q3s
q3s
q3s
=
=
=
=
4;
3;
2;
1;
IF
IF
IF
IF
q6
q6
q6
q6
=
=
=
=
1
2
3
4
THEN
THEN
THEN
THEN
q6s
q6s
q6s
q6s
=
=
=
=
4;
3;
2;
1;
RUN;
22
Loption ELSE
Lorsquon commande linversion de donnes par recouvrement de valeurs existantes, par
exemple, IF x=1 THEN x=2; IF x=2 THEN x=1;, SAS ne fait que transformer
toutes les donnes en la dernire valeur inscrite. Dans ce cas, toutes les valeurs de x =
1. En ajoutant loption ELSE partir de la deuxime ligne de la commande IF-THEN
linversion par recouvrement est possible.
IF x=1 THEN x=2;
ELSE IF x=2 THEN x=1;
Si les deux conditions sont rencontres, le score au questionnaire est multipli par 0,8,
soit 80 % de sa valeur initiale, ce qui correspond une diminution de 20 %. Pour les
sujets des autres groupes, la valeur de la variable estim demeure inchange.
Lensemble des fonctions mathmatiques peut tre utilis dans les fonctions logiques.
2.4 Techniques avances de programmation
2.4.1
Boucles DO...TO...END
Les options DOTOEND dans ltape data permettent dexcuter une boucle rptitive. La
commande DO commence la boucle et la commande END finie la boucle. Dans lexemple
suivant, pour 20 observations, SAS gnre une variable x qui augmente de deux pour chaque
observation. Loption output rend visibles les donnes cres par cette boucle dans le dossier
Work .
DATA EXEMPLE;
X=0 ;
DO i = 1 TO 20 ;
X+2 ;
OUTPUT;
END;
RUN;
2.4.2
La fonction RANNOR(.)
La fonction RANNOR(.) permet de gnrer des nombres alatoires en suivant une loi normale
centre rduite. Le nombre inscrit entre parenthses sert de point de dpart pour la gnration
de nombres alatoires. Dans lexemple suivant, un nombre alatoire x a t assign
chaque sujet du fichier biopsy.
DATA BIOPSY ;
SET SASUSER.BIOPSY ;
X = RANNOR(1) ;
RUN;
23
2.4.3
La fonction RAND(dist)
Loption ARRAY
Loption Array est utilise dans ltape Data. Cette option permet la transformation de donnes.
Par exemple, modifier les valeurs dune variable et vrifier lexistence de donnes manquantes
sur un grand nombre de sujets sont quelques-unes des manipulations possibles de loption Array.
Modification des valeurs dune variable
ARRAY nom du array {nombre dlments traiter} noms des lments ;
DO i = position des lments traiter dans la suite { } ;
IF nom du array{i} = 2 THEN nom du array {i} = 1 ;
IF nom du array{i} = 4 THEN noms du array {i} = 3 ;
END
DROP i ;
Dans lexemple suivant, quest est le nom du ARRAY. Ce nom doit tre diffrent pour
chaque ARRAY. Le nombre entre parenthses (6) est le nombre dlments traits par
ARRAY. La commande q1-q6 est le nom de ces six lments, cest--dire q1, q2, q3,
q4, q5, q6. Les valeurs suivant la commande do i = sont les positions des lments
traiter. Comme la section 2.2.2, on applique la fonction IFTHEN. Celle-ci sapplique tous les
lments spcifis par ARRAY. Enfin, la commande DROP i limine la variable i
dapparaitre dans le tableau de donnes. Cette variable ne sert quau traitement de la fonction
ARRAY. Les modifications aux variables q1 q6 sont visibles dans table de donne du dossier
Work de la bibliothque SAS.
DATA BIOPSY ;
SET SASUSER.BIOPSY ;
ARRAY QUEST {6} q1-q6 ;
DO i = 1 TO 6 ;
IF QUEST{i} = 2 THEN QUEST{i} = 1 ;
IF QUEST{i} = 3 THEN QUEST{i} = 1 ;
END ;
DROP i;
RUN ;
24
Cette commande cre une nouvelle colonne dans la table de donnes qui compte le nombre de
donnes manquantes pour chaque sujet pour les variables spcifies dans ARRAY.
Les exemples prcdents ne prsentent que quelques utilits de loption ARRAY. Dautres
mthodes dutilisation sont disponibles dans le guide de procdure Base SAS disponible sur
www.support.sas.com/documentation.
25
Une fois quune table virtuelle est forme laide de lnonc DATA, des analyses
statistiques peuvent tre effectues sur les variables. Les commandes danalyses statistiques
sont effectues grce des noncs de procdure (PROC). De faon gnrale, les noncs
PROC requirent un minimum de quatre lignes de programmation :
PROC nom de lanalyse DATA = nom de la table SAS ;
VAR (dans certaines analyses : CLASS) identification des variables ;
TITLE titre donn lanalyse ;
RUN ;
La ligne PROC
Lnonc PROC est toujours suivi du nom de lanalyse statistique souhaite. Le
tableau 3.1 prsente une liste des principales analyses statistiques ainsi que de quelques
autres procdures utiles.
Le nom de la table (DATA =) doit suivre le nom de la procdure. Cette spcification peut
toutefois tre omise si lensemble du programme ne porte que sur une seule table.
PROC
PROC
PROC
PROC
MEANS
UNIVARIATE
FREQ
CORR
PROC
PROC
PROC
PROC
PROC
CORR
FREQ
TTEST
GLM
REG
PROC
PROC
PROC
PROC
PROC
PROC
GLM
REG
DISCRIM
FACTOR
CLUSTER
CALIS
PROC
PROC
PROC
PROC
PRINT
RANK
STANDARD
SORT
B. Autres procdures
Visualisation des donnes
Transformation en donnes ordinales
Transformations linaires (z, T, etc.)
Tri
La ligne RUN
Cette ligne indique la fin dun nonc PROC.
3.1.1
27
Si lon veut modifier la sortie pour quelle affiche seulement le N, la moyenne et lcart
type, on ajoute les options ncessaires la fin de lnonc PROC :
Les sections suivantes listent des noncs PROC et quelques-unes de leurs commandes
doptions respectives.
3.2
Les procdures prsentes ici ont t conues pour tre effectues sur une table
combine des donnes biomtriques et psychomtriques de lexemple ( biopsy ).
3.2.1
La procdure PRINT affiche, dans la fentre Sortie, les donnes de la table dfinie dans lnonc
DATA pour les variables indiques dans une commande VAR. Laffichage des donnes est utile
entre autres suite la transformation de variables, puisquelle permet de sassurer que les
variables ont t correctement transformes. Elle permet aussi de vrifier que les analyses
seront faites sur les bonnes donnes.
PROC PRINT DATA = BIOPSY;
VAR SUJET GENRE AGE VITESSE Q1 Q2 Q6;
TITLE Extrait de la table de lexemple;
RUN;
Cette procdure fournit linformation sous la forme suivante afin de permettre la
vrification de lintgrit de la lecture des donnes de lnonc DATA.
28
3.2.2
29
3.2.3
30
3.2.4
La procdure SORT est une procdure de tri. Elle permet de trier les observations en
fonction dune ou de plusieurs variables spcifies dans une commande BY :
PROC SORT DATA = BIOPSY;
BY GENRE;
RUN;
Le tri est ncessaire chaque fois quune commande BY ou CLASS est requise dans une
procdure subsquente. Une procdure SORT, une fois excute, demeure oprationnelle pour le
reste du programme, moins quune nouvelle procdure SORT ne survienne. Par dfaut, les
observations sont tries de faon ascendante. Un tri descendant est possible grce loption
DESCENDING plac aprs la commande BY.
La procdure SORT ne produit aucune sortie informatique ; il sagit simplement dune
rorganisation de la table virtuelle en vue dun traitement.
Les lignes suivantes illustrent lutilisation de lnonc PROC SORT pour laffichage des
donnes de lexemple sparment pour chaque groupe dge. :
PROC SORT DATA=BIOPSY;
BY GROUPE;
RUN;
PROC PRINT DATA=BIOPSY;
VAR SUJET AGE VITESSE Q1-Q4;
BY GROUPE;
TITLE Extrait de la table
chaque groupe;
RUN;
31
de
lexemple
sparment
pour
32
3.3
33
3.3.2
Lorsque lnonc PROC GCHART est utilis au lieu de PROC CHART, lhistogramme de
frquence ci-dessous est produit dans une fentre GRAPH.
3.4
34
3.4.1
3.4.2
Cette procdure permet dobtenir plusieurs statistiques descriptives ainsi que des
reprsentations sommaires des donnes. Plusieurs renseignements concernant la distribution
des variables sont galement produits, concernant entre autres les valeurs extrmes, la
dispersion, la tendance centrale.
Le spcificateur PLOT produit un diagramme en tiges et feuilles, un diagramme en botes
et moustaches et un diagramme de probabilit normale. Le spcificateur NORMAL produit un test
de normalit, et le spcificateur FREQ, une description de la frquence des valeurs dune variable.
PROC UNIVARIATE DATA = BIOPSY NORMAL PLOT FREQ;
VAR Q1;
TITLE Statistiques descriptives de la question Q1;
RUN;
3.4.3
35
PROC POWER;
ONESAMPLEMEANS
MEAN=8
STDDEV=40
NTOTAL=150
POWER=.;
RUN;
Pour cet exemple, la sortie indique une puissance statistique de 0,682
Lorsquon cherche le nombre de sujets ncessaire pour obtenir une telle puissance, il
suffit de changer la donne manquante dans lnonc de procdure :
PROC POWER;
ONESAMPLEMEANS
MEAN=8
STDDEV=40
NTOTAL=.
POWER=0.682
La sortie nous indique que pour obtenir une puissance statistique de 0.682, il faut au moins 150
sujets.
PROC POWER options;
Lnonc PROC POWER comprend de nombreuses analyses possibles, dont :
ONESAMPLEMEANS
Calcul la puissance et la taille dchantillon pour les tests-t, tests dquivalence et
les intervalles de confiances pour un seul chantillon
TWOSAMPLEMEANS
Calcul la puissance et la taille dchantillon pour les tests-t, tests dquivalence et
les intervalles de confiances de deux chantillons.
ONEWAYANOVA
Calcule la puissance et la taille dchantillon pour les analyses de variances
MULTREG
Calcule la puissance et la taille dchantillon pour les prdicteurs dune
rgression multiple.
ONECORR
Calcule la puissance et la taille dchantillon pour les corrlations simples et
partielles entre deux variables.
PLOT
Affiche le graphique ou lensemble des graphiques pour lchantillon de lanalyse. Les
options plot sont semblables aux options des autres graphiques SAS.
Sept autres options danalyse sont disponibles pour lnonc PROC POWER.
Pour chaque option danalyse ci-dessus, les options suivantes, entre autres, peuvent tre utiliss.
36
3.5.1
37
La probabilit que cette hypothse soit vraie tant, pour notre exemple, de 0,0936 (et
donc suprieure 0,05), lhypothse nulle dgalit des variances ne peut tre rejete. On doit
donc conclure que les variances sont gales.
Cette information permet de lire la ligne approprie dans la section du test t proprement
dit : dans la colonne intitule Variances , on choisit la ligne Equal . Sur cette ligne se
trouvent, dans lordre, le nombre de degrs de libert (DF), la valeur de la statistique t cherche
et la probabilit (Pr > | t |) qui y est associe :
3.5.2
Cet nonc permet de calculer diffrents types de coefficients de corrlation (BravaisPearson, Spearman) ainsi que le coefficient alpha de Cronbach, un coefficient de cohrence
interne. Il permet galement le calcul de corrlations partielles en indiquant le nom de la variable
contrler statistiquement aprs une commande PARTIAL.
PROC CORR DATA=BIOPSY;
VAR VITESSE ERREURS;
PARTIAL GENRE;
TITLE Corrlation entre la vitesse et le nombre derreurs;
RUN;
La sortie informatique contient deux informations : le coefficient de corrlation
(par dfaut, r de Bravais-Pearson) et la probabilit associe lhypothse nulle dune corrlation
gale zro dans la population ( = 0). Lorsque plusieurs coefficients sont prsents
simultanment, le nombre dobservations est galement prsent pour chaque coefficient lorsque
ce nombre varie. Lillustration de la sortie produite par ces lignes de programme figure cidessous.
38
Coefficient de corrlation
Matrice de corrlation
Probabilit associ H0
Il est possible dajouter loption ALPHA dans les options de procdures pour obtenir un
alpha de Cronbach dans la sortie. Les options de procdure NOCORR et NOMISS spcifient au
systme de ne pas afficher la matrice de corrlation dans la sortie et de ne pas tenir compte des
donnes manquantes.
3.5.3
Cet nonc permet de calculer divers tests et mesures dassociation pour variables
catgorielles (khi-deux, coefficient phi, V de Cramr, coefficient de contingence, etc.). Dans cet
nonc, lidentification des variables se fait dune manire particulire : on doit indiquer deux
variables (ou plus) mettre en relation laide de la commande TABLES. La commande TABLES
peut saccompagner doptions, qui sont spar par un / , dont la plus courante est loption
CHISQ, qui produit le test du khi-deux.
PROC FREQ DATA=BIOPSY;
TABLES GENRE*GROUPE / CHISQ;
TITLE Test du khi-deux pour les variables genre et groupe;
RUN;
La sortie informatique de lnonc PROC FREQ comprend deux sections : un tableau
crois des frquences et un ensemble de statistiques. Le tableau crois, tel quillustr la page
suivante, inclut les frquences brutes (Frequency), et ces mmes frquences exprimes en
pourcentages (de lchantillon total (Pourcentage), par range (pourct. En ligne) et par colonne
(pourct. en col.)).
39
40
3.6
3.6.1
42
3.6.2
La corrlation canonique
Les analyses de corrlation canonique peuvent tre effectues laide de lnonc PROC
CANCORR :
PROC CANCORR options ;
VAR variables dpendantes ;
WITH variables indpendantes ;
TITLE 'titre donn lanalyse' ;
RUN ;
Prcisons entre autres :
PROC CANCORR options ;
Lnonc PROC CANCORR indique lanalyse de corrlation canonique.
Les options incluent :
DATA= nom de la table SAS
Lorsque omise, lanalyse est effectue sur les donnes de la dernire table
utilise.
SIMPLE
affiche les statistiques descriptives (somme, moyenne, somme de carrs,
variance, cart type) des variables spcifies dans le modle
CORR
affiche la matrice dintercorrlations des variables spcifies dans le modle
Prsent ci-dessous est un exemple dune procdure de corrlation canonique, suivie dune
illustration de la premire page de rsultat. Certaines des variables utilises ne sont pas listes
43
3.6.3
Divers types danalyse factorielle peuvent tre effectus laide de lnonc PROC
FACTOR. La forme gnrale du programme est la suivante :
PROC FACTOR options ;
VAR variables ;
TITLE 'titre donn lanalyse' ;
RUN ;
La procdure PROC FACTOR offre une grande flexibilit rendue possible par la
combinaison de diverses options :
PROC FACTOR options ;
Lnonc PROC FACTOR indique lanalyse factorielle exploratoire. Cet nonc comprend
de nombreuses options, dont :
DATA= nom de la table SAS
Lorsquomis, lanalyse est effectue sur les donnes de la dernire table utilise.
44
SIMPLE
Affiche les statistiques descriptives (somme, moyenne, somme de carrs,
variance, cart type) des variables spcifies dans lnonc VAR
CORR
Affiche la matrice dintercorrlations des variables spcifies dans lnonc VAR
METHOD= mthode dextraction des facteurs
Les mthodes dextraction incluent les deux numres ci-dessous ainsi que
sept autres :
PRINCIPAL (valeur par dfaut ; il sagit de la mthode des moindres carrs)
ML (maximum de vraisemblance)
MINEIGEN= p
Spcifie une valeur critique minimale de valeur propre (p) pour quun facteur soit
retenu. Une valeur p suprieure 1 correspond au critre de Kaiser (Kaiser,
1960). Cest ce critre de Kaiser qui est utilis par dfaut pour dterminer le
nombre de facteurs
NFACT= n
Spcifie un nombre de facteurs retenir, o n = nombre de facteurs retenus
PRIORS valeurs de dpart des communauts
Identifie sur une ligne spare, cette option spcifie les valeurs de dpart des
communauts. Les deux types de valeurs suivantes sont possibles, ainsi que six
autres :
ONE (un, cest--dire toute la variance de chacune des variables ; cest la valeur
par dfaut)
SMC (coefficient de dtermination de lanalyse de rgression multiple : squared
multiple correlations)
RE
Place les saturations en ordre dcroissant
ROTATE= mthode de rotation
Indique la mthode de rotation des facteurs utiliser.
Les mthodes de rotations orthogonales suivantes sont disponibles :
VARIMAX
EQUAMAX
QUARTIMAX
ainsi que les mthodes de rotations obliques
PROMAX
OBLIMIN
Dix-huit autres mthodes de rotation sont galement disponibles.
SCREE
Affiche le graphique de la pente des boulements (scree plot) indiquant la
valeur propre associe chacun des facteurs et utilis pour dterminer le
nombre de facteurs retenir (scree test, Cattell, 1966)
ROUND
Limite le nombre de chiffres rapports pour les saturations deux dcimales
45
46
47
3.6.4
La modlisation structurale
48
La procdure PROC CALIS permet de raliser des analyses dquations structurales (ou
modles structuraux : analyses en pistes causales et analyses factorielles confirmatoires). Quatre
modes de programmation distincts permettent de spcifier un modle danalyse structurale grce
PROC CALIS : le mode RAM (sous forme de liste dcrivant le modle structural), le mode
COSAN (notation matricielle), le mode LINEQS et le mode FACTOR. Seule la programmation de
type LINEQS est prsente ici. Le mode LINEQS consiste dcrire le modle structural
analyser laide dun ensemble dquations structurales auxquelles on ajoute de linformation
concernant les variances et les covariances.
PROC CALIS options ;
LINEQS
quation 1,
quation 2,
quation j ;
STD
variance 1,
variance 2,
variance k ;
COV
covariance 1,
covariance 2,
covariance m ;
TITLE 'titre donn lanalyse' ;
RUN ;
PROC CALIS options ;
Lnonc PROC CALIS comporte lui seul plus dune soixantaine doptions. En voici
quelques-unes parmi les plus utiles.
DATA= nom de la table SAS
Lorsquomise, lanalyse est effectue sur les donnes de la dernire table utilise
COVARIANCE
Par dfaut, PROC CALIS analyse une matrice de corrlations. Loption
COVARIANCE fait en sorte que lanalyse porte sur la matrice de variancescovariances plutt que la matrice de corrlations
CORR
Affiche la matrice dintercorrlations
SIMPLE
Affiche la moyenne, lcart type et les degrs dasymtrie et daplatissement des
variables manifestes
KURTOSIS
Calcule et prsente les degrs dasymtrie et daplatissement univaris, plusieurs
coefficients daplatissement multivaris et le numros des observations qui
contribuent le plus au degr daplatissement multivari.
METHOD = options
49
LINEQS
Lnonc LINEQS comporte un ensemble dquations qui, combines avec la
spcification de variances et de covariances, dcrivent un modle structural. Les
quations y sont prsentes les unes la suite des autres, spares par virgules :
LINEQS
V1 = PV1V2 V2 + PV1V5 V5 + PV1V6 V6 + + E1,
V2 = PV2V3 V3 + PV2V4 V4 + + E2;
Les quations comportent, gauche, une variable endogne (soit une variable manifeste
pralablement identifie dans DATA, soit une variable latente) et, droite, les variables
indpendantes (prcdes du coefficient correspondant qui doit tre estim ; par
exemple, dans la premire quation, le coefficient de la variable V2 est nomm PV1V2)
et lerreur rsiduelle associe la variable endogne. Les variables indpendantes
indiques droite peuvent, tout comme celles indiques gauche, tre manifestes ou
latentes. Outre le respect dun maximum de huit caractres, les noms de variables
doivent respecter certaines rgles spcifiques la procdure CALIS. Le nom dune
variable latente doit commencer par la lettre F, le nom dune erreur associe une
variable manifeste doit commencer par E, le nom dune erreur associe une variable
latente doit commencer par un D. Les noms des coefficients estimer ne sont soumis
50
=
=
=
=
VARE1,
VARE2,
VARV3 (10.),
24.8;
V5 V6 = CV5V6 (3.);
Lexemple ci-dessus a pour effet de requrir que la covariance (la corrlation) entre les
variables V3 et V4 soit estime (paramtre nomm CV3V4), que la covariance entre les
variables V3 et V5 soit fixe 0,5, et quune valeur de dpart de 3,0 soit utilise pour
lestimation de la covariance entre V5 et V6.
51
INDEX
E
cart type, 28
STD, 21
diteur, 8
ELSE, 24
nonc, 7
nonc de procdure, 7
EQUAMAX, 48
tape data , 7
tapes de procdures, 7
tendue, 22, 28
Explorateur, 10
Exporter des donnes, 17
F
B
fichier de donnes, 18
Fichier de donnes, 6
FLAG, 48
Fonction, 7
Fonctions arithmtiques, 21
Fonctions logiques, 23
Fonctions mathmatiques, 21
Fonctions statistiques, 21
FORWARD, 43
FREQ
Option PROC STANDARD, 33
Option PROC UNIVARIATE, 37
Fusionner des donnes, 19
BACKWARD, 43
Bibliothque, 10
Boucles, 25
BY, 39
C
CARDS, 15, 18
CHISQ, 41
CLASS
Option PROC GLMPOWER, 39
Option PROC TTEST, 39
Cohrence interne, 28
Commande, 7
Commentaire, 7
CONTRAST, 39
CORR
Option PROC CALIS, 51
Option PROC CANCORR, 46
Option PROC FACTOR, 47
Option PROC REG, 43
corrlation, 19
Corrlation, 28
Corrlation canonique, 6, 45
COV, 53
COVARIANCE, 51
G
Gestion des donnes, 31
GLS, 52
H
Histogramme de frquence, 35, 36
I
IFTHEN, 23, 24
Importer des donnes, 16
INFILE, 17, 18
INPUT, 14, 15
Inverser des donnes, 24
D
DATA, 14, 15
Diagramme de dispersion, 32
J
Journal, 8, 9
52
K
KURTOSIS, 51
L
Lecture des donnes, 14
LINEQS, 52
LINESIZE, 15
LSGLS, 52
LSML, 52
O
OBLIMIN, 48
ONE, 47
ONECORR, 38
ONESAMPLEMEANS, 38
ONEWAYANOVA, 38
Onglets Rsultats/Explorateur, 9
Oprateurs de base, 7
Options, 7, 15
Options de ltape data, 7
Options de procdure, 7, 30, 41
OUT, 48
M
Matrice de corrlation, 19
MAX
Fonction MAX, 21
Option PROC MEANS, 37
MAXDEC, 37
Maximum, 21
MEAN
Fonction MEAN, 21
Option PROC MEANS, 37
Option PROC POWER, 39
MERGE, 20
METHOD
Option PROC CALIS, 52
Option PROC FACTOR, 47
MIN
Fonction MIN, 21
Option PROC MEANS, 37
MINEIGEN, 47
Minimum, 21
MISSOVER, 18
ML, 47
MOD, 21
Mode, 21
Mode fixe, 18
Mode libre, 18
MODEL, 29, 43
Commande PROC REG, 43
Option PROC GLMPOWER, 39
Modlisation structurale, 29, 50
MODIFICATION, 52
Moyenne, 21, 28
MULTREG, 38
P
P, 44
PAGENO, 15
PAGESIZE, 15
PALL, 52
PARTIAL, 40
PCORR2, 44
PLOT
Option PROC GLMPOWER, 39
Option PROC PLOT, 32
Option PROC POWER, 39
Option PROC REG, 43, 44
Option PROC UNIVARIATE, 37
POWER
Option PROC GLMPOWER, 39
Option PROC POWER, 39
Prsentation graphique des donnes, 35
PRINCIPAL, 47
PRIORS, 47
PROC, 28
PROC CALIS, 29, 51
PROC CANCORR, 45
PROC CHART, 35
PROC CLUSTER, 29
PROC CORR, 28, 40
PROC DISCRIM, 29
PROC FACTOR, 29, 47
PROC FREQ, 28, 41, 42
PROC GCHART, 36
PROC GLM, 29
PROC GLMPOWER, 39
PROC MEANS, 28, 29, 30, 37
N
N
Nombre d'observations, 22
Option PROC MEANS, 37
NFACT, 47
NMISS, 22
NOLABEL, 15
53
T
Table de donnes, 18
Table SAS, 6
Tableau de frquences, 28
TABLES, 41
Taille dchantillon, 38
Test t, 6, 28
TITLE, 28, 30
TOL, 44
TOTEFF, 52
Transformation en donnes ordinales, 29
Transformations de variables, 20
Transformations linaires, 29
Tri, 29
TWOSAMPLEMEANS, 38
Q
QUARTIMAX, 48
R
R, 44
Racine carre, 21
RAND(dist), 26
RANGE, 22
RE, 48
Rgression multiple, 6, 29, 43
Rgression simple, 6, 29
RESIDUAL, 52
Rsultats, 9, 10
ROTATE, 48
ROUND, 48
RUN, 14, 15, 28
V
Valeur absolue, 21
VAR
Commande variable, 28
Fonction variance, 21
Variable, 29
VARIMAX, 48
VIF, 44
Visualisation des donnes, 29
S
Saisie de donnes, 14
Sasuser, 10
SCORR2, 44
SCREE, 48
SELECTION, 43
SIMPLE
Option PROC CALIS, 51
Option PROC CANCORR, 46
Option PROC FACTOR, 47
W
Work, 10, 17
54