In the SAS code above <BR> line breaks are inserted, here's a new try, hopefully the code looks better now: First code: proc phreg data=tteana;
class trtpn(ref='1') region;
model aval * cnsr(1) = trtpn region aeno1 aeno2 aeno3 aeno1*trtpn aeno2*trtpn aeno3*trtpn / rl;
if tim1 <= .z or aval <= tim1 then do;
aeno1 = 0; aeno2 = 0; aeno3 = 0;
end;
else do;
if (aval > tim1 and (aval <= tim2 or tim2 = .)) then do;
aeno1 = 1; aeno2 = 0; aeno3 = 0;
end;
else do;
if (aval > tim2 and (aval <= tim3 or tim3 = .)) then do;
aeno1 = 0; aeno2 = 1; aeno3 = 0;
end;
else do;
if (aval > tim3 ) then do;
aeno1 = 0; aeno2 = 0; aeno3 = 1;
end;
end;
end;
end; * T1: Test aeno1*trtpn = aeno2*trtpn = aeno3*trtpn = 0;
run; Second code: proc phreg data = tteana;
class trtpn(ref='1') region;
model aval * cnsr(1) = trtpn region aeno1 aeno2 aeno3 dummy1 dummy2 dummy3 / rl;
if tim1 <= .z or aval <= tim1 then do;
aeno1 = 0; dummy1 = aeno1*trtpn;
aeno2 = 0; dummy2 = aeno2*trtpn;
aeno3 = 0; dummy3 = aeno3*trtpn;
end;
else do;
if (aval > tim1 and (aval <= tim2 or tim2 = .)) then do;
aeno1 = 1; dummy1 = aeno1*trtpn;
aeno2 = 0; dummy2 = aeno2*trtpn;
aeno3 = 0; dummy3 = aeno3*trtpn;
end;
else do;
if (aval > tim2 and (aval <= tim3 or tim3 = .)) then do;
aeno1 = 0; dummy1 = aeno1*trtpn;
aeno2 = 1; dummy2 = aeno2*trtpn;
aeno3 = 0; dummy3 = aeno3*trtpn;
end;
else do;
if (aval > tim3 ) then do;
aeno1 = 0; dummy1 = aeno1*trtpn;
aeno2 = 0; dummy2 = aeno2*trtpn;
aeno3 = 1; dummy3 = aeno3*trtpn;
end;
end;
end;
end;
run; T1: Test dummy1 = dummy2 = dummy3 = 0;
... View more