Options nocenter formdlim="" ; * option nocenter aligne à droite, formdlim sépare les pages par des tirets; title1 "Analyse des données appliquée au marketing"; title2 h=2 j=l "Analyse factorielle"; title3 ; * une ligne blanche pour séparer les titres ; title4 "1- Lecture "; footnote1 h=3 j=l 'Master Marketing Paris-Dauphine'; footnote2 h=2 j=l 'Source : 2007' j=r '(c) Pierre Desmet'; Data in in1 ; input Num genre tag ID $ Y X1-X5 sup ; Label w='Poids' genre='Sexe' Y='Variable dépendante' ; cards ; 101 1 1 pierre 180 1 120 23 34 32 0 102 1 0 jean 220 2 200 20 20 20 0 103 1 1 jacques 190 1 200 10 20 10 0 104 1 0 bernard 110 1 500 10 10 10 0 105 2 1 michelle 320 3 300 30 5 30 0 106 2 0 anne 110 1 100 20 30 30 0 107 1 1 antoine 153 1 200 20 40 30 0 108 2 0 helene 260 2 220 23 34 32 0 109 1 1 joseph 390 3 300 30 30 30 0 110 2 0 angele 450 4 300 20 10 5 0 111 2 1 marie 310 3 200 20 30 20 0 112 2 0 denise 420 3 300 25 10 10 0 113 1 1 autre 360 3 200 10 20 10 1 ; proc format ; value genrefmt 1='Homme' 2='Femme'; title4 "2- Vérification de la lecture "; proc print data=in; title4 "3- Tableau de synthèse "; proc tabulate data=in ; class genre ; var X1-X5 ; table (X1 X2 X3 X4 X5),(genre all)*(N*F=3.0 (mean std)*F=6.2)/ rts=10; proc means data=in ; var Y X1-X5; title4 "4- Standardisation des variables "; * la moyenne à 0 et l'écart-type à 1; * avec création d'un nouveau tableau data par l'option OUT=in_std ; proc standard data=in mean=0 std=1 out=in_std; var Y X1-X5 ; run; proc print data=in_std ; run; title4 "5- ACP "; * sortie d'un data avec les scores factoriels (dat_Cprin) ; * sortie d'u tableau avec les statistiques (tab_stat); * demande de 5 axes factoriels ; proc princomp data=in out=dat_CPrin N=5 ; var X1-X5 ; proc princomp data=in_std out=dat_CPrin N=5 outstat=tab_stat; var X1-X5 ; proc print data= dat_Cprin ; proc print data=tab_stat; title4 "6- Graphique des variables "; * ne garder que les coefficients/loadings des variables ; data tab1_stat ; set tab_stat ; if _TYPE_="SCORE"; * transposition de la matrice ; proc transpose data=tab1_stat out=tab2_stat; proc print data=tab2_stat; proc plot data=tab2_stat ; plot prin2*prin1=_NAME_ / vpos=30 ; run; title4 "7- Graphique des individus "; proc gplot data=dat_CPrin; plot prin2*prin1=ID ; plot prin2*prin1=y ; plot prin2*prin1=tag ; ODS output Eigenvalue=tab_stat; proc princomp data=in_std N=5 ; var X1-X5 ; ODS output close ;