Help using Base SAS procedures

Nomiss Option in Proc CORR to Calculate Cronbach's Alpha

Reply
Occasional Contributor
Posts: 9

Nomiss Option in Proc CORR to Calculate Cronbach's Alpha

Hi everyone,

I am looking help to solve the mystery in calculating cronbach's alpha WITHOUT "Nomiss" options in proc corr.

Here is my sample data:

Capture.JPG

and here is my code:

Proc Corr Data = test Alpha Out = temp1;

Run;

Then I got this result:

Capture2.JPG

I have one missing value on X2.

I didn't use the "Nomiss" option and get a raw alpha of 0.61538.

However, if calculate the alpha manually based on the formula:

Alpha = K/(K - 1) * (1 - (Variance_X1 + Variance_X2) / Variance_(X1+X2)),

Since Variance_X1 = ((1-2)^2 + (2-2)^2 + (3-2)^2) / (3-1) = 1,

          Variance_X2 = ((1-1.25)^2 + (1.5-1.25)^2) / (2-1) = 0.125,

          Variance_(X1+X2) =  ((2-2.83)^2 + (3.5-2.83)^2 + (3-2.83)^2) / (3-1) = 1.125,

          and with K = 2,

I get alpha = (2/(2-1)) * (1 - (1+0.125)/1.125) = 0.

Does anyone know how SAS calculate the alpha in this example?

Thank you in advance!

Super User
Posts: 19,870

Re: Nomiss Option in Proc CORR to Calculate Cronbach's Alpha

Posted in reply to Siriustar

I think you're variance of (X1+X2) formula is incorrect, I get 0.875 but I suppose that depends on how you deal with the missing value, because you'd need that to calculate the Cov(XY).

Var[X + Y] = Var + Var - 2Cov[X,Y], where Cov[X,Y] = E[XY]-EE

Ask a Question
Discussion stats
  • 1 reply
  • 147 views
  • 0 likes
  • 2 in conversation