Alpha.sas
*** Alpha.sas ***; options pageno=min nodate formdlim='-'; title 'Computing Cronbach''s alpha with SAS.'; run; data Kevin; infile 'D:/StatData/kj.dat'; input (q1-q10) (1.); proc corr nosimple nocorr nomiss alpha; var q1-q10; title2 'The easy way, let Proc Corr do it.'; run; ****************************************************************************; data alpha; set Kevin; if nmiss (of Q1-Q10) > 0 then delete; TOT=Q1+Q2+Q3+Q4+Q5+Q6+Q7+Q8+Q9+Q10; proc means var; var q1-q10 tot; OUTPUT OUT=VarOut VAR=VQ1-VQ10 VTot; title 'Computing alpha from item variances.'; DATA _NULL_; FILE PRINT; SET VAROUT; SUMVAR = SUM(OF VQ1-VQ10); Alpha = (10/9)*(1-SUMVAR/VTOT); put; put Alpha = ; run; ***************************************************************************; data lambda4; set Kevin; if nmiss (of Q1-Q4) > 0 then delete; A1=Q1+Q2; B1=Q3+Q4; A2=Q1+Q3; B2=Q2+Q4; A3=Q1+Q4; B3=Q2+Q3; TOT=Q1+Q2+Q3+Q4; proc corr nosimple nocorr nomiss alpha; var Q1-Q4; title 'Alpha on just the first four items'; proc corr nosimple nomiss; var A1; with B1; title 'The first split half correlation'; run; proc corr nosimple nomiss; var A2; with B2; title 'The second split half correlation'; run; proc corr nosimple nomiss; var A3; with B3; title 'The third split half correlation'; run; proc means var; var a1 -- tot; output out=Var4 var=vA1 vB1 vA2 vB2 vA3 vB3 vTot; title 'Computing maximized lambda4 and alpha from all possible split-halves'; DATA _NULL_; FILE PRINT; SET Var4; Lam1=2*(1-(vA1+vB1)/vTot); Lam2=2*(1-(vA2+vB2)/vTot); Lam3=2*(1-(vA3+vB3)/vTot); Alpha=(Lam1 + Lam2 + Lam3)/3; put; put lam1= lam2= lam3= ; put Alpha= ; run;
+ نوشته شده در پنجشنبه هفتم مرداد ۱۳۸۹ ساعت 10:24 توسط mostafa
|
با تشکر از کسانی که با نظرات و انتقادهای خود باعث بالا رفتن کیفیت وبلاگ می شوند.