************************************************************** * MACRO NAME: RMPOSTB2.SPS * * * * README FILE: RMPOST.RM * * * * SPSS REQUIREMENTS: Release 4.0 or above * * Advanced Statistics Module * * * * AUTHOR: David Nichols (nichols@spss.com) * * * * LAST UPDATED: 09/13/96 * ************************************************************** preserve set printback=off mprint=off define rmpost (var=!charend('/') /alpha=!default(.05) !charend('/')) preserve set printback=off mprint=off results=off save outfile=rm__tmp1.sav count ms__ = !var (missing) select if ms__ = 0 set results off correlations !var /missing=listwise /matrix out(*) do if rowtype_='CORR' recode !var (sysmis=0) end if execute mconvert matrix get x /var=!var compute k=ncol(x) compute n=x(3,1) compute ncomp=k*(k-1)/2 compute dfe=n-1 compute mean1=make(ncomp,1,0) compute mean2=make(ncomp,1,0) compute diff=make(ncomp,1,0) compute sediff=make(ncomp,1,0) compute h=0 loop #i=1 to k-1 + loop #j=#i+1 to k + compute h=h+1 + compute mean1(h)=#i + compute mean2(h)=#j + compute diff(h)=x(1,#i)-x(1,#j) + compute sediff(h)=sqrt((x(#i+3,#i)+x(#j+3,#j)-2*x(#i+3,#j))/n) + end loop end loop compute pval=1-(!alpha/ncomp) compute fstat=(diff&/sediff)&**2 compute sig1=make(ncomp,1,0) loop #i=1 to ncomp + compute sig1(#i)=fcdf(fstat(#i),1,dfe)-pval end loop save {mean1,mean2,diff,sediff,sig1} /outfile=rm__tmp2.sav /variables=mean1,mean2,diff,sediff,sig1 end matrix get file=rm__tmp2.sav string vs (a3) sig (a2) recode vs (' '='vs.') do if sig1 gt 0 recode sig (' '='**') end if formats mean1 mean2 (f2.0) diff sediff (f7.6) variable labels mean1 'Mean' mean2 'Mean' vs '' sig 'Sig.' variable labels diff 'Mean Difference' sediff 'Standard Error of Difference' set results on report format=list automatic align(center) /variables=mean1 vs mean2 sig diff sediff /title='Bonferroni Pairwise Comparisons' get file=rm__tmp1.sav restore !enddefine restore