使用 estadd/esttab 后,表格输出中的数字格式设置问题

使用 estadd/esttab 后,表格输出中的数字格式设置问题

我正在尝试使用建立表命令,因为我想添加一个标量,所以我使用埃斯塔德命令。

标量已成功生成,但一旦我创建表格,标量的某些值就会出现许多小数位。尽管我在建立表命令如下所示。

eststo: reg y x
su y 
local contmean = r(mean)
local rcont = round(`contmean', 0.001)
estadd local cont = `rcont'
esttab using "table.tex", b(%9.3f) se(%9.3f) ///
stats(cont N r2, label( "Control Mean" "N" "R2") fmt(%9.3f 0 %9.3f)) style(tex) 
eststo clear

我尝试使用 round() 函数对数字本身进行四舍五入来解决这个问题,但即使这样也行不通。奇怪的是:

  1. 其他统计数据(N r2)以正确的格式显示(0 %9.3f)
  2. 标量表示中的这种不精确性仅发生在某些变量中,而不会发生在其他变量中(见图)

在此处输入图片描述

Statalist 告诉我这是一个精度问题,但我不知道如何解决它。

谢谢!

答案1

在写信给包作者之后,我发现,如果不将系数添加为本地变量(字符串),而是将它们添加为标量(数字),问题就解决了。

上述代码应如下所示:

eststo: reg y x
su y 
estadd scalar cont = r(mean)

esttab using "table.tex", b(%9.3f) se(%9.3f) ///
stats(cont N r2, label( "Control Mean" "N" "R2") fmt(%9.3f 0 %9.3f)) style(tex) 

然后表格将显示具有预期精度的系数:)

向 Benn Jann 致敬!

相关内容