I need to create a block variable to keep a tab on changing doses.
subject dose
10002 10MG
10002 10MG
10002 20MG
10002 10MG
10002 10MG
10004 10MG
10004 10MG
10004 10MG
10004 20MG
10004 20MG
I want the final dataset to look like as follows.
subject dose block
10002 10MG 1
10002 10MG 1
10002 20MG 2
10002 10MG 3
10002 10MG 3
10004 10MG 1
10004 10MG 1
10004 10MG 1
10004 20MG 2
10004 20MG 2
any thoughts?
BY groups + FIRST, this assumes your data is sorted as shown.
data want;
set have;
by subject dose notsorted;
if first.subject then block=0;
if first.dose then block+1;
run;
@gp123 wrote:
I need to create a block variable to keep a tab on changing doses.
subject dose
10002 10MG
10002 10MG
10002 20MG
10002 10MG
10002 10MG
10004 10MG
10004 10MG
10004 10MG
10004 20MG
10004 20MG
I want the final dataset to look like as follows.
subject dose block
10002 10MG 1
10002 10MG 1
10002 20MG 2
10002 10MG 3
10002 10MG 3
10004 10MG 1
10004 10MG 1
10004 10MG 1
10004 20MG 2
10004 20MG 2
any thoughts?
BY groups + FIRST, this assumes your data is sorted as shown.
data want;
set have;
by subject dose notsorted;
if first.subject then block=0;
if first.dose then block+1;
run;
@gp123 wrote:
I need to create a block variable to keep a tab on changing doses.
subject dose
10002 10MG
10002 10MG
10002 20MG
10002 10MG
10002 10MG
10004 10MG
10004 10MG
10004 10MG
10004 20MG
10004 20MG
I want the final dataset to look like as follows.
subject dose block
10002 10MG 1
10002 10MG 1
10002 20MG 2
10002 10MG 3
10002 10MG 3
10004 10MG 1
10004 10MG 1
10004 10MG 1
10004 20MG 2
10004 20MG 2
any thoughts?
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.