I have a dataset related to kidney transplants and each donor has a donor id and both the left and right kidneys are tied to that donor id.
I need to create a binary variable called 'discard' (0=no, 1=yes) that is a composite of left and right kidney dispositions.
Currently I have the variables:
donor_id
r_disp (5=discard, 6=transplant)
l_disp (5=discard, 6=transplant)
How do I create a variable called "discard" that will be a composite indicator of r_disp and l_disp so that I can investigate the odds of discard overall?
If r_disp and l_disp are on the same record in a data step:
(flag if either are discarded)
discard = (r_disp=5 or l_disp=5);
(flag if BOTH are discarded)
discard = (r_disp=5 and l_disp=5);
Could you give example of the data you have ?
Yes, what your logic ?
if both of them are diecard then discard =1
or
if any one of them is dicard then discard=1
data have ;
input ID r_disp l_disp;
cards;
111 5 5
112 6 6
113 5 6
114 6 6
;
run;
data want ;
set have;
if r_disp=5 and l_disp=5 then discard=1;
else discard =0;
run;
That is example.
If you want discard to equal 1 if the right or the left is discard then change the "and" to "or" in the IF condition.
The logic of discard or not isn't clear but something like this seems right:
data have;
input ID$ r_disp$ l_disp$;
cards;
1 5 5
2 5 6
3 6 5
4 6 6
;run;
data want;
set have;
if r_disp = '6' or l_disp = '6' then Discard = '0';
else discard = '1';
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.