data cohort08; input studentid $ 1-4 fenroll08 $ 6 stem08 $ 8 fenroll09 $ 10 stem09 $ 12; datalines; 8689 E Y E Y 8819 E N E N 7982 E N E N 8362 E N 1821 E N E Y 2298 E N E Y 0872 E Y N Y 4882 E N E N 6249 E Y N N 5088 E N N Y 7800 E N E N 7094 E Y E N 3215 E N E N 6215 E N E N 2886 E N E N 6869 N 9886 E Y E N 8915 E N E N 3895 E Y E Y 9396 E Y E N ; run; proc format; value retainfmt 1='STEM retain' 2='STEM switch' 3='STEM dropout' 4='Non-STEM switch' 5='Non-STEM retain' 6='Non-STEM dropout'; run; data a; set cohort08; if fenroll08='E'; format retain08 retainfmt.; if stem08='Y' then do; if fenroll09='E' and stem09='Y' then retain08=1; else if fenroll09='E' and stem09='N' then retain08=2; else retain08=3; end; else if stem08='N' then do; if fenroll09='E' and stem09='Y' then retain08=4; else if fenroll09='E' and stem09='N' then retain08=5; else retain08=6; end; proc freq; table retain08; run;