我试图了解Stata中编程if
和条件之间的区别。if
这就是我正在做的事情。
sysuse auto,clear
#conditional if
sum price if price>4499
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
price | 48 7312.813 3102.784 4504 15906
# programming if
if price>3291{
sum price
}
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
price | 74 6165.257 2949.496 3291 15906
# programming if
if price>5000{
sum price
}
This doesn't give me anything
#programming if
if price>4000{
sum price}
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
price | 74 6165.257 2949.496 3291 15906
我想知道为什么编程if
给出了 3291 和 4000 的输出,而不是 5000。我可以理解编程if
查看价格的第一个观察值,然后查看它是否大于指定的数字,然后执行程序。但是,这显然不是我在这里看到的。在这方面的任何帮助将不胜感激。