楼主: kusoft
3389 5

[数据管理求助] encode可以反映原本的数字形式吗?而不是重新开始从1赋值 [推广有奖]

  • 0关注
  • 0粉丝

已卖:5份资源

本科生

16%

还不是VIP/贵宾

-

威望
0
论坛币
143 个
通用积分
0.0137
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
594 点
帖子
43
精华
0
在线时间
82 小时
注册时间
2008-5-24
最后登录
2022-6-25

楼主
kusoft 发表于 2014-2-23 11:42:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
age是字符变量
encode age, gen (age_new)
出现下面情况:
age     age_new
100       1
101       2
103       3
27         4
28         5
30         6

这样的话,100岁的反倒成了最年轻的了。有没有方法encode之后能够保持原来的取值,而不是重新开始从1赋值

二维码

扫码加我 拉你入群

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

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

关键词:encode code ODE COD 新开始 encode

沙发
蓝色 发表于 2014-2-23 12:13:21
没有你说的那种情况
clear
input ///
str10 age   
100     
101      
103      
27      
28        
30      
end
encode age,gen(age_new)
list

. clear

. input ///
> str10 age   

            age
  1. 100     
  2. 101      
  3. 103      
  4. 27      
  5. 28        
  6. 30      
  7. end

. encode age,gen(age_new)

. list

     +---------------+
     | age   age_new |
     |---------------|
  1. | 100       100 |
  2. | 101       101 |
  3. | 103       103 |
  4. |  27        27 |
  5. |  28        28 |
     |---------------|
  6. |  30        30 |
     +---------------+


藤椅
kusoft 发表于 2014-2-23 12:23:02
您的意思是说做不到吗?
age_new里面的100,101是label,如果用 tab age_new, nol,显示的仍然是1,2,3...

那遇到这种情况怎么处理比较好呢?不可能重新设label。数据中的age和birthyear也是字符型,如果重设label的话太多了。。。

板凳
蓝色 发表于 2014-2-23 13:33:42
clear
input ///
str10 age   
100     
101      
103      
27      
28        
30      
end
destring age,gen(age_new)
label drop _all
list

报纸
kusoft 发表于 2014-2-23 14:42:03
destring
谢谢您的帮助:)

地板
lc881125 发表于 2014-2-24 00:37:38
gen age_num = real(age)

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-24 19:48