时间: 2026-01-05 浏览量: 18013
对于刚踏入经济学、社会学或公共卫生领域的研究生来说,Stata这个名字几乎每天都会听到。导师说“用Stata跑个回归”,师兄师姐说“数据清洗用Stata很方便”,可当你打开这个软件,面对几个空白窗口时,往往一脸茫然:这到底怎么用?今天就来写一份完整的Stata入门指南,从打开软件到跑出第一个结果,一步步带你走通全流程。
第一次打开Stata:认识四个窗口
安装好Stata后第一次打开,你会看到四个主要窗口,搞明白它们各自的功能是第一步。
命令窗口在左下角,这是你输入指令的地方。所有操作都可以通过在这里键入命令来完成,比如输入“summarize”然后回车,Stata就会执行这条命令。
结果窗口在正上方,所有命令执行后的输出结果都会显示在这里。你输入的summarize命令,输出的均值、标准差等统计量就会出现在这个区域。
变量窗口在右上角,列出当前数据集中所有变量的名称。如果导入数据后这里空空如也,说明数据还没加载成功。
历史窗口在右下角,记录你执行过的所有命令。双击某条历史命令可以重新执行,方便重复操作。
刚启动时,这些窗口里都是空的。只有当你导入数据、执行命令后,它们才会开始显示内容。
第一步:设置工作路径
在开始任何分析之前,建议先设置好工作路径。这是告诉Stata你的文件默认存在哪里、从哪里读取,避免后续总是要输长长的文件路径。
在命令窗口输入:
cd "D:\Stata学习"
把引号里的路径换成你自己的文件夹。执行后,Stata会提示当前工作路径已更改。以后打开数据、保存结果都会默认到这个文件夹。
第二步:导入数据
Stata支持多种格式的数据导入,最常见的是Excel文件和Stata本身的数据格式(.dta)。
如果你有Excel表格,可以用import excel命令导入:
import excel "我的数据.xlsx", sheet("Sheet1") firstrow clear
这条命令的意思是:导入名为“我的数据.xlsx”的Excel文件,工作表是“Sheet1”,把第一行作为变量名,clear表示清除当前内存中的数据。
如果是CSV文件,用import delimited命令:
import delimited "我的数据.csv", clear
如果别人给了你Stata格式的.dta文件,用use命令直接打开:
use "我的数据.dta", clear
导入成功后,变量窗口里会列出所有变量名,结果窗口会显示数据的基本信息,比如观测值数量、变量个数。
第三步:浏览和检查数据
数据导入后,第一件事是看看数据长什么样。用browse命令可以打开类似Excel的表格视图:
browse
或者只查看部分变量:
browse 变量1 变量2 变量3
用describe命令查看数据集的整体结构,包括变量名、变量类型、存储格式等:
describe
用summarize命令做描述性统计,快速了解数据的均值、标准差、最小最大值:
summarize
如果想知道更详细的信息,比如百分位数、峰度偏度,可以加detail选项:
summarize 变量名, detail
第四步:数据清洗和整理
原始数据往往需要清洗才能用于分析。常见的操作包括处理缺失值、修改变量类型、生成新变量等。
有时导入的变量显示为红色,说明Stata把它识别为字符串,而不是数值。用destring命令转换:
destring 变量名, replace
如果想把多个变量的字符型全部转换,可以用:
destring, replace
处理缺失值时,先用misstable命令查看哪些变量有缺失、缺失多少:
misstable summarize
然后决定是删除缺失值,还是填补。删除某变量缺失的观测:
drop if missing(变量名)
生成新变量是常用操作。比如根据身高体重计算BMI:
gen bmi = 体重 / (身高/100)^2
或者根据现有变量生成分类变量:
gen 收入分组 = 1 if 收入 < 5000 replace 收入分组 = 2 if 收入 >= 5000 & 收入 < 10000 replace 收入分组 = 3 if 收入 >= 10000
给变量添加标签,让结果更清晰:
label variable 收入分组 "家庭年收入分组" label define 分组标签 1 "低收入" 2 "中等收入" 3 "高收入" label values 收入分组 分组标签
对于实证研究,异常值处理很重要。用winsor2命令进行缩尾处理:
ssc install winsor2 // 首次使用需要安装 winsor2 变量1 变量2, replace cuts(1 99)
这会把小于1%分位和大于99%分位的值替换为1%和99%分位值,减少极端值影响。
第五步:描述性统计和可视化
正式分析前,通常需要做描述性统计和图表,对数据有个直观认识。
用tabulate命令查看分类变量的频数分布:
tabulate 性别
用table命令生成分组统计表:
table 性别, c(mean 收入 sd 收入 count 收入)
画图是理解数据的直观方式。直方图看分布:
histogram 收入, frequency title("收入分布")
散点图看两个变量的关系:
scatter 收入 教育年限
箱线图看离散程度和异常值:
graph box 收入, over(性别)
第六步:回归分析
这是Stata最核心的功能。最简单的线性回归用regress命令:
regress 收入 教育年限 工作经验 年龄
Stata会输出回归系数、标准误、t值、p值、置信区间,以及R方、F检验等统计量。
如果想看更详细的回归结果,比如标准化系数,可以在回归后输入:
regress, beta
如果担心异方差问题,可以用稳健标准误:
regress 收入 教育年限 工作经验 年龄, robust
对于面板数据,用xtreg命令。首先要把数据设置为面板格式:
xtset 个体id 年份
然后做固定效应模型:
xtreg 收入 教育年限 工作经验, fe
或者随机效应模型:
xtreg 收入 教育年限 工作经验, re
第七步:输出结果
分析做完,需要把结果导出到Word或Excel,方便写论文。
安装esttab或outreg2命令:
ssc install esttab
回归前先储存模型:
regress 收入 教育年限 工作经验 estimates store m1 regress 收入 教育年限 工作经验 年龄 estimates store m2
然后导出多个模型对比:
esttab m1 m2 using "回归结果.rtf", replace
这会生成一个RTF文件,可以用Word打开,表格格式整洁,直接用在论文里。
用好Do文件:让分析可重复
上面所有的操作都是在命令窗口逐条输入,这样很方便,但缺点是关掉Stata后这些命令就没了。下次想重新分析,或者修改某个步骤,还得重新输入一遍。
更好的做法是用Do文件。点击菜单栏的“Do-file Editor”按钮,打开编辑器窗口,把所有命令按顺序写进去,保存为.do文件。需要运行时,点击“Execute”或按快捷键Ctrl+D,Stata就会自动执行所有命令。
用Do文件的好处是:分析过程可重复、可分享、可修改。以后导师说“把那个变量换成对数再跑一次”,你只需要在Do文件里加一行gen ln收入 = ln(收入),然后重新运行,几秒钟就搞定,不用从头再来。
遇到问题怎么办
用Stata总会遇到各种问题:命令报错、结果不对、不知道用什么命令。几个求助渠道:
help命令最直接。输入help 命令名,Stata会打开详细的帮助文档,有语法说明、示例、参考链接。
Stata官方论坛(Statalist)有海量问答,很多问题前人已经问过。
搜索引擎搜“Stata + 你想做的事”,通常能找到现成的命令和代码。
总结
Stata软件怎么用?从设置工作路径开始,导入数据、检查数据、清洗整理、描述统计、回归分析、输出结果,一步步下来,就完成了一次完整的实证分析。
对于初学者来说,不需要一开始就记住所有命令。掌握几个最常用的,比如use、summarize、regress、esttab,然后在实际分析中遇到什么问题就查什么命令,慢慢就会越来越熟练。
最重要的是养成用Do文件的习惯,让分析过程可追溯、可复现。这不仅是技术问题,更是科研规范。
Copyright @ 国际会议云 2026 版权所有 蜀ICP备2022018807号-3 网站地图