Options nocenter formdlim="-" ; * option nocenter aligne à droite, formdlim sépare les pages par des tirets; title1 h=3 j=l "Analyse factorielle FACTOR"; title2 h=2 j=l "Données MM"; 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 : Analyse des données appliquée au marketing ' j=r '2007 (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; title4 "3- Tableau de synthèse "; proc means data=in ; var Y X1-X5; title4 "4- Moyennes par Proc Means "; * sortie d'un data avec les scores factoriels (dat_Cprin) ; * sortie d'u tableau avec les statistiques (tab_stat); * demande de 5 axes factoriels ; * Measure of sample adequacy MSA pour voir si les variables ont quelque chose en commun ; ODS ouput open ; ODS output Eigenvalues = data_Eigenvalues ; proc factor data=in method=prin MSA scree preplot ; var X1-X5 ; ODS output close ; title4 "5- Factor : ACP "; symbol i=join v=dot ; proc gplot data=data_Eigenvalues ; plot Eigenvalue*Number ; run; proc factor data=in method=prin N=2 plot rotate=varimax out=dat_facteur outstat=tab_stat ; var X1-X5 ; proc print data= dat_facteur ; title4 "6- contenu du tableau des scores "; proc print data=tab_stat; title4 "6- contenu du tableau des statistiques "; * 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; title4 "6- contenu du tableau des statistiques transposé "; proc plot data=tab2_stat ; plot factor2*factor1$_NAME_ / vpos=30 ; title4 "6- Graphique des variables "; proc plot data=dat_facteur; plot factor2*factor1$ID / vpos=50 ; plot factor2*factor1=y / contour=5 vpos=50 ; plot factor2*factor1=tag ; title4 "7- Graphique des individus "; * ============= demande la liste des mots clés dans le journal ; ODS trace on; proc factor data=in method=prin N=5 scree ; var X1-X5 ; run; ODS trace off; *==============================================================;