BookmarkSubscribeRSS Feed
aarony
Obsidian | Level 7

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?

1 REPLY 1
Scott_Mitchell
Quartz | Level 8

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;

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

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
  • 952 views
  • 0 likes
  • 2 in conversation