怎么输出分年度描述性统计结果
如果一篇文章使用的是paneldata,在描述性统计中,我们一般会汇报如上图所示的分年度变量统计结果。那么,该如何实现这一操作呢?
这个时候就需要引入tabstat命令了。该命令是Stata中汇报描述性统计的常用命令。tabstat--Compacttableofsummarystatistics
首先输入以下命令。
tabstataaqiaso2apm10apm25acoano2ao3,by(year)year
aaqiaso2apm10apm25acoano2ao3---------+----------------------------------------------------------------------
93.......
81.......
79.......
80.......---------+----------------------------------------------------------------------Total
83.......--------------------------------------------------------------------------------
可以发现,显示框中按列汇报了各变量的年均值与总体均值。那如何实现按行汇报年度均值,且不显示总体均值呢?在命令中加入col(stat)nototal即可,nototal即为不汇报总体均值。(数据较长,仅显示其中一列)
.tabstataaqiaso2apm10apm25acoano2ao3,///by(year)col(stat)nototalSummaryforvariables:aaqiaso2apm10apm25acoano2ao3bycategoriesof:year(YEAR)year
mean---------+----------
93.
37.
.
60.
1.
34.
75.---------+----------
一般描述性统计结果都需要输出到word文档中,那么又该如何实现呢?
此时就需要借助estpost命令了。虽然理论上每一个e-class的返回值都可以用esttab命令输出,但是我们需要借助一个命令将其传送到esttab中,这个起传送作用的命令就是estpost。
输入以下命令,就可以得到最终结果了。
qui:estposttabstataaqiaso2apm10apm25acoano2ao3,/// by(year)col(stat)nototalesttabusingtable2-1-1.rtf,/// cell(mean)unstacklabelnoobsnogapnonumbertitle("table2-1")replace
其中cell(mean)是指每个cell都填充均值。unstack是以按列显示统计数据,这个比较美观。label是以变量的label代替变量名输出。noobs是不输出样本数(观测数)。nogap是不输出空行(有时候esttab会输出一些空行)。nonumber是不对表格的每一列进行编号,一般esttab会对每一列按顺序编号,如(1)、(2)等。title("table2-1")是给表格取个名字。replace为替换,如该表已经存在,则替换成新生成的表格。
以上仅对PanelA做演示,PanelB部分过程完全一样。完整命令如下:
cdD:\stata15\personal\论文复制\自然资源离任审计usedatafordid.dta,clear*-表2PanelA:空气质量指数与主要污染物浓度均值qui:estposttabstataaqiaso2apm10apm25acoano2ao3,/// by(year)col(stat)nototalesttabusingtable2-1-1.rtf,/// cell(mean)unstacklabelnoobsnogapnonumbertitle("table2-1")*-表2PanelA:空气质量指数与主要污染物浓度峰值qui:estposttabstatmaqimso2mpm10mpm25m