首先有两种方法可以赋予字符型变量一定的编码,即group命令和encode命令*方法一 group命令*
inp str10 name
beijing
tianjin
hebei
taiyuan
end
format name %-10s
list
egen id=group(name)
list
相应的结果是
inp str10 name
name
1. beijing
2. tianjin
3. hebei
4. taiyuan
5. end
. format name %-10s
. list
+---------+
name
---------
1. beijing
2. tianjin
3. hebei
4. taiyuan
+---------+
. egen id=group(name)
. list
+--------------+
name id
--------------
1. beijing 1
2. tianjin 4
3. hebei 2
4. taiyuan 3
+--------------+
*方法二 encode命令*
inp str10 name
beijing
tianjin
hebei
taiyuan
end
format name %-10s
list
encode name,gen(nameid)
label drop nameid
list
相应的结果是
inp str10 name
name
1. beijing
2. tianjin
3. hebei
4. taiyuan
5. end
. format name %-10s
. list
+---------+
| name |
|---------|
1. | beijing |
2. | tianjin |
3. | hebei |
4. | taiyuan |
+---------+
. encode name,gen(nameid)
. label drop nameid
. list
+------------------+
| name nameid |
|------------------|
1. | beijing 1 |
2. | tianjin 4 |
3. | hebei 2 |
4. | taiyuan 3 |
+------------------+
我的问题是 为什么编码的顺序不是按照从小到大呢? 1 4 2 3 这是根据什么排序的呢?
谢谢大家~!希望大家能积极踊跃地探讨~~