Help using Base SAS procedures

using array? do? need your help!

Reply
Frequent Contributor
Posts: 102

using array? do? need your help!

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?

Super Contributor
Posts: 297

Re: using array? do? need your help!

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;

Ask a Question
Discussion stats
  • 1 reply
  • 141 views
  • 0 likes
  • 2 in conversation