Chapter 5: Categorical and Discrete Data Analysis

CTPRB

Computes exact probabilities in a two-way contingency table.

Required Arguments

TABLENROW by NCOL matrix containing the contingency table cell frequencies.   (Input)

PRE — Probability of a more extreme table where “extreme” is taken in the Neyman-Pearson sense.   (Output)
A table is more extreme if its probability (for fixed marginals) is less than or equal to PRT.

Optional Arguments

NROW — Number of rows in the contingency table.   (Input)
Default: NROW = size (TABLE,1).

NCOL — Number of columns in the contingency table.   (Input)
Default: NCOL = size (TABLE,2).

LDTABL — Leading dimension of TABLE exactly as specified in the dimension statement in the calling program.   (Input)
Default: LDTABL = size (TABLE,1).

PRT — Probability of the observed table assuming fixed row and column marginal totals.   (Output)

PCHEK — Sum of the probabilities of all tables with the same marginal totals.   (Output)
PCHEK should be 1.0. Deviation from 1.0 indicates a numerical error.

FORTRAN 90 Interface

Generic:                              CALL CTPRB (TABLE, PRE [,…])

Specific:                             The specific interface names are S_CTPRB and D_CTPRB.

FORTRAN 77 Interface

Single:                                CALL CTPRB (NROW, NCOL, TABLE, LDTABL, PRT, PRE, PCHEK)

Double:                              The double precision name is DCTPRB.

Description

Routine CTPRB computes exact probabilities for an r × c contingency table for fixed row and column marginals where r = NROW and c = NCOL. Let fij denote the element in row i and column j of a table, and let fi and fj denote the row and column marginals. Under the independence hypothesis, the (conditional) probability for fixed marginals of a table is given by

where f∙∙ is the total number of counts in the table and x! denotes x factorial. When the fij are obtained from the input table (fij = TABLE(i, j)), Pf = PRT. PRE is the sum over all more extreme tables of the probability of each table.

In CTPRB, a more extreme table is defined in the probabilistic sense. Table X is more extreme than the input table if the conditional probability computed for table X (for the same marginal sums) is less than the conditional probability computed for the input table. The user should note that this definition of “more extreme” can be considered as “two-sided” in the cell counts.

Because CTPRB uses total enumeration in computing the probability of a more extreme table, the amount of computer time required increases very rapidly with the size of the table. Tables, with either a large total count f∙∙ or in which the product rc is not small, should not be analyzed with CTPRB. Rather, either the approximate methods of Agresti, Wackerly, and Boyett (1979) should be used or algorithms that do not require total enumeration should be used (see Pagano and Halvorsen [1981], or Mehta and Patel [1983]).

Comments

1.         Workspace may be explicitly provided, if desired, by use of C2PRB/DC2PRB. The reference is:

CALL C2PRB (NROW, NCOL, TABLE, LDTABL, PRT, PRE, PCHCK, IWK)

The additional argument is:

IWK — Work vector of length (NROW + 2)(NCOL + 2).

2.         Informational error

Type Code

3         1                  There are no observed counts in TABLE. PRE, PRT, and PCHEK are set to NaN (not a number).

3.         Routine CTPRB computes a two-tailed Fisher exact probability in 2 by 2 tables. For one-tailed Fisher exact probabilities, use routine CTTWO.

Example

In this example, CTPRB is used to compute the exact conditional probability for a 2 × 2 contingency table. The input table is given as:

 

      USE UMACH_INT

      USE CTPRB_INT

 

      IMPLICIT   NONE

      INTEGER    NCOL, LDTABL

      PARAMETER  (NCOL=2, LDTABL=2)

!

      INTEGER    NOUT

      REAL       PCHEK, PRE, PRT, TABLE(LDTABL,NCOL)

!

      DATA TABLE/8, 8, 12, 2/

!

      CALL UMACH (2, NOUT)

!

      CALL CTPRB (TABLE, PRE, PRT=PRT, PCHEK=PCHEK)

!

      WRITE(NOUT,'('' PRT = '', F12.4, /, '' PRE = '', F12.4, /, &

           & '' PCHEK = '', F10.4)')  PRT, PRE, PCHEK

      END

Output

 

PRT =       0.0390
PRE =       0.0577
PCHEK =     1.0000



http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260