Date: Thu, 17 Aug 2006 15:31:23 -0400
Reply-To: Jack Clark <JClark@CHPDM.UMBC.EDU>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Jack Clark <JClark@CHPDM.UMBC.EDU>
Subject: Re: rearrange vars and data
Content-Type: text/plain
Ram,
Here is one way...
/*The data is in the following format:*/
data test;
input id $ var1 var2 var3;
cards;
1 23 27 28
2 26 21 26
3 29 24 23
4 28 27 28
5 27 29 26
;
run;
* load macro variable with variable names ;
* I used %let, but proc sql could be used ;
* to be more data-driven ;
%let arr_vars = var1 var2 var3;
data test2 (keep=id vartxt varcode);
set test;
array v(3) &arr_vars;
do i = 1 to 3;
vartxt = scan("&arr_vars",i);
varcode = v(i);
output;
end;
run;
Jack Clark
Research Analyst
Center for Health Program Development and Management
University of Maryland, Baltimore County
-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of
ram.sasha@gmail.com
Sent: Thursday, August 17, 2006 2:58 PM
To: SAS-L@LISTSERV.UGA.EDU
Subject: rearrange vars and data
Hi
I need to rearrange the data.
eg
The data is in the following format:
id var1 var2 var3
1 23 27 28
2 26 21 26
3 29 24 23
4 28 27 28
5 27 29 26
I want it to be arranged in this format
id vartxt varcode
1 var1 23
1 var2 27
1 var3 28
2 var1 26
2 var2 21
2 var3 26
3 var1 29
3 var2 24
3 var3 23
and so on.
Can anyone help me with this?
Thanks
Ram