BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Ok, so here's my problem...have spent the past 2 hours trying to find the answer, to no avail. I need to find a way to capture/select the SECOND occurrence of a variable (just call it "flag") returning a value of 1...WITHIN each age group. The data has already been sorted by age group (and then by "flag", which is dichotomous, having a value of 1 or 0). I know how to get the first and last value by using FIRST.group and LAST.group, but I can't figure out how to select the second (or third, tenth, etc., you get the idea). Remember that this is not just the second observation of the data set - this is the second occurrence of flag=1 WITHIN each age group. HELP HELP HELP ASAP!!! And thanks a million!
1 REPLY 1
LinusH
Tourmaline | Level 20
If you combine first. and retain I think can get what you want:

data x;
set y;
by z;
retain nGrp;
if first.z then nGrp = 1;
else if nGrp = 2 then output;
nGrp+1;
run;

Am I on the right track?

/Linus
Data never sleeps

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 578 views
  • 0 likes
  • 2 in conversation