背景: 在 Stata 提供了一个高效实用的副指令 ——
byable
,可以让我快捷地计算分组统计量,如各行业的均值、标准差等。例如,by industry: egen invest_mean = mean(invest)
,可以快速计算出每个行业的平均投资支出。然而,并不是所有的generate
或egen
命令提供的函数都支持byable
副指令。此时,我们如何计算分组统计量呢?一个粗暴的方法就是使用forvalues
或foreach
等循环语句。其实,还有更为简洁的方法 —— 使用外部命令runby
!
1. runby 的运行原理
其本质仍然是使用 forvalues
或 foreach
等循环语句执行分组计算。但便利之处在于我们无需自行书写完整的循环语句,只需提供核心计算公式即可。因此,我们只需使用 program define
语句定