时间: 2026-01-05 浏览量: 18256
对于刚接触Stata的人来说,导入数据之后最自然的反应就是:让我看看这些数据长什么样。Excel有表格,SPSS有数据视图,Stata里怎么看?其实Stata提供了非常丰富的查看数据的方式,从浏览整个数据集到检查变量的统计特征,从列出部分观测到查看数据结构,每种方法都有它的用途。今天就来系统梳理一下,Stata里到底怎么查看数据。
准备工作:导入示例数据
在开始讲解之前,我们先导入Stata自带的示例数据auto.dta,这样大家可以在自己的Stata里跟着操作,看到同样的结果。
sysuse auto, clear
这条命令会加载1978年美国汽车数据,包含价格、油耗、维修记录等变量。有了这个数据,我们就可以开始各种查看操作了。
方法一:browse——像表格一样浏览数据
最直观的查看方式就是用browse命令。它会打开一个类似Excel的表格窗口,让你可以滚动查看所有变量和所有观测值。
browse
执行后,Stata会弹出一个数据编辑器窗口,里面每一行是一个观测(这里是一辆汽车),每一列是一个变量(如价格、油耗等)。你可以用鼠标拖动滚动条,随意查看任意位置的数据。
如果只想看部分变量,可以在browse后面指定变量名:
browse make price mpg rep78
这样表格里就只显示这4个变量,其他变量被隐藏,看起来更清爽。
如果只想看部分观测,可以用in或if条件:
browse make price mpg in 1/10
这条命令只显示前10行数据。
browse make price if foreign == 1
这条命令只显示进口车(foreign=1)的数据。
browse命令的最大优点是直观,你看到的就是数据原本的样子。但它也有缺点:如果数据量很大,比如几十万行,滚动浏览会变得很慢,而且你很难从这种原始表格中获得对数据的整体认识。
方法二:list——在结果窗口列出数据
如果你不想打开新窗口,想在Stata的结果窗口里直接看到数据,可以用list命令。
list make price mpg in 1/10
执行后,结果窗口会显示一个表格,包含指定的变量和观测。这对于快速查看少量数据非常方便。
和browse一样,list也支持条件筛选:
list make price mpg if foreign == 1
如果数据量很大,直接用list不加限制可能会在结果窗口输出几千行,导致滚动很久,一般不推荐这样做。
方法三:describe——查看数据整体结构
browse和list让你看到数据的具体内容,但有时你更想了解数据的整体结构,比如有多少变量、多少个观测、每个变量是什么类型、有没有标签。这时就该用describe命令了。
describe
输出结果会告诉你几个重要信息:
数据集的名称和路径
观测值数量(obs)
变量数量(vars)
每个变量的名称、存储类型、显示格式、变量标签
如果你想看更详细的变量信息,可以加detail选项:
describe, detail
这会额外显示每个变量的具体属性,包括是否有序、是否已定义值标签等。
如果只关心某个或某几个变量,可以在describe后面指定变量名:
describe make price mpg
方法四:summarize——查看统计摘要
describe告诉你数据结构,而summarize告诉你数据的统计特征。这是查看数据时最常用的命令之一。
最简单的用法:
summarize
Stata会列出所有数值型变量的观测数、均值、标准差、最小值和最大值。
如果想看更详细的统计量,包括百分位数、峰度、偏度等,可以加detail选项:
summarize price mpg weight, detail
这会对指定的变量输出更详细的统计信息,包括1%、5%、10%、25%、50%、75%、90%、95%、99%分位数,以及方差、峰度、偏度等。
summarize命令是了解数据分布、发现异常值的利器。比如你发现某个变量的最小值或最大值明显不合理,就可以进一步检查。
方法五:codebook——查看变量详细信息
如果你想深入了解某个变量,比如它有哪些取值、每个取值有多少观测、有没有缺失值,可以用codebook命令。
codebook rep78
输出结果会告诉你:
变量类型和范围
唯一值的数量
每个取值的频数和百分比
缺失值的数量
如果有值标签,还会显示标签对应的含义
对于分类变量,codebook特别有用。比如rep78是汽车维修记录评分,取值1到5,用codebook可以清楚地看到每个评分有多少辆车。
如果对整个数据集用codebook:
codebook
它会逐一显示每个变量的详细信息,对于数据集较大的情况输出会很长,建议指定具体变量。
方法六:tabulate——查看分类变量的分布
对于分类变量,tabulate命令是查看分布的利器。
tabulate foreign
输出会显示进口车和国产车的频数、百分比和累计百分比。如果加选项,还可以同时显示更多信息:
tabulate foreign, nolabel
这个命令会显示原始数值而不是标签。
tabulate foreign, missing
这个命令会把缺失值也计入统计。
如果想看两个分类变量的交叉分布,可以用:
tabulate foreign rep78
这会生成一个二维表格,显示不同产地和不同维修评分的组合频数,对于发现变量间的关系很有帮助。
检查缺失值
数据中难免有缺失值,及时发现和处理缺失值是数据清洗的重要步骤。用misstable命令可以快速查看缺失情况。
最简单的用法:
misstable summarize
这会列出每个变量的缺失值数量。如果某个变量缺失很多,需要重点关注。
如果想看哪些观测有缺失值,可以用:
misstable pattern
这个命令会显示缺失值的分布模式,比如哪些变量经常一起缺失,对于理解缺失原因很有帮助。
检查重复值
有时候数据中可能存在重复观测,需要用duplicates命令检查。
查看是否有重复值:
duplicates report
这会报告数据集中唯一值的数量、重复值的数量等信息。
如果想查看具体的重复记录,可以用:
duplicates list
或者指定某个变量作为识别依据,比如根据汽车型号检查是否有重复:
duplicates list make
变量命名的检查
用lookfor命令可以在变量名和变量标签中搜索关键词,快速找到你想要的变量。
比如你想找所有和价格相关的变量:
lookfor price
Stata会列出所有名称或标签中包含“price”的变量,不管它具体叫什么名字,比如可能是price、price78、price_adj等。
结合使用:一个完整的查看流程
在实际工作中,查看数据通常是一个系统性的过程,不是只用一两个命令。下面是一个推荐的查看流程:
先用sysuse或use导入数据。
然后用describe快速了解数据整体结构:有多少变量、多少个观测、变量名都是什么。
接着用summarize对数值型变量做描述统计,看均值、标准差是否合理,有没有异常的范围。
再用codebook或tabulate查看分类变量的分布,确认每个类别的频数是否合理。
然后用misstable summarize检查缺失值情况。
最后用browse或list随机查看一些具体记录,对数据有直观感受。
如果发现异常值或缺失值,再针对性地用条件browse或list深入检查。
一个综合例子
让我们用auto数据演示这个流程:
* 导入数据 sysuse auto, clear * 查看整体结构 describe * 描述统计 summarize * 详细统计 summarize price mpg weight, detail * 查看分类变量 tabulate foreign tabulate rep78, missing * 检查缺失值 misstable summarize * 查看具体数据 browse make price mpg weight foreign in 1/10
这样一步步下来,你对这套数据就有了全面了解。
总结
Stata查看数据的方法非常丰富,从直观的browse表格,到结构化的describe,到统计性的summarize,再到针对分类变量的tabulate和codebook,每一种方法都有自己的适用场景。
对于初学者来说,不需要一次记住所有命令。可以先掌握browse、describe、summarize这三个最常用的,然后在实际使用中遇到具体问题,再去查找tabulate、codebook、misstable等其他命令的用法。
关键是养成查看数据的习惯。拿到任何新数据,先花几分钟用这些命令摸清底细,后面做分析时心里才有数。
Copyright @ 国际会议云 2026 版权所有 蜀ICP备2022018807号-3 网站地图