thank you very much for reading this.
my data looks like this
yr name strength_a strength_b strength_c strength_d class
1991 john 2 1 0 0 a
1991 amy 1 0 2 1 a
1991 ted 0 2 1 1 b
1991 tom 2 2 0 0 b
1992 john 2 1 0 0 a
1992 amy 1 0 2 1 a
1992 ted 0 2 1 1 b
1992 tom 2 2 0 0 b
my years are from 1991 to 2012 and i have more observations than the above but i just wanted to give you a picture. my scores range from 0~2.
I want to arrive at the format below:
Yr name varname score class
1991 john strength_a 2 a
1991 john strength_b 1 a
1991 john strength_c 0 a
1991 john strength_d 0 a
1991 amy strength_a 1 a
1991 amy strength_b 0 a
1991 amy strength_c 2 a
1991 amy strength_d 1 a
Could you kindly provde me of your guidance?
Perhaps you could consider the TRANSPOSE procedure.
PROC SORT DATA=HAVE;
BY YR NAME CLASS;
RUN;
PROC TRANSPOSE DATA=HAVE OUT=WANT(RENAME=(COL1 = SCORE _NAME_ = VARNAME));
BY YR NAME CLASS;
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 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.