I have a large data that includes multiple observations for each ID.
If I only wanted to select the first entry of each ID, then the below code works.
If I wanted to select the first 5 entries of each ID, then what coding could I use?
Thanks for your help in advance.
data want;
set have;
by id;
if first.id;
run;
@SAS_AMUH wrote:
I have a large data that includes multiple observations for each ID.
If I only wanted to select the first entry of each ID, then the below code works.
If I wanted to select the first 5 entries of each ID, then what coding could I use?
Thanks for your help in advance.
data want;
set have;
by id;
if first.id;
run;
You have to count the obs per ID, code is untestet:
data want;
set have;
by id;
length counter 8;
retain counter;
if first.id then counter = 0;
counter = counter + 1;
if counter <= 5;
run;
@SAS_AMUH wrote:
I have a large data that includes multiple observations for each ID.
If I only wanted to select the first entry of each ID, then the below code works.
If I wanted to select the first 5 entries of each ID, then what coding could I use?
Thanks for your help in advance.
data want;
set have;
by id;
if first.id;
run;
You have to count the obs per ID, code is untestet:
data want;
set have;
by id;
length counter 8;
retain counter;
if first.id then counter = 0;
counter = counter + 1;
if counter <= 5;
run;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.