全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3315 5
2014-02-23
age是字符变量
encode age, gen (age_new)
出现下面情况:
age     age_new
100       1
101       2
103       3
27         4
28         5
30         6

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

二维码

扫码加我 拉你入群

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

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

全部回复
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 |
     +---------------+


二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

2014-2-23 14:42:03
destring
谢谢您的帮助:)
二维码

扫码加我 拉你入群

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

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

2014-2-24 00:37:38
gen age_num = real(age)
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群