推 hanjing:嗯~感謝,方法可行 02/18 21:38
※ 引述《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: 140.109.40.59
※ 編輯: west1996 來自: 140.109.40.59 (02/17 18:13)
※ 編輯: west1996 來自: 61.230.78.164 (02/17 20:18)
下面那個版本比較慢
這一個應該會更快
%macro selection;
data
%do i=2 %to 30;
a.a0&i
%end;
;
set a.a01;
%do i=2 %to 30;
if var&i^=0 then output a.a0&i;
%end;
run;
%mend selection;
%selection
---
%macro selection;
%do i=2 %to 30;
data a.a0&i;
set a.a01;
if var&i=0 then delete;
run;
%end;
%mend selection;
%selection