data bb;
input t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 fj1 fj2 fj3 fj4 fj5 fj fj7 fj8 fj9 fj10 fj11 fj12 di1 di2 di3 di4 di5 di6 di7 di8 di9 di10 di11 di12 m1 m2 m3 m4 m5 m6 m7 m8m m9 m10 m11 m12 choice;
datalines;
55.5 55.5 59.55 66 28.5 44.4 25.5 27 27 22.5 7.5 15 1.2 1.5 1.8 1.5 2 1.7 3.7 2.4 2.5 3.5 4 4.14 37000 37000 39700 44000 19000 29600 17000 18000
;
data newdata(keep=pid decision mode ttime fj di money);
set bb;
array tvec{12} t1 - t12;
array tvec1{12} fj1 - fj12;
array tvec2{12} di1 - di12;
array tvec3{12} m1 - m12;
retain pid 0;
pid + 1;
do i = 1 to 12;
mode = i;
ttime = tvec{i};
fj = tvec1{i};
di = tvec2{i};
money = tvec3{i};
decision = ( choice = i );
output;
end;
proc print data = newdata;
run;
proc mdc data=newdata type=mixedlogit;
model decision = fj /nchoice=12
mixed=(normalparm=fj);/*或者是其他可能为正态分布的变量*/
id pid;
run;
ERROR: The NCHOICE= option is not allowed when the number of choices for each individual
(ID) is not the same.