I have longitudinal data that is in long form. The vast majority of my cases have 5 sessions. But there is a cases 8 sessions thus skewing things a bit and a case with 6. I’d like to be able to plot a timeline where the ending session is their last/final session. Here’s how I envision my data. Any suggestions or issues you think would occur with this would be greatly appreciated. Thanks!
ID | Session | Want |
100 | 1 | 1 |
100 | 2 | 2 |
100 | 3 | 3 |
100 | 4 | 4 |
100 | 5 | Last |
101 | 1 | 1 |
101 | 2 | 2 |
101 | 3 | 3 |
101 | 4 | 4 |
101 | 5 | Last |
102 | 1 | 1 |
102 | 2 | 2 |
102 | 3 | 3 |
102 | 4 | 4 |
102 | 5 | Last |
103 | 1 | 1 |
103 | 2 | 2 |
103 | 3 | 3 |
103 | 4 | 4 |
103 | 5 | 5 |
103 | 6 | 6 |
103 | 7 | 7 |
103 | 8 | Last |
104 | 1 | 1 |
104 | 2 | 2 |
104 | 3 | 3 |
104 | 4 | 4 |
104 | 5 | 5 |
104 | 6 | Last |
This will subset the data if sorted by id session:
data want; set have; by id session; if session in (1,2,3,4) or Last.id; run;
If you really want to add a variable as shown something like:
data want; set have; by id session; length want $ 4.; if session in (1,2,3,4) then Want=put(session,best4.); else if last.id then Want='Last'; run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.