楼主好,建议:
ssc install egenmore
bys city: egen num = nvals(school)
一个例子:
clear
set obs 20
gen stu = _n
gen city = 1
replace city = 2 in 2
replace city = 2 in 5
replace city = 2 in 7
replace city = 3 in 10
replace city = 3 in 15
replace city = 3 in 19
replace city = 4 in 8
replace city = 4 in 12/14
replace city = 4 in 20
replace city = 5 in 3
replace city = 5 in 4
replace city = 5 in 6
replace city = 5 in 11
gen school = .
replace school = 1 in 1
replace school = 2 in 16/18
replace school = 3 if city == 1 & school == .
replace school = 4 if city == 3 & stu >10
replace school = 5 if city == 2
replace school = 6 if city == 4
replace school = 7 if city == 5 & stu < 10
replace school = 8 if city == 5 & school == .
replace school = 9 if school == .
gsort city school
bys city: egen num = nvals(school) // 在已经安装egenmore的前提下运行
一点愚见,供参考。