/*-----------------------------------------------------------------
            S A S   S A M P L E   L I B R A R Y                   
                                                                  
      NAME: CATEX5                                                
     TITLE: Example 5 for PROC CATMOD                             
   PRODUCT: STAT                                                  
    SYSTEM: ALL                                                   
      KEYS: categorical data analysis                             
     PROCS: CATMOD                                                
      DATA:                                                       
                                                                  
   SUPPORT: Bob Derr                                              
       REF: SAS/STAT User's Guide, PROC CATMOD chapter            
      MISC:                                                       
                                                                  
-----------------------------------------------------------------*/

/*----------------------------------------------------------------
Example 5: Log-Linear Model, Structural and Sampling Zeros

              Behavior of Squirrel Monkeys
              ----------------------------
In a population of 6 squirrel monkeys, the joint distribution
of genital display with respect to (active role, passive role)
was observed. Since a monkey cannot have both the active and
passive roles in the same interaction, the diagonal cells of
the table are structural zeros.

From: Fienberg (1980, Table 8-2)
----------------------------------------------------------------*/

data Display;
   input Active $ Passive $ wt @@;
   if Active ne 't';
   if Active eq Passive then wt=.;
   datalines;
r r  0   r s  1   r t  5   r u  8   r v  9   r w  0
s r 29   s s  0   s t 14   s u 46   s v  4   s w  0
t r  0   t s  0   t t  0   t u  0   t v  0   t w  0
u r  2   u s  3   u t  1   u u  0   u v 38   u w  2
v r  0   v s  0   v t  0   v u  0   v v  0   v w  1
w r  9   w s 25   w t  4   w u  6   w v 13   w w  0
;

title 'Behavior of Squirrel Monkeys';
proc catmod data=Display;
   weight wt;
   model Active*Passive=_response_ /
         missing=structural zero=sampling
         freq pred=freq noparm oneway;
   loglin Active Passive;
   contrast 'Passive, U vs. V' Passive 0 0 0 1 -1;
   contrast 'Active,  U vs. V' Active  0 0 1 -1;
   title2 'Test Quasi-Independence for the Incomplete Table';
quit;