home *** CD-ROM | disk | FTP | other *** search
- stmedt(m,a,n,b,chi2)
-
- /*this subroutine compares two groups of data using the median*/
- /*test and computes the chi square value of the 2 by 2 table*/
- /*on 1 degree of freedom*/
-
- float a[1], b[1],*chi2;
- int m,n;
-
- {
-
- float em,en,xm1,xm,z,zz;
- int i,j,k,m1,m2;
- extern double fabs();
-
- em = m;
- en = n;
- m1 = m + n;
- xm1 = m1;
- m2 = m1/2;
- xm = xm1*0.5;
- sort (a,m);
- sort (b,n);
- i = 1;
- j = 1;
-
- for (k = 1; k <= m2; k++)
- {
- if (a[i-1] > b[j-1])
- {
- j = j + 1;
- if (j <= n) goto l20;
- z = en*(xm - en - em);
- goto l30;
- }
- else
- {
- i = i + 1;
- if (i <= m) goto l20;
- z = em*(en + em - xm);
- goto l30;
- }
- l20: ;
- }
- z = (i - 1)*en - (j - 1)*em;
- l30: zz = fabs(z) - xm;
- *chi2 = 2.0*zz*zz/(em*en*xm);
-
- }