FAQ/WilliamsSPSS - CBU statistics Wiki

Revision 34 as of 2006-07-11 15:44:25

Clear message
location: FAQ / WilliamsSPSS

A variable in common (overlap) e.g. of form r(W,X) = r(W,Z).

A test for this comparison goes under various names the Williams test, Williams-Hotelling or Hotelling test.

An example of its use in macro form is given below. Just cut and paste into a SPSS syntax window to use. In the syntax choose select all and click the run arrow. Edit the data in the spreadsheet as required. You can also use the Williams-Hotelling test by typing equalcor at a UNIX prompt on a CBU machine.

[CUT AND PASTE ALL BELOW THIS LINE]

* Dependent Correlation Comparison Program.

* Compares correlation coefficients from the same sample.

* See Cohen & Cohen (1983), p. 57.

* Sam Field, sfield@mail.la.utexas.edu, March 1, 2000.

* Three pairs of correlations to compare*****

set format f10.5.

DATA LIST free

/r12 r13 r23 nsize.

BEGIN DATA

.50 .32 .65 50

.59 .31 .71 30

.80 .72 .89 26

END DATA.

define williams (rxy = !tokens(1)

  • /rvy = !tokens(1) /rxv = !tokens(1) /n = !tokens(1)).

COMPUTE #diffr = !rxy - !rvy.

COMPUTE #detR = (1 - !rxy **2 - !rvy**2 - !rxv**2)+ (2*!rxy*!rxv*!rvy).

COMPUTE #rbar = (!rxy + !rvy)/2.

COMPUTE #tnum = (#diffr) * (sqrt((!n-1)*(1 + !rxv))).

COMPUTE #tden = sqrt(2*((!n-1)/(!n-3))*#detR + ((#rbar**2) * ((1-!rxv)**3))).

COMPUTE t= (#tnum/#tden).

COMPUTE df = !n - 3.

COMPUTE p_1_tail = 1 - CDF.T(abs(t),df).

COMPUTE p_2_tail = (1 - CDF.T(abs(t),df))*2.

LIST t df p_1_tail p_2_tail.

exe.

!enddefine.

*********************

williams rxy=r12 rvy=r13 rxv=r23 n=nsize.