我们之前分享了如何获取单个变量下的不重复记录数,如果想得到各个省份下具体城市个数,该怎么做?
数据准备,Stata代码如下:
clear
input province city inputx
11 1101 1
11 1101 2
11 1101 3
11 1101 4
11 1101 5
11 1102 1
11 1102 2
11 1102 3
11 1102 4
11 1103 1
11 1103 2
11 1103 3
11 1103 4
11 1103 5
12 1201 1
12 1201 2
12 1201 3
12 1201 4
12 1201 5
12 1201 6
12 1201 7
12 1201 8
12 1202 1
12 1202 2
12 1203 1
12 1204 1
12 1204 2
12 1204 3
12 1204 4
13 1301 1
13 1301 2
13 1301 3
13 1301 4
13 1301 5
13 1301 6
13 1301 7
13 1301 8
13 1301 9
13 1302 1
13 1302 2
13 1302 3
13 1302 4
13 1302 5
13 1302 6
13 1302 7
13 1302 8
13 1302 9
13 1302 10
13 1302 11
13 1302 12
13 1302 13
13 1302 14
13 1302 15
13 1302 16
13 1302 17
13 1302 18
13 1302 19
13 1302 20
13 1302 21
end
我们可以使用以下Stata代码获得:
bysort province city : gen cityid=_n
*因为Stata17开始,table命令进行了重构,所以旧版table命令前需加上版本号
version 16:table province if cityid==1,contents(n city)
旧版table命令结果如下:
----------------------
province | N(city)
----------+-----------
11 | 3
12 | 4
13 | 2
----------------------
Stata17重构的新版Stata命令也可完成类似功能,Stata代码如下:
*Stata17及以后的新版table命令如下
table province if cityid==1,stat(count city )
新版table命令结果如下:
---------------------------------------
| Number of nonmissing values
---------+-----------------------------
province |
11 | 3
12 | 4
13 | 2
Total | 9
---------------------------------------
我们还可以使用count命令来实现,Stata代码如下:
bys province: count if cityid==1
结果如下:
--------------------------------------------------------------
-> province = 11
3
---------------------------------------------------------------
-> province = 12
4
----------------------------------------------------------------
-> province = 13
2
Michael Hills开发了一个Stata社区命令unique,用来简化此操作,安装unique的Stata命令如下:
ssc install unique, replace
获取各个省份下具体城市个数,Stata代码如下:
unique city , by( province )
*如果要查看详细信息,可加上detail选项
unique city , by( province ) detail
*如果要替换默认的_Unique变量,可加上gen选项
unique city , by( province ) gen(n_city_p)
结果如下:
Number of unique values of city is 9
Number of records is 59
variable _Unique contains number of unique values of city by province
+--------------------+
| province _Unique |
|--------------------|
| 11 3 |
| 12 4 |
| 13 2 |
+--------------------+
也可以通过list命令获取上述结果,Stata代码如下:
list province n_city_p if !missing(_Unique)
完,本文内容交流请移步:http://www.epiman.cn/thread-139906-1-1.html