作者MmmRrrrX (银色的灵魂)
站内Statistics
标题Re: [程式] sas排列资料问题
时间Wed Apr 14 04:19:54 2010
※ 引述《orangemiss (橘子享)》之铭言:
: 各位强者好! 想请问一下 如果我现在需要排序是四个栏位一组 ,以B栏来做排列,
: 下一组就以F栏位去排E栏到 H栏,但我有大概几千组要去排,
: 有没有什麽快速的方法去作业,不然真的用到天荒地老了,非常感谢。
: A栏 B栏 c栏 D栏 E栏 F栏..............xxx栏
: XXXX 1,446,783.78 129.5 -2.6316 0.87
: XXXX 669,268.65 4.025 -3.0121 3.03
: XXXX 472,815.35 24 -8.9185 0.82
: XXXX 325,220.74 2.975 -7.0313 1.86
: XXXX 296,304.27 69.5 -4.4675 2.38
: XXXX 282,646.72 350 -2.2346 0.02
: XXXX 203,750.93 2.65 -7.0176 3.64
: XXXX 199,787.57 104.5 -3.2408 0.78
: XXXX 172,271.13 71.75 -7.717 1.82
: XXXX 167,921.92 72.5 -6.4516 1.98
: XXXX 164,387.44 139.5 -3.125 0.01
: XXXX 163,183.19 3.975 -4.7904 0.83
不知道我对你要做的事理解的对不对
A B C D 是一组资料
E F G H 是另一组资料
A跟E代表一样的东西 (如公司名称之类的)
如果总共有20栏,那要做5个新的表,每张表都只有4栏,用第2栏排序
这是我想到的,不见得是最好的方法
%macro aa;
%do s=1 %to ??; * ??是你的总栏数除以4 *;
proc iml;
use yourdata ;read all into y;
a1=y[,(&s-1)*4+1];
a2=y[,(&s-1)*4+2];
a3=y[,(&s-1)*4+3];
a4=y[,(&s-1)*4+4];
create Data&s var{a1 a2 a3 a4};
append;
quit;
proc sort data=data&s;
by a2;
run;
%end;
%mend;
%aa;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.145.80