如何批量重命名esttab中的变量

How to batch rename variables in esttab

我正在使用带有 rename() 选项的 社区贡献的 命令 esttab

我有一个特殊的情况,我 运行 多元回归,其中每个回归都有一个来自不同(相似命名)变量的系数,但每个都对应相同的想法。

这是一个(非常人为的)玩具示例:

sysuse auto, clear

rename weight mpg1
rename mpg mpg2
rename turn mpg3

我想显示三个回归的结果,但是 mpg1mpg2mpg3 只有一行(而不是每一个都出现在单独的一行上) .

完成此操作的一种方法是执行以下操作:

eststo clear
eststo: quietly reg price mpg1
eststo: quietly reg price mpg2
eststo: quietly reg price mpg3
esttab, rename(mpg1 mpg mpg2 mpg mpg3 mpg)

我可以通过 rename(mpg* mpg) 之类的操作同时重命名所有变量吗?

如果我想 运行 进行大量的回归,那么这样做比手工写出来更有优势。

Stata 的rename group 命令可以处理缩写和通配符,不像estoutrename() 选项。但是,对于后者,您需要构建一个名称列表并将其存储在本地宏中。

您可以在下面找到玩具示例代码的改进版本:

sysuse auto, clear
eststo clear

rename (weight mpg turn) mpg#, addnumber

forvalues i = 1 / 3 {
    eststo: quietly reg price mpg`i'
    local mpglist `mpglist' mpg`i' mpg
}

esttab, rename(`mpglist')

------------------------------------------------------------
                      (1)             (2)             (3)   
                    price           price           price   
------------------------------------------------------------
mpg                 2.044***       -238.9***        207.6** 
                   (5.42)         (-4.50)          (2.76)   

_cons              -6.707         11253.1***      -2065.0   
                  (-0.01)          (9.61)         (-0.69)   
------------------------------------------------------------
N                      74              74              74   
------------------------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001