看板 Statistics 關於我們 聯絡資訊
如果你的變項不是順序性的 x1 x2 x3 x4這樣 而是 return value asset 這種情況 則可以試試這樣的方法 data a; set a.a01; keep 你想要處理的變項群; /*如果你全部都要處理 就不用這行指令*/ if _n_=1 then output; run; proc transpose data=a out=a; run; %macro a; %do i=2 %to 30; data _null_; set a; if _n_=&i then do; call symput('ss', _name_); end; run; data a.a&i; set a.a01; if &ss=0 then delete; run; %end; %mend a; %a; 這樣就可以達到你要的 不管是 x1 x2 x3 x4這樣的情況 或者是 return asset mv ...這樣的情況都試用 ※ 引述《hanjing (心寬念純)》之銘言: : data a.a02; : set a.a01 : if var2=0 then delete; : run; : data a.a03; : set a.a01 : if var3=0 then delete; : run; : 有沒有指令可以重覆這些動作對a01這個檔 : 刪除不同變數中為0的值,然後另外存成a02和a03這個檔 : 也就是說a02只有刪除var2為0的值,但此時var3仍會有為0的值 : 而 : a03只會刪除var3為0的值,但此表格中的var2仍會有為0的值 : 由於變數達30個左右 : 所以想問有沒有指令可以代替這些重覆的動作 : 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.45.89 ※ 編輯: tew 來自: 125.225.45.89 (02/17 23:49) ※ 編輯: tew 來自: 125.225.45.89 (02/18 00:27)
hanjing:感謝,正在嘗試中,因為每一行的指令有點不了解 02/18 21:42