xlgray 发表于 2009-7-10 08:41 
我知道的只有sort和gsort两个命令,但这两个命令只能实现升序或降序排列。
请问在stata中,有没有什么命令可以直接让观察值按照人为规定的顺序排列呢?
我知道一个方法可以这样,但是需要编一大段程序,挺麻烦。不知道有没有简单的命令。
谢谢啦!
2#的方法不对,可能误解了你的意思。
你能否把“挺麻烦”的程序说个大概或把问题、目标、数据结构说清楚?省得大家去揣度你的意思,更麻烦!
试试:
recode ..., gen(newvar)
sort newvar
或
gen newvar = 1 if inrange(oldvar, 1, 3)
replace newvar = 0 if inrange(oldvar, 3, 5.5)
...
sort newvar
再补充一个:
gen newvar = cond(inrange(oldvar, 1, 3), 1, (cond(oldvar, 3, 5.5), 2, (......) ) ) // 用cond()套嵌
sort newvar