一步到位,两步见表!两步输出实证论文四张基本表格

## 一步到位,两步见表!没错,两步!输出四张基本表格

### 1. 写在前面


描述性统计、相关系数矩阵、组建均值差异检验和回归结果四张常用表格如何快速输出?

四个热门外部命令:“ `sum2docx` "," `corr2docx` ","` t2docx` "和” `reg2docx` "帮你解决问题

其中:

sum2docx:将描述性统计量表直接输出到一个 docx 文件中;

corr2docx:将相关系数直接输入到一个 docx 文件中;

t2docx:将分组均值t检验的结果导出到一个 docx 文件中;

reg2docx:可以将回归结果保存到 docx 文件中,用法类似于 esttab。

### 2. 下载及安装

- 在 Stata 命令窗口中输入 `ssc hot` 命令,会显示出最热门的  10  个外部命令。

`ssc hot`

![图1: 最热门的10个外部命令](http://upload-images.jianshu.io/upload_images/8601921-8c755dcf491e0236.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- 下载只需在  Stata 命令窗口执行  `ssc install **2docx, replace`  即可。

附加 replace 可以保证下载最新版并自动覆盖旧文件。

![图2:下载外部命令](http://upload-images.jianshu.io/upload_images/8601921-9d230b7358eb50a5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

### 3.  输出四张常用基本表格实操

#### 3.1 输出基本统计量: `sum2docx` 命令

##### 3.1.1 语法结构

sum2docx varlist [if] [in] using filename , [options]

其中,varlist指数值型变量列表,filename指的是输出的文件名,而该命令的options却非常丰富,可以根据需要选择。

##### 3.1.2 范例

```

sysuse auto,clear

sum2docx price-foreign using 1.docx, append obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) title("表 1: 描述性统计")

shellout 1.docx

```

![image]()

一步到位,两步见表!两步输出实证论文四张基本表格_第1张图片


一步到位,两步见表!两步输出实证论文四张基本表格_第2张图片


一步到位,两步见表!两步输出实证论文四张基本表格_第3张图片


一步到位,两步见表!两步输出实证论文四张基本表格_第4张图片


### 3.2 输出相关系数矩阵:`corr2docx` 命令

##### 3.2.1 语法结构

```

corr2docx varlist[if] [in] using filename, [options]

```

其中,varlist指数值型变量列表,filename指的是输出的文件名。

##### 3.2.2 范例

```

sysuse auto,clear

corr2docx price-foreign using 2.docx, star(* 0.05) fmt(%4.2f) title("表 2:相关系数矩阵")

shellout 2.docx

想指定显示特定的显著性水平并加标记,想设置小数点位数可以加上fmt选项。

```

![图4:输出相关系数矩阵](http://upload-images.jianshu.io/upload_images/8601921-300769831e9947e3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

一步到位,两步见表!两步输出实证论文四张基本表格_第5张图片


#### 3.3 组间均值差异检验:`t2docx` 命令

##### 3.3.1 语法结构

```

corr2docx varlist[if] [in] using filename, [options]

```

其中,varlist指数值型变量列表,filename指的是输出的文件名

##### 3.3.2 范例

```

sysuse auto,clear

t2docx price weight length mpg using 3.docx ,replace by(foreign) title("表 3:t检验")

shellout 3.docx

当然也可以改变小数点位数,加星星啥的,和上面一样一样的。

```

![图5:输出组间均值差异检验](http://upload-images.jianshu.io/upload_images/8601921-ea32df6ef35fedb5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

一步到位,两步见表!两步输出实证论文四张基本表格_第6张图片


#### 3.4 回归结果:`reg2docx` 命令

内啥,我们想把几个回归结果何在一张表里,能整不?

能!

##### 3.4.1 说明

`reg2docx` 命令可以将回归结果保存到 .docx 文件中,用法类似于 `esttab`。先逐项回归后再合并至一个文件中。

##### 3.4.2 范例

```

sysuse auto,clear

接下来做两个回归,并将结果放在一个表中,输出至4.docx

比如先做两个线性回归

reg price mpg weight length

est store m1

reg price mpg weight length foreign

est store m2

 然后再做一个Probit回归

probit foreign price weight length

est store m3

reg2docx m1 m2 m3 using result.docx, replace r2(%9.3f) ar2(%9.2f) b(%9.3f) t(%7.2f) title("表4: 回归结果")

shellout result.docx

```


一步到位,两步见表!两步输出实证论文四张基本表格_第7张图片

### 4. 输出四张表格至 Word 实操

基本技巧:先生成一张空白表,巧用 putdocx 和 append 命令

```

clear all

set more off

putdocx begin

putdocx 是 Stata15 最闪亮的功能之一,用户可以用命令行生成word文档。

putdocx paragraph, halign(center)

putdocx text ("四大基本表格汇总展示"), font("仿宋",16,black) bold linebreak 

定义字体、大小等基本设置

putdocx save table.docx, replace 

生成一张名为“table”的“word”文档

sysuse auto.dta

sum2docx price-length using table.docx, ///

append obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) title("表 1: 描述性统计")

putdocx begin

putdocx pagebreak

putdocx save table.docx,append

corr2docx price-length using table.docx,append star(* 0.05) fmt(%4.2f) title("表 2:相关系数矩阵")

putdocx begin

putdocx pagebreak

putdocx save table.docx,append

t2docx price-length using table.docx, append by(foreign) title("表 3:t检验")

putdocx begin

putdocx pagebreak

putdocx save table.docx,append

reg price mpg weight length

est store m1

reg price mpg weight length foreign

est store m2

probit foreign price weight length

est store m3

reg2docx m1 m2 m3 using table.docx, append r2(%9.3f) ar2(%9.2f) b(%9.3f) t(%7.2f) title("表4: 回归结果")

shellout table.docx

```


一步到位,两步见表!两步输出实证论文四张基本表格_第8张图片


一步到位,两步见表!两步输出实证论文四张基本表格_第9张图片

你可能感兴趣的:(一步到位,两步见表!两步输出实证论文四张基本表格)