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()
:)正如在另一篇文章中提到的,在