SAS 因子分析

/* 12项智力指标的因子分析  */
DATA IND (type=corr);              /*指定输入数据为相关系数矩阵*/
	  infile cards missover;   /*读取数据时,输入指针遇到短数据不会跳到下一行来读取,且没有数据的变量会自动设为缺失*/
      input _name_ $3.x1-x12; _type_='Corr';        /*指定_name_(列名) 和 _type_(行类型),这两个变量是相关矩阵建立中必须指定的*/
      /*if _n_=1 then _type_='N'; else _type_='Corr';     假如是第一行,则设定_type_列值为N,否则为Corr,指定相关矩阵从何处算起*/
      /* df 40 40 40 40 40 40 40 40 40 40 40 40 */
      cards;
xl 1.000 . . . . . . . . . . . 
x2 0.6904 1.000 . . . . . . . . . .
x3 0.4115 0.4511 1.000 . . . . . . . . .
x4 0.4580 0.7068 0.4018 1.000 . . . . . . . .
x5 0.5535 0.6620 0.4122 0.7119 1.000 . . . . . . .
x6 0.3923 0.6317 0.4520 0.4583 0.5299 1.000 . . . . . .
x7 0.1415 0.3009 0.2025 0.2665 0.2480 0.1590 1.000 . . . . .
x8 0.0077 0.0344 0.1855 0.1065 0.0003 0.1100 0.3595 1.000 . . . .
x9 0.2385 0.3523 0.3646 0.3644 0.3388 0.3982 0.5004 0.3314 1.000 . . .
x10 0.0333 0.1726 0.1311 0.1757 0.1998 0.0342 0.5758 0.1420 0.2808 1.000 . .
xll 0.0898 0.3878 0.2041 0.3191 0.3186 0.2914 0.2537 0.2025 0.3971 0.1468 1.000 .
x12 0.2215 0.2427 0.4124 0.2169 0.1459 0.0985 0.4222 0.2156 0.5016 0.2286 0.0776 1.000
;
run;
PROC FACTOR                 /*SAS中的因子分析过程*/
	  data=IND   
	  /* N=8  确定潜在因子个数,默认为取全部特征值大于1的 */
      /* OUT=out1  保存原变量和因子得分变量,N选项使用时才有效 */
      OUTSTAT=outind     /*保存每个指标的均值、标准差、样本数、相关系数矩阵或方差协方差矩阵、特征值和特征向量、事前共性方差、事后共性方差、未旋转因子载荷、旋转线性变换、旋转后的因子载荷以及因子得分系数等。*/
	  METHOD=prin       /*因子分析的方法,默认为prin(主成分分析法),也可设为ml(最大似然分析法)、prinit(主因子分析法)*/
      ROTATE=varimax    /* 指定因子旋转方法为最大方差旋转法,或orthomax、equamax、promax,缺省为none,不进行因子旋转 */
      MAXITER=25        /*设定最大迭代次数,缺省为30*/
	  REORDER          /*将指标变量按每个潜在因子载荷的绝对值从大到小重新排序*/
      /* HEY  表示将大于1的共性方差的值设为1 */
      ;
	  var x1-x12;       /*指定待分析的12个变量*/
run;


 

/* 使用因子分析对医疗工作质量进行评估*/
data medic;
	input x1-x9;
	cards;
4.34 389 99.06 1.23 25.46 93.15 3.56 97.51 61.66
3.45 271 88.28 0.85 23.55 94.31 2.44 97.94 73.33
4.38 385 103.97 1.21 26.54 92.53 4.02 98.48 76.79
4.18 377 99.48 1.19 26.89 93.86 2.92 99.41 63.16
4.32 378 102.01 1.19 27.63 93.18 1.99 99.71 80.00
4.13 349 97.55 1.10 27.34 90.63 4.38 99.03 63.16
4.57 361 91.66 1.14 24.89 90.60 2.73 99.69 73.53
4.31 209 62.18 0.52 31.74 91.67 3.65 99.48 61.11
4.06 425 83.27 0.93 26.56 93.81 3.09 99.48 70.73
4.43 458 92.39 0.95 24.26 91.12 4.21 99.76 79.07
4.13 496 95.43 1.03 28.75 93.43 3.50 99. 10 80.49
4.10 514 92.99 1.07 26.31 93.24 4.22 100.00 78.95
4.11 490 80.90 0.97 26.90 93.68 4.97 99.77 80.53
3.53 344 79.66 0.68 31.87 94.77 3.59 100.00 81.97
4.16 508 90.98 1.01 29.43 95.75 2.77 98.72 62.86
4.17 545 92.98 1.08 26.92 94.89 3.14 99.41 82.35
4.16 507 95.10 1.01 25.82 94.41 2.80 99.35 60.61
4.86 540 93.17 1.07 27.59 93.47 2.77 99.80 70.21
5.06 552 84.38 1.10 27.56 95.15 3.10 98.63 69.23
4.03 453 72.69 0.90 26.03 91.94 4.50 99.05 60.42
4.15 529 86.53 1.05 22.40 91.52 3.84 98.58 68.42
3.94 515 91.01 1.02 25.44 94.88 2.56 99.36 73.91
4.12 552 89.14 1.10 25.70 92.65 3.87 95.52 66.67
4.42 597 90.18 1.18 26.94 93.03 3.76 99.28 73.81
3.05 437 78.81 0.87 23.05 94.46 4.03 96.22 87.10
3.94 477 87.34 0.95 26.78 91.78 4.57 94.28 87.34
4.14 638 88.57 1.27 26.53 95.16 1.67 94.50 91.67
3.87 583 89.82 1.16 22.66 93.43 3.55 94.49 89.07
4.08 552 90.19 1.10 22.53 90.36 3.47 97.88 87.14
4.14 551 90.81 1.09 23.06 91.65 2.47 97.72 87.13
4.04 574 81.36 1.14 26.65 93.74 1.61 98.20 93.02
3.93 515 76.87 1.02 23.88 93.82 3.09 95.46 88.37
3.90 555 80.58 1.10 23.08 94.38 2.06 96.82 91.79
3.62 554 87.21 1.10 22.50 92.43 3.22 97.16 87.77
3.75 586 90.31 1.12 23.73 92.47 2.07 97.74 93.89
3.77 627 86.47 1.24 23.22 91.17 3.40 98.98 89.80
;
proc factor data=medic 
             N=4   /*设定潜在因子的个数为4*/
			 rotate=quartimax   /*因子旋转的方法设定为正交的四次方最大旋转*/
             outstat=outmedic;  /*保存每个指标的均值、标准差、样本数、相关系数矩阵或方差协方差矩阵、特征值和特征向量等*/
	  var x1-x9;      /*分析变量为全部指标*/
run;


 

/* 因子分析 - 汽车销售数据 */
proc contents data=DA.carsales;  /*查看数据集描述*/
run;


 

猜你喜欢

转载自blog.csdn.net/Tiaaaaa/article/details/58614686
SAS