Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 创建排序组ID而不对组进行排序_String_Sorting_Stata_Collapse - Fatal编程技术网

String 创建排序组ID而不对组进行排序

String 创建排序组ID而不对组进行排序,string,sorting,stata,collapse,String,Sorting,Stata,Collapse,我想创建一个排序组ID,而不对组进行排序 var1是我感兴趣的变量,包含一些随机值id\u 1是一个基于var1的唯一id组包含有关相应的var1观察所属组的信息。请注意,组中的字符串不包含任何排序信息,这意味着按字母顺序排序没有值 我想创建id\u组,因为在下一步中,我想通过group折叠var1,而不会丢失组的排序。如果我只是按(组)折叠(max)var1,Stata将按字母顺序对结果进行排序,我不希望这样。我想创建id\u组然后通过(id\u组)折叠(max)var1并维护组的顺序 我曾尝

我想创建一个排序组ID,而不对组进行排序

var1
是我感兴趣的变量,包含一些随机值
id\u 1
是一个基于
var1
的唯一id<代码>组包含有关相应的
var1
观察所属组的信息。请注意,
中的字符串不包含任何排序信息,这意味着按字母顺序排序没有值

我想创建
id\u组
,因为在下一步中,我想通过
group
折叠
var1
,而不会丢失
的排序。如果我只是按(组)折叠(max)var1,Stata将按字母顺序对结果进行排序,我不希望这样。我想创建
id\u组
然后通过(id\u组)折叠(max)var1并维护组的顺序

我曾尝试使用
bysort
,但此命令按字母顺序对
group
进行排序以创建新ID。
egen
也不起作用,因为创建的ID未按排序顺序排列

clear
input   var1  id_var1 str6 group id_group
    3       1       "C"    1
    1       2       "C"    1
    9       3       "C"    1
    5       4       "A"    2
    3       5       "B"    3
    0       6       "F"    4
    9       7       "Z"    5 
    1       8       "Y"    6
    3       9       "T"    7
    2       10      "T"    7
end
clear
input   var1  id_var1 str6 group id_group
    3       1       "C"    1
    1       2       "C"    1
    9       3       "C"    1
    5       4       "A"    2
    3       5       "B"    3
    0       6       "F"    4
    9       7       "Z"    5 
    1       8       "Y"    6
    3       9       "T"    7
    2       10      "T"    7
end

gen wanted = sum(group != group[_n-1]) 

list , sepby(wanted) 

     +--------------------------------------------+
     | var1   id_var1   group   id_group   wanted |
     |--------------------------------------------|
  1. |    3         1       C          1        1 |
  2. |    1         2       C          1        1 |
  3. |    9         3       C          1        1 |
     |--------------------------------------------|
  4. |    5         4       A          2        2 |
     |--------------------------------------------|
  5. |    3         5       B          3        3 |
     |--------------------------------------------|
  6. |    0         6       F          4        4 |
     |--------------------------------------------|
  7. |    9         7       Z          5        5 |
     |--------------------------------------------|
  8. |    1         8       Y          6        6 |
     |--------------------------------------------|
  9. |    3         9       T          7        7 |
 10. |    2        10       T          7        7 |
     +--------------------------------------------+