B0. Stata 概览
这份讲义旨在介绍 Stata 的界面、主要功能,以及使用 Stata 进行实证分析的工作流程。
我一直秉承「干中学」的理念。因此,在阅读这份讲义时,我强烈建议大家不时停下来,在 Stata 中亲自操作一下。将重点内容记录下来,并形成两份笔记:一份是包含关键 Stata 代码的 dofile,以便日后查阅和调用;另一份是 Markdown 笔记,内含每个知识点的相关链接和参考资料,以及你对关键命令和代码的解释。
0.0 实证分析的流程
- 一个想法:研究假设
- 模型设定
- 变量界定
- 收集数据、数据清洗、生成变量
- 统计和回归分析
- 支持 → (6)
- 不支持 → (1)-(5)
- 解释结果、结论
❓ 讨论:在上述过程中,Stata 的角色和作用是什么?
0.1 Stata 工作流程
图 Figure 3.1 呈现了 Stata 的基本工作流程。

在 Stata 中进行严谨的实证分析,推荐采用「dofile 驱动 + 分目录管理」的工作方式。本图以一个简单的回归分析项目为例,展示了整个流程的结构化组织方式。图中划分为三部分,分别对应:本地文件夹结构(左)、Stata 软件界面(中)、dofile 脚本内容(右)。三者之间存在紧密的逻辑联系。
要点说明如下:
A. 用 dofile 指挥整个过程
我们通过编写 .do
文件来告诉 Stata:
- 数据存放在哪里?(如
$data0/data_org.xlsx
) - 需要进行哪些处理与分析?(如回归、图形、表格)
- 输出结果应保存到哪里?(如
$out/Table01.rtf
)
这个 .do
文件既是一份 “操作说明书”,也是整个实证项目的可复现核心脚本。一旦结构清晰、注释完整,便可以支持后续多轮修订、协作共享,甚至用于论文审稿时的“代码复现”。
B. 项目的文档结构
左侧:项目文件夹结构 在图左侧,我们看到一个名为
myAER
的本地项目文件夹,其下分为多个子目录:data0/
:存放原始数据(如 Excel 文件data_org.xlsx
);dataClean/
:用于保存清洗后的.dta
数据文件;out/
:用于输出图形和回归结果,如Fig01.png
和Table01.rtf
;- 根目录中保存了
.do
文件(如dofile_myAER.do
)和论文文档(如论文初稿_v1.docx
)。
这种分目录的方式可确保文件不混乱,便于长期维护。
右侧:dofile 脚本内容
dofile_myAER.do
是整个分析的脚本核心,按模块划分为数据导入、数据清洗、回归分析和图形输出四部分。路径和文件名均采用变量控制(如$data0
,$out
),大大提高了灵活性与可移植性。中间:Stata 软件界面 运行
.do
文件后,Stata 自动读取数据、执行回归、绘制图形,并将结果输出到指定目录。图中展示了回归结果和图形窗口,均由脚本自动生成。
C. 养成良好的代码习惯
建议读者在学习阶段就按照此图所示的结构开展工作:
- 所有分析都通过
.do
文件实现,不依赖手动点击操作; - 所有路径通过变量统一设置,避免硬编码路径;
- 每一步都有清晰的注释,模块结构清楚;
- 所有数据与结果文件按目录分类,输出路径明确可追踪;
- 输出的图形和表格格式清晰,便于直接插入论文草稿。
这一习惯不仅有助于提升 Stata 技能,更为将来撰写硕士论文、博士论文或期刊论文打下坚实的基础。
0.2 Stata 基本语法格式
在 Stata 命令窗口中输入 help language
命令,可以查看其基本语法规则。
[U] 11 Language syntax ← Stata 的基本语法格式都在这里
0.3 Stata 学习资源
- 连玉君, Stata 33 讲:b 站视频, 课件,在线书 Stata 101
- 连享会:推文列表 | Stata入门 | Stata资源 | Stata程序
- DATA ANALYSIS NOTES: LINKS AND GENERAL GUIDELINES
- Internet Guide to Stata
- SSCC 在线课程
- GitHub
- 提供了大量用 Stata 完成的项目的完整数据和 dofile 等。
- 可以在 github.com, 中搜索
stata
。 - 收藏:点击 Star 按钮
- 二次编辑或开发:点击
fork
按钮
- 连玉君老师经验分享:一个资深 Stata 用户的若干思考
0.4 Stata 用户指南:最好的入门资料
- 务必通读 [U] User Guide (PDF)
0.5 Stata 命令概览
Stata 各类方法和模型汇总 → stata.com/features
- Linear models
- regression • censored outcomes • endogenous regressors • bootstrap, jackknife, and robust and cluster–robust variance • instrumental variables • quantile regression • GLS • DID • more
- Panel/longitudinal data
- RE and FE • linear mixed models • RE probit • GEE • RE/FE Poisson • dynamic panel-data models • IV • DID • panel unit-root tests • more
- Binary, count, and limited outcomes
- logit, probit, tobit • Poisson • nbreg • conditional, multinomial, nested, ordered, Logit • mprobit • zero-inflated and left-truncated models • selection models • marginal effects • more
- Choice models | Extended regression models (ERMs) | Generalized linear models (GLMs)
- Spatial autoregressive models | DSGE models | Tests, predictions, and effects
- Contrasts, pairwise comparisons, and margins | Resampling and simulation methods
0.6 Stata 帮助和搜索功能:help 和 search
help regress
// [R] help | 完整攻略- 适用:想要了解某个具体命令的使用细节 (已知命令名称)
ihelp regress
:外部命令ihelp
可以快速打开 PDF 版本的帮助文档
- 模糊搜索 / 关键词搜索
search panel data
// [R] searchfindit dynamic threshold
search Lian Yujun
// 搜索人名
- 搜索建议:
help searchadvice
下面呈现了关键词 dynamic panel data
的搜索结果:
. search dynamic panel data
这些结果可以分成如下几类:
- 官方命令:以
[U]
,[XT]
等开头的条目都是 Stata 官方命令。 - Blog 开头的是 Stata 官方博客 的文章,多出自 Stata 公司的程序员,以介绍新方法和新命令为主。
- SJ 开头的是 Stata Journal 的文章,通常是对某个方法的深入探讨。
- Search for web resources:这部分内容主要是 Stata 用户编写的命令,可以使用
ssc install
或net install
命令安装。
0.7 推文 · 数据 · 代码:lianxh
和 songbl
安装
ssc install lianxh
. ssc install songbl .
使用:
. lianxh
. lianxh DID
. songbl . songbl 静态面板
0.8 Stata 功能概览
Stata 的功能结构清晰,主要包括五大核心模块:基本语法、数据管理、程序编写、图形绘制和统计建模。掌握这些模块的基本命令和使用方法,有助于提升分析效率和建模能力。
本节整理了各模块的常用帮助命令及其对应的官方手册章节,读者可根据实际需求点击蓝色链接,查阅 PDF 手册,获取详细的命令用法与示例。建议在学习过程中,结合手册内容进行查阅和练习,逐步建立系统的命令体系。
Note:点击蓝色链接可以直接打开对应的 PDF 手册,查看命令清单
help language
- [U] 11 Language syntax ← Stata 的基本语法格式都在这里
help data_management
- 数据处理:[D] data_management
help program
- Stata 程序:[P] program → [U] 18 Programming Stata
help graph
- Stata 绘图:[G-2] graph
help graph intro
绘图简介 [G-1] graph intro- 图形编辑器
- Stata 绘图:[G-2] graph
help estcom
统计和回归分析
0.9 你必须掌握的一些 Stata 命令
下面是一些最常用的 Stata 命令,建议熟悉并掌握它们的用法。
:apple: PDF:[U] 28 Commands everyone should know
- Getting help
help, search
,ssc install
,net install
lianxh
- Keeping Stata up to date
ado, net, update, ado update
- Operating system interface
pwd, cd, dir, sysdir, adopath, shellout
- Using and saving data from disk
use, save, sysuse, webuse, bcuse
- Inputting data into Stata
import excel, insheet, edit
- Basic data reporting
describe, des2, codebook, fre
list, browse, count, inspect
table, tabulate, summarize, fsum
- Data manipulation
clear
append, merge, reshape
generate, replace, egen, drop, keep, rename
sort, gsort, order
encode, decode
by, bysort
frames
- Graphing data
twoway scatter / line
histogram, kdensity, graph bar
graph export
- Convenience
display, cls
扩展阅读
相关推文
. lianxh stata教程 stata基础 101, md nocat ex(字符 四舍五入)
- 籍保龙, 2024, Stata基础教程(三):统计表格和回归表格, 连享会 No.1473.
- 籍保龙, 2024, Stata教程:绘图和可视化, 连享会 No.1388.
- 谢作翰, 2019, 普林斯顿Stata教程(三) - Stata编程, 连享会 No.2.
- 谢作翰, 2019, 普林斯顿Stata教程(二) - Stata绘图, 连享会 No.78.
- 谢作翰, 连玉君, 2019, 普林斯顿Stata教程(一) - Stata数据处理, 连享会 No.152.
- 连玉君, 2022, Stata101:人手一份的入门指南, 连享会 No.1065.
- 郑宇, 2024, Stata教程:数据处理, 连享会 No.1386.
- 郭思媛, 2024, Stata基础教程:程序编写, 连享会 No.1402.