如何在Stata中实现输出所有因子变量估计值的回归分析?
在Stata中实现类似SAS移除常数项后显示分类变量所有估计值的方法
嘿,我明白你想要的效果——就是让Stata在回归时不省略任何分类水平的系数,直接输出每个组的估计值,就像SAS去掉常数项后的结果一样。其实很简单,用noconstant选项就能搞定,下面给你详细说明:
核心方法:使用noconstant选项
当你在回归命令中加上noconstant参数时,Stata会移除模型中的常数项,同时为因子变量的每一个水平估计单独的系数,不会省略任何基准组。这和SAS中去掉常数项后输出所有分类变量水平估计值的逻辑完全一致。
举个对应你场景的实际例子:
regress adjusted_volume i.rounded_time, noconstant
和allbaselevels的关键区别
你提到的allbaselevels选项只是把默认被省略的基准组的系数显示为0,但其他组的系数仍然是相对于基准组的差值;而noconstant则是直接估计每个分类水平的绝对估计值(如果是仅包含该分类变量的回归,这个值就是每组的均值;如果有控制变量,就是调整后的组均值估计),这正是SAS去掉常数项后呈现的结果。
扩展:加入控制变量的情况
如果你的模型需要加入其他控制变量,这个方法同样适用,比如:
regress adjusted_volume i.rounded_time i.group_size c.age, noconstant
执行后,rounded_time的所有水平都会单独显示对应的系数,不会被省略。
内容的提问来源于stack exchange,提问作者Amin Karimi




