使用Stata中的svy和tab命令返回存储的结果

时间:2016-06-15 14:00:00

标签: stata

我想将列百分比放入excel文件中。因此,第一步是将百分比(或百分比不可能的计数)捕获到矩阵中,然后使用putexcel将值发布到Excel中。我无法将matcellmatrow选项与svy: tab一起使用,因此我尝试使用e(name)检查存储的结果。我面临的问题是如何将以下列表中的值捕获到矩阵中:

webuse nhanes2b, clear
svyset psuid [pweight=finalwgt], strata(stratid)
svy: tabulate sex race , format(%11.3g) percent 
--------------------------------------
1=male,   | 1=white, 2=black, 3=other 
2=female  | White  Black  Other  Total
----------+---------------------------
     Male |  42.3   4.35   1.33   47.9
   Female |  45.7    5.2    1.2   52.1
          | 
    Total |  87.9   9.55   2.53    100
--------------------------------------
  Key:  cell percentages

我想将上面的值放在矩阵中。我尝试了以下工作:

mat pct = e(b)' * 100
matrix list pct

pct[6,1]
            y1
p11  42.254909
p12  4.3497373
p13  1.3303765
p21  45.660537
p22  5.2008547
p23  1.2035865

但我感兴趣的是以下列表给出的列百分比:

svy: tabulate sex race , format(%11.3g) col percent 

--------------------------------------
1=male,   | 1=white, 2=black, 3=other 
2=female  | White  Black  Other  Total
----------+---------------------------
     Male |  48.1   45.5   52.5   47.9
   Female |  51.9   54.5   47.5   52.1
          | 
    Total |   100    100    100    100
--------------------------------------
  Key:  column percentages

我试过这个没有在上表中返回所需的值:

mat pct = e(b)' * 100
matrix list pct
pct[6,1]
            y1
p11  42.254909
p12  4.3497373
p13  1.3303765
p21  45.660537
p22  5.2008547
p23  1.2035865

使用ereturn list检查各种存储对象后,我似乎找不到与列百分比相对应的任何内容。 如何将列百分比纳入矩阵?

1 个答案:

答案 0 :(得分:1)

容易羞怯

ssc install estout
webuse nhanes2b, clear
estpost svy: tabulate race diabetes, row percent
esttab .  using "C:/table.csv", b(2) se(2) scalars(F_Pear) nostar unstack mtitle(`e(colvar)')

另见http://repec.org/bocode/e/estout/hlp_estpost.html#svy_tabulate