我有数据 清单1
datadate 1 2 3 19890103 -0.8 0.57 -1.68 19890104 3.11 1.14 0.34 19890105 0.53 -0.28 -0.64 19890106 0.51 1.13 0.7 19890109 -0.64 -0.14 -0.06
我需要的数据
datadate返回组
19890103 -0.8 1
19890104 3.11 1
19890105 0.53 1
19890106 0.51 1
19890109 -0.64 1
19890103 0.57 2
19890104 1.14 2
19890105 -0.28 2
19890106 1.13 2
19890109 -0.14 2
19890103 -1.68 3
19890104 0.34 3
19890105 -0.64 3
19890106 0.7 3
19890109 -0.06 3
答案 0 :(得分:0)
重新创建您拥有的数据集:
data have;
input datadate _1 _2 _3;
datalines;
19890103 -0.8 0.57 -1.68
19890104 3.11 1.14 0.34
19890105 0.53 -0.28 -0.64
19890106 0.51 1.13 0.7
19890109 -0.64 -0.14 -0.06
run;
转置数据:
proc transpose data=have out=need;
by datadate;
var _1 _2 _3;
run;
涂抹一些化妆品:
data need2;
set need;
group = input(tranwrd(_name_,'_',''), 8.);
rename col1 = return;
label col1='Return' group = 'Group';
drop _name_;
run;
根据您的需要对数据进行排序:
proc sort data=need2;
by group datadate;
run;