FAQ/WilliamsSPSS - CBU statistics Wiki

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment
Type the missing letters from: He's no ded, he's jus resing hs eys

Revision 53 as of 2006-07-12 11:32:02

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. This uses SPSS syntax from http://www.utexas.edu/its/rc/answers/general/gen28.html. Just cut and paste into a SPSS syntax window to use. In the syntax window 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.

More SPSS syntax

  • [:FAQ/WilliamsSPSS/Fisher:Comparing two correlations from two independent samples]

  • [:FAQ/WilliamsSPSS/Filon:Comparing two correlations from the same sample with no variables in common eg of form r(A,B)=r(X,Y)]

  • [:FAQ/WilliamsSPSS/Meng:A z-test alternative to Williams-Hotelling for testing correlations of form r(W,X)=r(W,Z)]

Some of the above tests may be performed using the free downloadable program FZT.EXE http://www-class.unl.edu/psycrs/statpage/comp.html but note FZT.EXE does not compute p-values

[COPY AND PASTE BELOW SPSS SYNTAX TO PERFORM WILLIAMS TEST]

  • * 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.