爱吃大米饭123
发布于

2025 最全 Stata 代码模板:从数据处理到基础分析,实证入门必备

藏!2025 最全 Stata 代码模板:从数据处理到基础分析,实证入门必备

导读:实证分析卡壳?数据不会导、变量不会做、描述性统计不知道怎么跑?这篇推文整理了 Stata 从数据准备到基础分析的 10 大类标准化代码模板,覆盖 90% 实证研究的前期核心操作,复制粘贴就能用,新手也能快速上手!

一、数据导入与管理:把数据轻松装进 Stata

做实证的第一步,必然是搞定数据导入和工作环境设置。不管是 Excel、CSV 还是 Stata 专属的 DTA 格式,这里都有对应的快捷代码,还能一键开启日志文件,避免分析过程丢失!

*----- 1. 导入Excel数据(首行作为变量名)-----*
import excel "data.xlsx", firstrow clear

*----- 2. 导入CSV数据 -----*
import delimited "data.csv", clear

*----- 3. 导入DTA数据(Stata原生格式)-----*
use "data.dta", clear

*----- 4. 快速设置工作目录(避免路径报错)-----*
cd "D:\Project\Data"

*----- 5. 开启日志文件(记录所有操作,可追溯)-----*
log using "analysis.log", replace text

二、数据预处理:让数据变 "干净" 的核心步骤

原始数据总有缺失值、异常值?需要生成滞后项、交互项?这部分代码涵盖变量生成、缺失值填补、异常值处理等 9 大常用操作,帮你快速整理出符合分析要求的数据集。

*----- 1. 生成新变量(对数、增长率等)-----*
gen lnGDP = ln(GDP)  // 对数化
gen GDP_growth = (GDP - L.GDP) / L.GDP * 100  // 增长率

*----- 2. 重命名变量(避免变量名混乱)-----*
rename oldname newname

*----- 3. 缺失值处理(两种常用方式)-----*
drop if missing(Y, X1, X2)  // 直接删除关键变量缺失的观测值
replace X1 = 0 if missing(X1)  // 非关键变量填补为0

*----- 4. 异常值处理(3σ原则)-----*
egen mean_X = mean(X1)
egen sd_X = sd(X1)
drop if abs(X1 - mean_X) > 3*sd_X

*----- 5. 缩尾处理(1%水平,避免极端值影响)-----*
winsor2 X1 X2 X3, replace cuts(1 99)

*----- 6. 生成哑变量(行业、地区等分类变量)-----*
tab industry, gen(ind_)

*----- 7. 生成滞后项(L1一阶滞后,L2二阶滞后)-----*
gen L1_X = L.X1
gen L2_X = L2.X1

*----- 8. 生成交互项(调节效应分析必备)-----*
gen interaction = X1 * X2

*----- 9. 标准化(消除量纲影响)-----*
egen z_X1 = std(X1)

三、数据结构设置:面板、时间序列一键搞定

实证分析常遇到面板数据、时间序列数据,或是需要合并多个数据集?这里的代码能快速设定数据结构,横向合并、纵向追加数据也不用手动操作,效率翻倍!

*----- 1. 设定面板数据(个体+时间双维度)-----*
xtset firm_id year  // firm_id为个体标识,year为时间标识

*----- 2. 设定时间序列数据 -----*
tsset year

*----- 3. 横向合并数据(按id和year精准匹配)-----*
merge 1:1 id year using "data2.dta"
keep if _merge == 3  // 只保留匹配成功的观测值
drop _merge  // 删除合并标识变量

*----- 4. 纵向追加数据(增加观测值样本)-----*
append using "data2.dta"

四、描述性统计:快速呈现数据核心特征

做完数据处理,第一步就是用描述性统计展现数据全貌!不管是基本统计量、分组对比,还是相关系数矩阵,这些代码都能一键输出,还能自动标注显著性,论文表格直接用。

*----- 1. 基本统计量(均值、标准差、最值等)-----*
sum Y X1 X2 X3, detail

*----- 2. 分组统计(按分组变量对比核心指标)-----*
bysort group: sum Y X1 X2

*----- 3. 频率表(分类变量分布情况)-----*
tab industry

*----- 4. 相关系数矩阵(带0.05水平显著性标注)-----*
pwcorr Y X1 X2 X3, star(0.05)

五、数据可视化:让结果更直观的图表工具

枯燥的数字不如一张图表有说服力!这里整理了直方图、散点图、回归拟合图等 6 类常用图表代码,不管是展示数据分布,还是呈现变量关系,都能快速生成高质量图片。

*----- 1. 直方图(看变量分布,带正态曲线)-----*
histogram Y, normal

*----- 2. 散点图(展示两个变量关系)-----*
scatter Y X1

*----- 3. 矩阵散点图(多变量关系一次性呈现)-----*
graph matrix Y X1 X2 X3

*----- 4. 回归拟合图(直观展示拟合效果)-----*
twoway (scatter Y X1) (lfit Y X1)

*----- 5. 系数图(回归系数对比)-----*
coefplot, drop(_cons) xline(0)

*----- 6. 时间趋势图(变量随时间变化)-----*
twoway line Y year

六、基础统计检验:为后续建模做铺垫

建模前需要检验数据是否符合假设?双样本 t 检验、方差齐性检验、正态性检验等 4 类基础检验代码,帮你验证数据适用性,让后续回归结果更可靠。

*----- 1. 双样本t检验(两组均值对比)-----*
ttest Y, by(group)

*----- 2. 方差齐性F检验(两组方差是否相等)-----*
sdtest Y, by(group)

*----- 3. 卡方检验(分类变量独立性检验)-----*
tab group outcome, chi2

*----- 4. 正态性检验(Shapiro-Wilk检验)-----*
swilk Y

七、OLS 回归及诊断:基础建模核心操作

作为实证分析的基础方法,OLS 回归的代码必须熟练掌握!这里不仅有一元、多元回归,还包含稳健标准误、聚类标准误,以及多重共线性、异方差等关键诊断,避免模型设定错误。

*----- 1. 一元线性回归 -----*
reg Y X1

*----- 2. 多元线性回归(控制年份、行业固定效应)-----*
reg Y X1 X2 X3 i.year i.industry

*----- 3. 稳健标准误(解决异方差问题)-----*
reg Y X1 X2 X3, robust

*----- 4. 聚类标准误(解决组内相关问题)-----*
reg Y X1 X2 X3, cluster(firm_id)

*----- 5. 多重共线性检验(VIF值,小于10为佳)-----*
reg Y X1 X2 X3
vif

*----- 6. 异方差检验(White检验、BP检验)-----*
reg Y X1 X2 X3
estat hettest  // White检验
estat imtest   // BP检验

*----- 7. 自相关检验(DW检验)-----*
reg Y X1 X2 X3
estat dwatson

*----- 8. 模型设定检验(RESET检验)-----*
reg Y X1 X2 X3
estat ovtest


浏览 (297)
点赞
收藏
删除
评论