看板 Statistics 關於我們 聯絡資訊
如果只是要看count 通常我會直接用 PROC MEANS data=xxx N; 直接看樣本數就好了~ 不過感覺你好像貌似要輸出? 如果你要輸出而且有好幾個檔案 是不是要試試看用MACRO + PROP MEANS output的功能 這樣不管以後有幾個檔案 都可以直接跑出匯整全部的結果 假設你三個檔案 檔名分別是 S5 S6 S7 最後就是 %test(S5) %test(S6) %test(S7) 若之後檔案數有增加 例如有五個檔案 S5 S6 S7 S8 S9 就改成 %test(S5) %test(S6) %test(S7) %test(S8) %test(S9) 以下程式: /**/ DATA Combine; i=1; RUN; %MACRO Test(F); ODS select none; %let N=&F._n; PROC MEANS data=&F. ; VAR ID; output out=new n=&N.; RUN; DATA New; SET New; i=1; keep &N. i; RUN; DATA Combine; Merge Combine New; By i; RUN; %MEND; %test(S5) %test(S6) %test(S7) ODS select all; PROC print data=Combine(drop=i); RUN; /*關於MACRO 網路上有個部落格有滿簡單明瞭的教學 google一下滿容易找 若找不到可以私信問我~ MACRO學會後可以減少很多重覆的工 有空可以研究下*/ ※ 引述《LittleMore (LittleMore)》之銘言: : [軟體程式類別]: : SAS : [程式問題]: : 加總 : [軟體熟悉度]: : 新手(不到1個月) : [問題敘述]: : 1.我已從三個檔案 挑出某區間成交日 有異常報酬>5 >6 >7 : s5 s6 s7 : id ret id ret id ret : 1108 5.67 1108 6.99 1104 10.22 : 1108 6.99 1104 10.22 1110 7.87 : 1104 10.22 1110 7.87 1101 8.32 : 1110 7.87 1101 8.32 : 1101 8.32 1102 6.33 : 1102 6.33 : 2.我要如何下指令? 讓他抓出三個資料的count 例子如下 : n : 1 6 : 2 5 : 3 3 : [程式範例]: : 我目前只會這樣 : Proc SQL; : create table count as select count(id) as n : from sample_ret5; : n : 1 6 : 或是 怎樣只留下s5、s6、s7的id : 合併成新的s567 例子如下 : id id1 id2 : 1108 1108 1104 : 1108 1104 1110 : 1104 1110 1101 : 1110 1101 : 1101 1102 : 1102 : 這樣我或許就可以用 抓出來 : Proc SQL; : create table count as select *, : count(id) as n , count(id1) as n1 , count(id2) as n2 : from sample_ret567; : 內容有點臭長 但很感謝你願意看完 : 雖然這看似很簡單 但我看課本摸了一個上午還沒弄出來 >< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.117.238 ※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1416581394.A.3B9.html
MOONY135: 初學者就教他用巨集應該會讓他卻步吧 11/22 16:05