有沒有辦法用更簡潔的語法來表達這種使用if()用較短的語法
if (`avgInc' > 0) {
loc avgIncDec = "increased"
}
else {
loc acgIncDec = "decreased"
}
一樣的東西InlineIf(IIF):
loc avgInc = iif((`avgInc' > 0), "increased", "decreased")
有沒有辦法用更簡潔的語法來表達這種使用if()用較短的語法
if (`avgInc' > 0) {
loc avgIncDec = "increased"
}
else {
loc acgIncDec = "decreased"
}
一樣的東西InlineIf(IIF):
loc avgInc = iif((`avgInc' > 0), "increased", "decreased")
上回答了有益的重點cond()
但包含了一些小錯誤。
loc avgIncDec = cond(`avginc' > 0, "increased", "decreased")
注意的Stata,像許多其他語言,使用=
用於分配和==
測試相等。
嘗試cond
var = if cond(a="value","1","another value")
如果a =「value」var =「1」else var =「other value」
還有其他的三元運營商,以及:inrange() inlist()
完美!謝謝 – KyleMit 2013-02-10 17:30:19
這些日子似乎很多人都需要學習'cond()':) – 2013-02-11 03:38:28
正如另一個線程中提到的,在http://www.stata-journal.com/sjpdf.html有一個入門教程? articlenum = pr0016 – 2013-02-11 09:01:39