Conditional Logit

/*--------------------------------------------------------------

                    SAS Sample Library

        Name: mdcex02.sas
 Description: Example program from SAS/ETS User's Guide,
              The MDC Procedure
       Title: Conditional Logit
     Product: SAS/ETS Software
        Keys: multinomial discrete choice
        PROC: MDC
       Notes:

--------------------------------------------------------------*/

data travel;
   length mode $ 8;
   input auto transit mode $;
datalines;
52.9   4.4 Transit
4.1   28.5 Transit
4.1   86.9 Auto
56.2  31.6 Transit
51.8  20.2 Transit
0.2   91.2 Auto
27.6  79.7 Auto
89.9  2.2  Transit
41.5  24.5 Transit
95.0  43.5 Transit
99.1  8.4  Transit
18.5  84.0 Auto
82.0  38.0 Auto
8.6  1.6  Transit
22.5  74.1 Auto
51.4  83.8 Auto
81.0  19.2 Transit
51.0  85.0 Auto
62.2  90.1 Auto
95.1  22.2 Transit
41.6  91.5 Auto
;

data new;
   set travel;
   retain id 0;
   id+1;
   /*-- create auto variable --*/
   decision = (upcase(mode) = 'AUTO');
   ttime = auto;
   autodum = 1;
   trandum = 0;
   output;
   /*-- create transit variable --*/
   decision = (upcase(mode) = 'TRANSIT');
   ttime = transit;
   autodum = 0;
   trandum = 1;
   output;
run;

proc print data=new(obs=10);
   var decision autodum trandum ttime;
   id id;
run;

proc mdc data=new;
   model decision = autodum ttime /
            type=clogit
            nchoice=2;
   id id;
run;

proc mdc data=travel;
   mdcdata varlist( x1 = (auto transit) )
           select=mode
           id=id
           alt=alternative
           decvar=Decision / out=new3;
   model decision = auto x1 /
            nchoice=2
            type=clogit;
   id id;
run;

proc print data=new3(obs=9);
run;