Stata小白系列之三:数据标签与排序

发布时间:2021-09-12 阅读 12268

Stata连享会   主页 || 视频 || 推文 || 知乎

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

作者:谢作翰 | 连玉君 | (知乎 | 简书 | 码云)

编者按:从本期开始,Stata 连享会将推出「Stata 小白系列」推文,介绍数据导入、命令语法等 Stata 入门知识,以帮助各位尽快掌握 Stata 的基本操作。需要注意的是,本文所有数据可通过 lxhget xzhstata.pkg, replace 命令获取。


目录


1. 数据标签

为了让用户更加清楚地了解数据的来源、变量的含义、观测值的解释等相关内容,Stata 可以为数据、变量、观测值添加标签。最常用的标签方法有三类:一是为数据库添加标签,二是为变量添加标签,三是为观测值添加标签。

1.1 为数据添加标签

命令: label data ["label"]

在这个命令语句中,label data 是为数据库添加标签的命令语句,["label"] 代表所要添加的标签的内容。

1.2 为变量添加标签

命令:label variable varname ["label"]

label variable 是为变量添加标签的命令语句, varname 代表所要添加标签的变量名称,["label"] 代表所要添加的标签的内容。

1.3 为数值添加标签

对于数值型的分类变量,单纯通过数值很难判断其含义,例如用 0 和 1 区分性别,但是很难区分 0 是代表男性还是女性,这时如果给数值添加标签,就方便用户理解了。

为数值添加标签是通过两步来完成的,第一步是定义数值标签:

label define lblname # "label" [# "label" ...] [, add modify replace
      nofix]

说明:label define 是定义数值标签的命令语句,lblname 代表所要定义的数值标签的名称,# 代表所要定义的数值,"label" 代表所要添加的标签的内容。需要注意的是 options 的内容,其中 add 的作用是添加标签内容,modify 的作用是对已存在的标签内容做修改,nofix 的作用是要求 Stata 不为标签的内容而改变原变量的存储容量。

第二步是将所定义的数据标签与相关变量结合:

label values varname [lblname] [, nofix]

在这个命令语句中,label values 是将定义的数据标签与相关变量结合的语句, varname 代表将要添加标签的变量名称,[lblname]代表刚刚定义的数据标签名称。

. sysuse auto.dta, clear
. label data "1978年美国汽车产业的横截面数据"
. label variable make "品牌"
. label variable mpg "每加仑油行使里程数"
. label define foreignlabel 0 "国内" 1 "国外"
. label values foreign foreignlabel
. des

Contains data from D:\Program\Stata17\ado\base/a/auto.dta
 Observations:            74                  1978年美国汽车产业的横截面数据
    Variables:            12                  13 Apr 2020 17:45
                                              (_dta has notes)
---------------------------------------------------------------------
Variable      Storage   Display    Value
    name         type    format    label      Variable label
---------------------------------------------------------------------
make            str18   %-18s                 品牌
price           int     %8.0gc                Price
mpg             int     %8.0g                 每加仑油行使里程数
rep78           int     %8.0g                 Repair record 1978
headroom        float   %6.1f                 Headroom (in.)
trunk           int     %8.0g                 Trunk space (cu. ft.)
weight          int     %8.0gc                Weight (lbs.)
length          int     %8.0g                 Length (in.)
turn            int     %8.0g                 Turn circle (ft.)
displacement    int     %8.0g                 Displacement (cu. in.)
gear_ratio      float   %6.2f                 Gear ratio
foreign         byte    %8.0g      foreignlabel
                                              Car origin
---------------------------------------------------------------------
Sorted by: foreign
     Note: Dataset has changed since last saved.

. label list
foreignlabel:
           0 国内
           1 国外
origin:
           0 Domestic
           1 Foreign

2. 数据排序

为了处理数据的方便,有时需要对数据进行排序处理,排序的命令有主要有两个:sort 命令和 gsort 命令。

*命令语法
sort varlist [in] [, stable]

在这个命令语句中,sort 是基本命令,varlist 代表将要进行排序的变量名称,[in] 代表排序的范围,[, stable] 的含义是如果两个观测值相同,其顺序保持与原数据相同。

*命令语法
gsort [+|-] varname [[+|-] varname ...] [, generate(newvar) mfirst]

其中需要说明的内容有两点:

  • [+] 表示按升序排列,是 Stata 默认的排列方式,[-] 表示按降序排列;
  • generate(newvar) 表示排序之后生成新的变量,mfirst 表示将缺失值排在最前面。

将 auto.dta 数据文件中的观测值按变量 price 由小到大排列,这个操作可以通过以下命令完成:

. sysuse auto.dta, clear
. sort price

. *或者
. gsort + price 

3. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 标签 编程, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh