-1

在Stata中按州和城镇人口排序后,我想创建一个变量,对已从最大到最小排序的值进行排序。我想将 1 分配给人口最多的城镇,并将列表继续分配给价值最小的城镇。我想对来自 30 个不同州的城镇重复这个练习。

由于城镇的数量不同,我不能只为每个州创建一个从 1 到 100 的变量。我已经尝试了该命令的各种版本egen,但每次我最终都会输入很多数字,我很确定我应该能够只用一两行代码来做到这一点。有没有人有任何提示?

4

1 回答 1

2
clear
input str2 state str7 city pop000
AL ALCity1 128
AL ALCity2 391
AL ALCity3 997
GA GACity1 208
GA GACity2 1090
FL FLCity1 534
FL FLCity2 302
FL FLCity3 90
FL FLCity4 119
end

bysort state (pop000): egen poprank = rank(pop000), field

sort state poprank
list, noobs sepby(state)
于 2013-10-01T04:12:46.810 回答