Stata - 改变观察或行的顺序

时间:2014-07-02 21:56:04

标签: sorting row stata

这可能是显而易见的,但我无法找到它。我想将一行移到另一个地方。我知道Stata中可以有sort行。我也知道可以使用order来移动列,但是如何排序行(当sort赢得工作时)?例如,我想在第2行之前移动第4行:

1
2
3
4
5

获得:

1
4
2
3
5

伪代码就像:

order(_n==4), before(_n==2)

1 个答案:

答案 0 :(得分:2)

提出的问题似乎是人为的或间接的,但这是一种方式:

gen double obsorder = _n 
replace obsorder = 1.5 in 4
sort obsorder 

毫无疑问,这似乎有点尴尬,但我认为没有更原始或基本的命令来执行此操作仅给出您的问题规范。 (显然1.5只是一种解决方案:1到2之间的任何值都适用于此。)

但为什么我说问题是人为的?你可能有理由认为观察4处于错误的位置,那么原因是什么?在Stata实践中,我认为人们注意到观察在某些变量或变量组合上的顺序是错误的,因此答案就是对该变量或变量的sort

如果这不是答案,也许你可以扩展你的情况。

(行和列是电子表格术语。除非正在讨论矩阵,否则Stata本身总是在数据集中讨论观察和变量。)