## 一步到位,兩步見表!沒錯,兩步!輸出四張基本表格
### 1.?寫在前面
描述性統計、相關系數矩陣、組建均值差異檢驗和回歸結果四張常用表格如何快速輸出?
四個熱門外部命令:“ `sum2docx` "," `corr2docx` ","` t2docx` "和” `reg2docx` "幫你解決問題
其中:
sum2docx:將描述性統計量表直接輸出到一個 docx 文件中;
corr2docx:將相關系數直接輸入到一個 docx 文件中;
t2docx:將分組均值t檢驗的結果導出到一個 docx 文件中;
reg2docx:可以將回歸結果保存到 docx 文件中,用法類似于 esttab。
### 2. 下載及安裝
- 在 Stata 命令窗口中輸入 `ssc hot` 命令,會顯示出最熱門的? 10? 個外部命令。
`ssc hot`

- 下載只需在? Stata 命令窗口執行? `ssc install **2docx, replace`? 即可。
附加 replace 可以保證下載最新版并自動覆蓋舊文件。

### 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]()
### 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選項。
```

#### 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
當然也可以改變小數點位數,加星星啥的,和上面一樣一樣的。
```

#### 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
```
### 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
```