有没有办法用更简洁的语法来表达这种使用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