Re: [問題] SAS 將一串資料按照數值大小分為十組
: 我不會剛剛用的指令,
: 所以我的作法有點笨,不過應該可以用
: 想法是:一次建立一個新的資料夾 只包含 stkno 跟 a1 或 a2 或 a3
: 接著對變數做排序與編號,以stkno,a1來說
: stkno a1 id
: 1101 12 1
: 3049 12 2
: 2330 15 3
: 1102 23 4
: .
: 2498 98 10
: 接著直接用sql選id=1的stkno,id=2的stkno etc..
: data report;
: input stkno a1 a2 a3;
: cards;
: 5738 57 12 96
: 6374 56 73 35
: 7384 36 46 37
: ;
: run;
: %macro test(var);
: data temp;
: set report;
: keep stkno &var;
: run;
: proc sort data=temp;
: by &var;
: run;
: data temp;
: set temp;
: id=_n_;
: run;
: %do i=1 %to 10;
: proc sql;
: create table &var&i as
: select stkno
: from temp
: having id=&i;
: quit;
: %end;
: %mend;
: %test(var=a1);
: 可能有點笨,大家可以討論一下.
: 謝謝!
l大您好
實際上的資料應該有 stkno a1-a496 共497欄,每欄有約700個數值
有一點我忘記說明清楚,因為每欄可能存在遺漏值。
所以在分組的時候也必須考慮到遺漏值
這部分應該算好處理的,設個條件去掉就好。
但麻煩的是要如何讓sas自行判斷,分十組的時候一組有幾家公司代碼。
例如a1可能有700筆資料,但a2可能就只有690筆資料。
這樣每組的家數就會受到影響,因此目前還在想方法解決@@"
另外對於ntile的函數,會不會因為sas版本比較就而受到影響?
ntile函數好像是 sql server 2005才有的,這樣我使用sas 9.1.2會不能用嗎?
問題有點多,請見諒~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.177.102
推
03/15 02:22, , 1F
03/15 02:22, 1F
推
03/15 02:24, , 2F
03/15 02:24, 2F
→
03/15 02:25, , 3F
03/15 02:25, 3F
→
03/15 02:25, , 4F
03/15 02:25, 4F
推
03/15 12:11, , 5F
03/15 12:11, 5F
→
03/15 12:13, , 6F
03/15 12:13, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 7 篇):