Le script débute par la création d'une table `SocEcon` contenant cinq variables socio-économiques via une étape DATA. Il procède ensuite au calcul d'une matrice de corrélation avec `PROC CORR`. Une seconde table de type CORR est aussi créée manuellement. Le cœur de l'analyse repose sur `PROC REG`, qui est utilisé à deux reprises : d'abord pour ajuster deux modèles de régression et sauvegarder leurs estimations et covariances (`OUTEST=regest COVOUT`), puis pour générer la matrice des sommes des carrés et produits croisés (`OUTSSCP=regsscp`). Les tables de résultats intermédiaires (`corrcorr`, `datacorr`, `regest`, `regsscp`) sont affichées avec `PROC PRINT` pour inspection.
Analyse des données
Type : CREATION_INTERNE
Les deux tables de données utilisées, `SocEcon` et `datacorr`, sont créées à l'intérieur du script en utilisant l'instruction `datalines`. Aucune source de données externe n'est nécessaire.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée la table de travail `SocEcon`. Il lit 12 observations pour 5 variables socio-économiques (Pop, School, Employ, Services, House) directement depuis le code à l'aide de l'instruction `datalines`.
title2 'Harman (1976), Modern Factor Analysis, Third Edition';
3
4
DATA SocEcon;
5
INPUT Pop School Employ Services House;
6
DATALINES;
7
570012.8250027025000
8
100010.96001010000
9
34008.81000109000
10
380013.6170014025000
11
400012.8160014025000
12
82008.326006012000
13
120011.44001016000
14
910011.533006014000
15
990012.5340018018000
16
960013.7360039025000
17
96009.633008012000
18
940011.4400010013000
19
;
20
2 Bloc de code
PROC CORR Data
Explication : La procédure `PROC CORR` calcule la matrice de corrélation pour toutes les variables numériques de la table `SocEcon`. L'option `noprint` supprime l'affichage dans la sortie standard, et `out=corrcorr` sauvegarde les résultats dans une nouvelle table nommée `corrcorr`. Cette table est ensuite affichée avec `PROC PRINT` et sa structure est inspectée avec `PROC CONTENTS`.
Explication : Ce DATA STEP crée manuellement une table SAS spéciale de type CORR nommée `datacorr`. Ce type de table peut être utilisé en entrée par d'autres procédures statistiques. Les données de la matrice de corrélation sont lues depuis les `datalines`. La table résultante est affichée avec `PROC PRINT`.
Copié !
title 'Five Socioeconomic Variables';
data datacorr(type=corr);
infile cards missover;
_type_='corr';
input _Name_ $ Pop School Employ Services House;
datalines;
Pop 1.00000
School 0.00975 1.00000
Employ 0.97245 0.15428 1.00000
Services 0.43887 0.69141 0.51472 1.00000
House 0.02241 0.86307 0.12193 0.77765 1.00000
;
proc print data=datacorr;
run;
1
title 'Five Socioeconomic Variables';
2
3
DATA datacorr(type=corr);
4
INFILECARDS missover;
5
_type_='corr';
6
INPUT _Name_ $ Pop School Employ Services House;
7
DATALINES;
8
Pop 1.00000
9
School 0.009751.00000
10
Employ 0.972450.154281.00000
11
Services 0.438870.691410.514721.00000
12
House 0.022410.863070.121930.777651.00000
13
;
14
15
PROC PRINTDATA=datacorr;
16
RUN;
4 Bloc de code
PROC REG Data
Explication : Cette procédure `PROC REG` effectue deux analyses de régression linéaire sur la table `SocEcon`. Les résultats (estimations des paramètres) sont stockés dans la table `regest` grâce à `outest=regest`. L'option `covout` inclut la matrice de covariance des estimations. Les deux modèles, 'full' et 'empser', sont spécifiés. La table de résultats `regest` est ensuite imprimée.
Copié !
proc reg data=SocEcon outest=regest covout;
full: model house=pop school employ services / noprint;
empser: model house=employ services / noprint;
quit;
proc print data=regest;
run;
1
PROC REGDATA=SocEcon outest=regest covout;
2
full: model house=pop school employ services / noprint;
3
empser: model house=employ services / noprint;
4
QUIT;
5
6
PROC PRINTDATA=regest;
7
RUN;
5 Bloc de code
PROC REG Data
Explication : Une seconde exécution de `PROC REG` est utilisée pour générer la matrice des sommes des carrés et des produits croisés (SSCP) pour les variables du modèle. Le résultat est stocké dans la table `regsscp` via l'option `outsscp=regsscp`. La table `regsscp` est ensuite affichée pour vérification.
Copié !
proc reg data=SocEcon outsscp=regsscp;
model house=pop school employ services / noprint;
quit;
proc print data=regsscp;
run;
1
PROC REGDATA=SocEcon outsscp=regsscp;
2
model house=pop school employ services / noprint;
3
QUIT;
4
5
PROC PRINTDATA=regsscp;
6
RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.