在很多情况下,现有的Stata数据达不到分析要求,我们需要截取出数据的一部分进行分析,或者删除不需要进入分析范围的数据,这时就需要用到Stata的定义数据子集功能。本节将通过实例的方式讲述定义数据子集的基本操作。
【例1.5】 试通过操作案例1.5.dta完成以下工作:
(1)列出第3条数据。
(2)列出第1~3条数据。
(3)列出变量值shangjiao最小的两条数据。
(4)列出变量值year大于2005的数据。
(5)列出变量值year大于2007且变量值shangjiao大于865的数据。
(6)删除第3条数据。
(7)删除变量值year等于2005的数据。
(8)删除变量值year大于2005且变量值shangjiao大于865的数据。
分析步骤如下:
进入Stata 16.0,打开相关数据文件,弹出如图1.36所示的主界面。
图1.36 主界面
在主界面的Command文本框中输入操作命令并按回车键进行确认。对应的命令如下:
· list in 3:列出第3条数据。
· list in 1/3:列出第1~3条数据。
· sort shangjiao:对变量值shangjiao进行排序。
· list year shangjiao shenjiao in 1/2:列出变量值shangjiao最小的两条数据。
· list if year>2005:列出变量值year大于2005的数据。
· list if year>2007 & shangjiao>865:列出变量值year大于2007且变量值shangjiao大于865的数据。
· drop in 3:删除第3条数据。
· drop if year==2005:删除变量值year等于2005的数据。
· drop if year>2005 & shangjiao>865:删除变量值year大于2005且变量值shangjiao大于865的数据。
图1.37所示是列出第3条数据的结果。
图1.38所示是列出第1~3条数据的结果。
图1.37 分析结果1
图1.38 分析结果2
图1.39所示是将变量值shangjiao排序后,列出变量值shangjiao最小的两条数据的结果。
图1.40所示是列出变量值year大于2005的数据结果。
图1.39 分析结果3
图1.40 分析结果4
图1.41所示是列出变量值year大于2007且变量值shangjiao大于865的数据结果。
图1.42所示是删除第3条数据的结果。
图1.41 分析结果5
图1.42 分析结果6
图1.43所示是删除变量值year等于2005的数据结果。
图1.44所示是删除变量值year大于2005且变量值shangjiao大于865的数据结果。
图1.43 分析结果7
图1.44 分析结果8
我们在上述的Stata命令中用到了Stata中的关系运算符和逻辑运算符。Stata 16.0共支持6种关系运算符和3种逻辑运算符,如表1.7和表1.8所示。
表1.7 关系运算符
表1.8 逻辑运算符