home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / C-SSP.ARJ / STCHIS.C < prev    next >
Encoding:
Text File  |  1984-07-28  |  1008 b   |  55 lines

  1.       stchis(llc,m,n,x,chi2,idf,r)
  2.  
  3.       /*this subroutine computes any number of m by n contingency tables.*/
  4.  
  5.       float x[],*chi2,r[];
  6.       int llc,m,n,*idf;
  7.  
  8.      {
  9.  
  10.       float sum,c,e,xx,xxme;
  11.       int i,ij,j,kllc;
  12.  
  13.       sum = 0.0;
  14.       kllc = 0;
  15.       for (i = 0; i <= m-1; i++)
  16.       {
  17.         r[i] = 0.0;
  18.  
  19.         for (j = 0; j <= n-1; j++)
  20.         {
  21.           ij = j + kllc;
  22.           sum = sum + x[ij];
  23.           r[i] = r[i] + x[ij];
  24.         }
  25.         kllc = kllc + llc;
  26.       }
  27.  
  28.       *chi2 = 0.0;
  29.  
  30.       for (j = 0; j <= n-1; j++)
  31.       {
  32.         c = 0.0;
  33.         ij = j;
  34.  
  35.         for (i = 0; i <= m-1; i++)
  36.         {
  37.           c = c + x[ij];
  38.           ij = ij + llc;
  39.         }
  40.  
  41.         ij = j;
  42.         for (i = 0; i <= m-1; i++)
  43.         {
  44.           xx = x[ij];
  45.           ij = ij + llc;
  46.           e = r[i] * c/sum;
  47.           xxme = xx - e;
  48.           *chi2 = *chi2 + xxme * xxme/e;
  49.         }
  50.       }
  51.  
  52.       *idf = (m-1)*(n-1);
  53.  
  54.      }
  55.