如何使esttab输出中nl回归的b1系数显示于weight行?
解决Stata中esttab将nl回归的b1系数与ols的weight系数合并到同一行的问题
要实现把nl回归得到的b1系数显示在weight行中,核心是让两个回归的对应系数拥有相同的名称,这样esttab会自动将它们合并到同一行展示。这里有两种简单的实现方式:
方法1:在nl命令中直接定义参数名称(推荐)
在运行nl命令时,直接将线性项的参数命名为weight,截距项命名为_cons,这样保存的估计结果系数名和OLS回归完全一致,无需额外调整:
sysuse auto, clear // 运行OLS回归并保存结果 quietly reg price weight est store ols // 运行nl回归,直接指定参数名为_cons(截距)和weight(自变量系数) quietly nl (price = {_cons} + {weight} * weight) est store nls // 输出回归结果 esttab ols nls, t star(* 0.05 ** 0.01 *** 0.001)
方法2:重命名已保存的nl估计结果系数
如果已经运行了默认参数名的nl回归,可以通过estimates rename命令修改保存结果中的系数名称,让b1对应weight,b0对应_cons:
sysuse auto, clear quietly reg price weight est store ols // 运行默认参数名的nl回归 quietly nl (price = {b0} + {b1} * weight) est store nls // 重命名nl结果中的系数:b1改为weight,b0改为_cons estimates rename nls b1 weight estimates rename nls b0 _cons // 输出回归结果 esttab ols nls, t star(* 0.05 ** 0.01 *** 0.001)
两种方法最终输出的结果都会把OLS和nl回归的weight系数放在同一行,截距项_cons也会对应对齐,完美匹配你的需求。
内容的提问来源于stack exchange,提问作者bonifaz
相关产品推荐
相关产品推荐

