- /*code 1*/
- proc phreg data=VLid13;
- model TimeTo1stRebound*Rebound1(0)=Xblip1-Xblip5 Xblip0/risklimits;
- array XblipAry{6} Xblip0-Xblip5;
- if blip1=0 then do;
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- XblipAry{1}=1.0;
- end;
- else if TimeTo1stRebound<TimeToBlip then do;
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- XblipAry{1}=1.0;
- end;
- else do;
- if VLblip<199 then do;
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- XblipAry{2}=1.0;
- end;
- else if VLblip<399 then do;
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- XblipAry{3}=1.0;
- end;
- else if VLblip<599 then do;
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- XblipAry{4}=1.0;
- end;
- else if VLblip<799 then do;
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- XblipAry{5}=1.0;
- end;
- else do;
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- XblipAry{6}=1.0;
- end;
- end;
- run;
- /*code 2*/
- proc phreg data=VLid13;
- model TimeTo1stRebound*Rebound1(0)=Xblip1-Xblip5 Xblip0/risklimits;
- array XblipAry{6} Xblip0-Xblip5;
- array tAry{7} _temporary_ (0. 50. 199. 399. 599. 799. 1000.);
- do i=1 to 6;
- XblipAry{i}=0.0;
- end;
- if blip1=0 then XblipAry{1}=1.0;
- else if TimeTo1stRebound<TimeToBlip then XblipAry{1}=1.0;
- else do;
- do i=1 to 6;
- if VLblip >= tAry{i} then if VLblip < tAry{i+1} then do;
- XblipAry{i}=1;
- return;
- end;
- end;
- end;
- run;
问题是code 1 和code 2 结果我认为应该相同。code 1 结果好像没有问题,code 2 Xblip1-Xblip5 是 缺失值,只有Xblip0.
我百思不得其解。恳求大家的帮助!!!



雷达卡


京公网安备 11010802022788号







