Matrix 使用Stata中存储的回归估计创建矩阵

Matrix 使用Stata中存储的回归估计创建矩阵,matrix,regression,stata,Matrix,Regression,Stata,我正在Stata进行事件研究,研究规范如下: reghdfe numPixelsLost tee_1##db_1 tee_2##db_1 tee_3##db_1 tee_4##db_1 tee_5##db_1 tee_6##db_1 tee_7##db_1 tee_8##db_1 tee_9##db_1 tee_10##db_1 if biome==6, absorb(year case_id) vce(cluster case_id) 当我检查完整的结果时,我可以看到Stata估

我正在Stata进行事件研究,研究规范如下:

reghdfe numPixelsLost tee_1##db_1 tee_2##db_1  tee_3##db_1  tee_4##db_1 tee_5##db_1 tee_6##db_1  tee_7##db_1  tee_8##db_1 tee_9##db_1 tee_10##db_1  if biome==6, absorb(year case_id) vce(cluster case_id) 
当我检查完整的结果时,我可以看到Stata估计了我感兴趣的所有变量(交互项)的系数和标准误差

然后我尝试使用循环获取这些信息并将其存储为矩阵:

forvalues j = 1/10 {
matrix co1`j' = [_b[1.tee_`j'#1.db_1], _b[1.tee_`j'#1.db_1] - 1.96*_se[1.tee_`j'#1.db_1], _b[1.tee_`j'#1.db_1] + 1.96*_se[1.tee_`j'#1.db_1]]
}
然后,我尝试将所有这些矩阵缝合成一个矩阵(我可以用它来制作图形),如下所示:

matrix all1 =  [co11 \ co12 \ co13 \ co14 \ col5 \ col6 \ col7 \ col8 \ col9 \ col10]


但Stata不会生成矩阵,因为它声称一些向量“未找到”。这很奇怪,因为所有的系数都是估计的。我想帮助理解为什么循环似乎无法识别估计系数以及如何生成矩阵。

看起来您的问题已经解决了,但我将添加一个解决方案,该解决方案将利用从
reghdfe
和一些线性代数存储的结果。还请注意,您使用1.96构建置信区间,这取决于观察值和回归数,可能不是基础t分布的良好近似值

sysuse auto, clear
reghdfe price weight length, absorb(rep78)

* SET T stat
global sig= 0.95 
scalar _df = e(df_r) // df scalar
scalar _t = abs(invt(_df,(1 - ${sig})/2)) // t stat scalar

* SET BETA AND SE MATRICES
local names : colfullnames e(b)
matrix B = (e(b))'
mata st_matrix("SD_matrix",sqrt(diagonal(st_matrix("e(V)"))))

* IDENTITY MATRIX FOR CONFORMABILITY
matrix I = I(`= rowsof(B)')

* MAKE Confidence interval MATRICES
matrix CI_low = B - _t*I*SD_matrix
matrix CI_high = B + _t*I*SD_matrix

* Final Results
matrix all1 = [B' \ CI_low' \ CI_high']
matrix rownames all1


                 weight      length       _cons
       Beta   5.4783091  -109.50651   10154.617
 CI_.95_Low    3.162337  -187.98821   1617.9601
CI_.95_High   7.7942812   -31.02482   18691.274

如果你改变回归数,这将允许你重新创建矩阵。

这表面上是矛盾的,或者暗示斯塔塔比你更困惑。根据我的经验,通常情况下情况正好相反。更严重的是,如果没有一个可复制的例子,我们就无法完全探索这个问题,在这种情况下,你肯定很难给出这个例子。但是
matrix dir
应该对此有所说明,因为它应该显示
col1
col10
是否都不存在(并且大小和形状相同)。眼前的问题是这些向量是否都是可见的。斯塔塔似乎否认了这一点;在上游做过或没有做的事情可能会起作用。也就是说,我认为答案只是打字错误。您将
col
co1
混合作为前缀,即混淆字母
l
和数字
1