[爆卦]SAS do loop break是什麼?優點缺點精華區懶人包

為什麼這篇SAS do loop break鄉民發文收入到精華區:因為在SAS do loop break這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ilkny (小瓶)看板Statistics標題[程式] SAS 中斷迴圈時間Mon Jan ...



------------------------------------------------------------------------

[軟體程式類別]: SAS

[程式問題]: 資料處理

[軟體熟悉度]: 高(1年以上)

[問題敘述]:
中斷迴圈的語法一般是break, 但SAS好像是"leave"指令
我試了以下兩種寫法, 卻一直跑不出來, 想請大家幫忙解決, 謝謝!


[程式範例]:
%MACRO ex1();
DATA bb;
SET aa;
obs2=obs;
IF cond1=lag(cond2) THEN obs2=obs+1;
ELSE %DO i=2 %TO 100;
IF cond1=lag&i(cond2) THEN DO; obs2=obs+&i; LEAVE; END;
%END;
RUN;
%MEND;
%ex1()


%MACRO ex2();
DATA bb;
SET aa;
obs2=obs;
eend=0; i=2; %LET i=2;
IF cond1=lag(cond2) THEN obs2=obs+1;
ELSE DO WHILE (eend=0);
IF cond1=lag&i(cond2) THEN DO; obs2=obs+&i; eend=1; END;
%LET i=%EVAL(&i+1);
END;
RUN;
%MEND;
%ex2()


-----------------------------------------------------------------------------

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.197.144
※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1420469398.A.7C1.html
※ 編輯: ilkny (36.229.197.144), 01/05/2015 22:50:42
west1996: 第一個macro語法有錯 else應該是在%do loop裡面 01/05 22:54
west1996: 但沒仔細想不確定進去之後是不是就對了XD 01/05 22:54
j6joc06: 請問%do %to的迴圈可以用在資料集裡面? 01/15 14:42

你可能也想看看

搜尋相關網站