楼主: SpencerMeng
1952 2

[字符问题求助] 对字符型变量赋予按照从小到大的编码 [推广有奖]

贵宾

Trade Economicist

已卖:6份资源

学科带头人

53%

还不是VIP/贵宾

-

TA的文库  其他...

Crush for Stata

International Trade With Stata

威望
1
论坛币
243792 个
通用积分
3690.4949
学术水平
536 点
热心指数
681 点
信用等级
441 点
经验
101515 点
帖子
2370
精华
0
在线时间
1798 小时
注册时间
2013-11-12
最后登录
2025-3-19

初级热心勋章 中级热心勋章 初级信用勋章

楼主
SpencerMeng 在职认证  发表于 2014-5-1 11:02:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
首先有两种方法可以赋予字符型变量一定的编码,即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 这是根据什么排序的呢?
谢谢大家~!希望大家能积极踊跃地探讨~~




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:字符型变量 从小到大 字符型 Beijing TIANJIN tianjin beijing encode

回帖推荐

zerana 发表于2楼  查看完整内容

tianjin按字母排列在最后。
有问题来发帖,来发帖没问题!
我尊重版规,一切为了学术!
Stata专版版规:https://bbs.pinggu.org/thread-1651470-1-1.html

沙发
zerana 发表于 2014-5-1 16:36:22
tianjin按字母排列在最后。

藤椅
SpencerMeng 在职认证  发表于 2014-5-1 16:55:14
哦哦哦   谢谢  谢谢  我知道了
在encode和group命令之前 先sort下name  就可以得到从小到大的编码顺序了
谢谢
有问题来发帖,来发帖没问题!
我尊重版规,一切为了学术!
Stata专版版规:https://bbs.pinggu.org/thread-1651470-1-1.html

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-7 21:08