Help using Base SAS procedures

Reshaping an output file

Reply
Contributor
Posts: 57

Reshaping an output file

Dear Community Members,

I am trying to reshape my output file (attached) such that I have the layout below. I would very much appreciate your help.

Thanks

panel1                         111       112      113      114      115      116 

model1 param                                                                   

            t

model2 param

            t

model3 param

            t

model4 param                                                                     

            t

panel2                        121       122      123      124      125      126 

model1 param                                                                 

            t

model2 param

            t

model3 param

            t

model4 param                                                                     

            t

panel3                        131       132      133      134      135      136 

model1 param                                                                 

            t

model2 param

            t

model3 param

            t

model4 param                                                                     

            t

panel4                        141       142      143      144      145      146 

model1 param                                                                 

            t

model2 param

            t

model3 param

            t

model4 param                                                                     

            t

Attachment
Respected Advisor
Posts: 4,919

Re: Reshaping an output file

Posted in reply to finans_sas

Something like this ?

proc transpose data=sasforum.A6_output out=A6_List name=model;
by panel regid _namex_;
var model:;
run;

proc sort data=A6_list; by panel model _namex_ regid;

%macro panel(p);
proc transpose data=A6_list(where=(panel=&p)) out=want&p(drop=_name_) prefix=id_;
by model _namex_;
var col1;
id regid;
idlabel regid;
run;
title "Panel = &p";
proc print data=want&p noobs label; label model="Model"; run;
%mend panel;

%panel(1);
%panel(2);
%panel(3);
%panel(4);

PG

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