导入的数据并不全是0,这是怎么回事呢?程序如下:
data first_data;
set book;
a3_type1=0;a3_type2=0;a3_type3=0;
if a3=1 then a3_type1=1;
if a3=2 then a3_type2=1;
if a3=3 then a3_type3=1;
a4_type1=0;a4_type2=0;a4_type3=0;a4_type4=0;a4_type5=0;
if a4=1 then a4_type1=1;
if a4=2 then a4_type2=1;
if a4=3 then a4_type3=1;
if a4=4 then a4_type4=1;
if a4=5 then a4_type5=1;
b1_type1=0;b1_type2=0;b1_type3=0;
if b1=1 then b1_type1=1;
if b1=2 then b1_type2=1;
if b1=3 then b1_type3=1;
c4_type1=0; c4_type2=0; c4_type3=0;
if c4=1 then c4_type1=1;
if c4=2 then c4_type2=1;
if c4=3 then c4_type3=1;
output;
run;
data second_data (keep=piddecision mode a1 a6 c11 c12 c13 c14 c15 e1 e2 e3 a2 a5 c2 c3 e4 a3_type1 a3_type2 a3_type3
a4_type1 a4_type2 a4_type3 a4_type4 a4_type5
b1_type1 b1_type2 b1_type3
c4_type1 c4_type2 c4_type3);
set first_data;
pid+1;
do i= 1 to 5;
mode=i;
decision=(r=i);
output;
end;
run;
data MDC;
set second_data;
con1_2=(mode=2)*1;con1_3=(mode=3)*1;con1_4=(mode=4)*1; con1_5=(mode=5)*1;
a1_2=(mode=2)*a1; a1_3=(mode=3)*a1;a1_4=(mode=4)*a1; a1_5=(mode=5)*a1;
a6_2=(mode=2)*a6; a6_3=(mode=3)*a6;a6_4=(mode=4)*a6; a6_5=(mode=5)*a6;
c11_2=(mode=2)*c11; c11_3=(mode=3)*c11;c11_4=(mode=4)*c11; c11_5=(mode=5)*c11;
c12_2=(mode=2)*c12; c12_3=(mode=3)*c12;c12_4=(mode=4)*c12; c12_5=(mode=5)*c12;
c13_2=(mode=2)*c13; c13_3=(mode=3)*c13;c13_4=(mode=4)*c13; c13_5=(mode=5)*c13;
c14_2=(mode=2)*c14; c14_3=(mode=3)*c14;c14_4=(mode=4)*c14; c14_5=(mode=5)*c14;
c15_2=(mode=2)*c15; c15_3=(mode=3)*c15;c15_4=(mode=4)*c15; c15_5=(mode=5)*c15;
e1_2=(mode=2)*e1; e1_3=(mode=3)*e1;e1_4=(mode=4)*e1; e1_5=(mode=5)*e1;
e2_2=(mode=2)*e2; e2_3=(mode=3)*e2;e2_4=(mode=4)*e2; e2_5=(mode=5)*e2;
e3_2=(mode=2)*e3; e3_3=(mode=3)*e3;e3_4=(mode=4)*e3; e3_5=(mode=5)*e3;
a2_2=(mode=2)*a2; a2_3=(mode=3)*a2;a2_4=(mode=4)*a2; a2_5=(mode=5)*a2;
a5_2=(mode=2)*a5; a5_3=(mode=3)*a5;a5_4=(mode=4)*a5; a5_5=(mode=5)*a5;
c2_2=(mode=2)*c2; c2_3=(mode=3)*c2;c2_4=(mode=4)*c2; c2_5=(mode=5)*c2;
c3_2=(mode=2)*c3; c3_3=(mode=3)*c3;c3_4=(mode=4)*c3; c3_5=(mode=5)*c3;
e4_2=(mode=2)*e4; e4_3=(mode=3)*e4;e4_4=(mode=4)*e4; e4_5=(mode=5)*e4;
a3_type1_2=(mode=2)*a3_type1; a3_type1_3=(mode=3)*a3_type1;a3_type1_4=(mode=4)*a3_type1; a3_type1_5=(mode=5)*a3_type1;
a3_type2_2=(mode=2)*a3_type2; a3_type2_3=(mode=3)*a3_type2;a3_type2_4=(mode=4)*a3_type2; a3_type2_5=(mode=5)*a3_type2;
a3_type3_2=(mode=2)*a3_type3; a3_type3_3=(mode=3)*a3_type3;a3_type3_4=(mode=4)*a3_type3; a3_type3_5=(mode=5)*a3_type3;
a4_type1_2=(mode=2)*a4_type1; a4_type1_3=(mode=3)*a4_type1;a4_type1_4=(mode=4)*a4_type1; a4_type1_5=(mode=5)*a4_type1;
a4_type2_2=(mode=2)*a4_type2; a4_type2_3=(mode=3)*a4_type2;a4_type2_4=(mode=4)*a4_type2; a4_type2_5=(mode=5)*a4_type2;
a4_type3_2=(mode=2)*a4_type3; a4_type3_3=(mode=3)*a4_type3;a4_type3_4=(mode=4)*a4_type3; a4_type3_5=(mode=5)*a4_type3;
a4_type4_2=(mode=2)*a4_type4; a4_type4_3=(mode=3)*a4_type4;a4_type4_4=(mode=4)*a4_type4; a4_type4_5=(mode=5)*a4_type4;
a4_type5_2=(mode=2)*a4_type5; a4_type5_3=(mode=3)*a4_type5;a4_type5_4=(mode=4)*a4_type5; a4_type5_5=(mode=5)*a4_type5;
b1_type1_2=(mode=2)*b1_type1; b1_type1_3=(mode=3)*b1_type1;b1_type1_4=(mode=4)*b1_type1; b1_type1_5=(mode=5)*b1_type1;
b1_type2_2=(mode=2)*b1_type2; b1_type2_3=(mode=3)*b1_type2;b1_type2_4=(mode=4)*b1_type2; b1_type2_5=(mode=5)*b1_type2;
b1_type3_2=(mode=2)*b1_type3; b1_type3_3=(mode=3)*b1_type3;b1_type3_4=(mode=4)*b1_type3; b1_type3_5=(mode=5)*b1_type3;
c4_type1_2=(mode=2)*c4_type1; c4_type1_3=(mode=3)*c4_type1;c4_type1_4=(mode=4)*c4_type1; c4_type1_5=(mode=5)*c4_type1;
c4_type2_2=(mode=2)*c4_type2; c4_type2_3=(mode=3)*c4_type2;c4_type2_4=(mode=4)*c4_type2; c4_type2_5=(mode=5)*c4_type2;
c4_type3_2=(mode=2)*c4_type3; c4_type3_3=(mode=3)*c4_type3;c4_type3_4=(mode=4)*c4_type3; c4_type3_5=(mode=5)*c4_type3;
output;
run;
procmdc data=MDC type=mixedlogit maxit=1000;
model decision = con1_2 con1_3 con1_4 con1_5
a1_2 a1_3 a1_4a1_5 a6_2 a6_3 a6_4 a6_5
c11_2 c11_3 c11_4c11_5 c12_2 c12_3 c12_4 c12_5
c13_2 c13_3 c13_4c13_5 c14_2 c14_3 c14_4 c14_5
c15_2 c15_3 c15_4 c15_5 e1_2 e1_3 e1_4 e1_5
e2_2 e2_3 e2_4 e2_5 e3_2 e3_3 e3_4 e3_5
a2_2 a2_3 a2_4a2_5 a5_2 a5_3 a5_4 a5_5
c2_2 c2_3 c2_4c2_5 c3_2 c3_3 c3_4 c3_5
e4_2 e4_3 e4_4e4_5
a3_type1_2 a3_type1_3a3_type1_4 a3_type1_5
a3_type2_2 a3_type2_3a3_type2_4 a3_type2_5
a3_type3_2 a3_type3_3a3_type3_4 a3_type3_5
a4_type1_2 a4_type1_3a4_type1_4 a4_type1_5
a4_type2_2 a4_type2_3a4_type2_4 a4_type2_5
a4_type3_2 a4_type3_3a4_type3_4 a4_type3_5
a4_type4_2 a4_type4_3a4_type4_4 a4_type4_5
a4_type5_2 a4_type5_3a4_type5_4 a4_type5_5
b1_type1_2 b1_type1_3b1_type1_4 b1_type1_5
b1_type2_2 b1_type2_3b1_type2_4 b1_type2_5
b1_type3_2 b1_type3_3b1_type3_4 b1_type3_5
c4_type1_2 c4_type1_3c4_type1_4 c4_type1_5
c4_type2_2 c4_type2_3c4_type2_4 c4_type2_5
c4_type3_2 c4_type3_3c4_type3_4 c4_type3_5
/nchoice=5
Mixed=(uniformparm=a1_2 a1_3 a1_4 a1_5
a6_2 a6_3 a6_4a6_5 c11_2 c11_3 c11_4 c11_5 c12_2 c12_3 c12_4 c12_5
c13_2 c13_3c13_4 c13_5 c14_2 c14_3 c14_4 c14_5 c15_2 c15_3 c15_4 c15_5
e1_2 e1_3 e1_4e1_5 e2_2 e2_3 e2_4 e2_5 e3_2 e3_3 e3_4 e3_5)/*指定为均匀分布的变量*/
Mixed=(normalparm= a2_2 a2_3 a2_4 a2_5 a5_2 a5_3 a5_4 a5_5
c2_2 c2_3 c2_4c2_5 c3_2 c3_3 c3_4 c3_5 e4_2 e4_3 e4_4 e4_5
a3_type1_2 a3_type1_3a3_type1_4 a3_type1_5
a3_type2_2 a3_type2_3a3_type2_4 a3_type2_5
a3_type3_2 a3_type3_3a3_type3_4 a3_type3_5
a4_type1_2 a4_type1_3a4_type1_4 a4_type1_5
a4_type2_2a4_type2_3 a4_type2_4 a4_type2_5
a4_type3_2 a4_type3_3a4_type3_4 a4_type3_5
a4_type4_2a4_type4_3 a4_type4_4 a4_type4_5
a4_type5_2a4_type5_3 a4_type5_4 a4_type5_5
b1_type1_2 b1_type1_3b1_type1_4 b1_type1_5
b1_type2_2 b1_type2_3b1_type2_4 b1_type2_5
b1_type3_2 b1_type3_3b1_type3_4 b1_type3_5
c4_type1_2 c4_type1_3c4_type1_4 c4_type1_5
c4_type2_2c4_type2_3 c4_type2_4 c4_type2_5
c4_type3_2 c4_type3_3c4_type3_4 c4_type3_5)/*指定为正态分布的变量*/;
id pid;
run;