* Convert observed to a scale from 1 to p. * replace n4 and n5 with names. * REPLACE P ON LINE COMPUTE NR1 = P WITH NUMBER . GET FILE='C:\prepost.sav'. compute n7 = trunc(rv.uniform(1,6)). execute. set mxloops = 9999. matrix. get n1s /file = */ variables = n6 . get n2s /file = */ variables = n7 . compute nr1 =5. compute nb = 500. compute chib = make(nb,1,0). compute nr = nrow(n1s). compute n1 = make(nr,1,0). compute n2 = make(nr,1,0). compute cross= make(nr1,nr1,0). loop i = 1 to nr. compute k1 = n1s(i,1). compute k2 = n2s(i,1). compute cross(k1,k2 ) = cross(k1,k2) +1. end loop. print cross. compute j1 = make(nr1,1,1). compute sum1 = cross*j1. * print sum1. compute chi1 = 0. loop i = 1 to nr1. do if (sum1(i,1) >0). compute chi1 = chi1 + (cross(i,i)-sum1(i,1))**2/sum1(i,1). end if. end loop. print chi1. loop ib = 1 to nb. compute n1 = make(nr,1,0). compute n2 = make(nr,1,0). compute cross= make(nr1,nr1,0). loop ib1 = 1 to nr. compute ind1 = trunc(nr*uniform(1,1)+1). * print ind1. compute n1(ib1,1) = n1s(ind1,1). compute n2(ib1,1) = n2s(ind1,1). end loop. loop i = 1 to nr. compute k1 = n1(i,1). compute k2 = n2(i,1). compute cross(k1,k2 ) = cross(k1,k2) +1. end loop. * print cross. compute j1 = make(nr1,1,1). compute sum1 = cross*j1. * print sum1. compute chi1 = 0. loop i = 1 to nr1. do if (sum1(i,1) >0). compute chi1 = chi1 + (cross(i,i)-sum1(i,1))**2/sum1(i,1). end if. end loop. compute chib(ib,1) = chi1. *print chib. *print chi1. end loop. save chib /outfile = 'c:\chib.sav'. end matrix.