## Nomiss Option in Proc CORR to Calculate Cronbach's Alpha

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:

and here is my code:

Proc Corr Data = test Alpha Out = temp1;

Run;

Then I got this result:

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: 23,754

## 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

Discussion stats
• 1 reply
• 198 views
• 0 likes
• 2 in conversation