Re: [程式] sas排列資料問題

看板Statistics作者 (銀色的靈魂)時間16年前 (2010/04/14 04:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #1BnD7jP0 (Statistics)
文章代碼(AID): #1BnD7jP0 (Statistics)