Stata 使用具有较短语法的if()

Stata 使用具有较短语法的if(),stata,Stata,有没有办法用更简洁的语法来表达这一点 if(`avgInc'>0){ loc avgIncDec=“增加” } 否则{ loc acgIncDec=“减少” } 类似于InlineIf(iif)的内容: loc avgInc=iif((`avgInc'>0),“增加”、“减少”) 试试cond var=if cond(a=“value”、“1”、“另一个值”) 如果a=“value”var=“1”else var=“另一个值” 还有其他三元运算符:inrange()inlist()前面的答案将

有没有办法用更简洁的语法来表达这一点

if(`avgInc'>0){
loc avgIncDec=“增加”
}
否则{
loc acgIncDec=“减少”
}
类似于InlineIf(iif)的内容:

loc avgInc=iif((`avgInc'>0),“增加”、“减少”)
试试
cond

var=if cond(a=“value”、“1”、“另一个值”)

如果a=“value”var=“1”else var=“另一个值”


还有其他三元运算符:
inrange()inlist()

前面的答案将重点放在
cond()
上,但包含一些小错误

   loc avgIncDec = cond(`avginc' > 0, "increased", "decreased")

请注意,与许多其他语言一样,Stata使用
=
进行赋值,并使用
=
测试相等性

现在似乎很多人都需要学习
cond()
:)正如在另一篇文章中提到的,在