楼主: Brook1114
2235 3

[Stata初级班] 如何生成id [推广有奖]

  • 0关注
  • 0粉丝

硕士生

98%

还不是VIP/贵宾

-

威望
0
论坛币
735 个
通用积分
0
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
1882 点
帖子
124
精华
0
在线时间
39 小时
注册时间
2009-2-4
最后登录
2020-9-8

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好:
       我想生成结合了原有数据中的城市编号和个人编号的id. 原始数据编号如下:  (new_id是我自己写的)
   citycode           indid              new_id
   11011                  1                  1
   11011                   2                  1
   11011                 1                     2
   11011                   2                    2
   11011                  3                     2
   12011                    1                  3
    12011                  2                   3
    12011                  1                   4
  12011                     2                  4
12011                    3                    4
我想把前两个编号合并为一个id. 我觉得第一步应该先生成new_id, 然后再把三个编号合并.
请问应该如何生成类似于new_id的形式?

谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Tyco code 原始数据 INDI City 如何

本帖被以下文库推荐

沙发
arlionn 在职认证  发表于 2010-12-18 08:16:48 |只看作者 |坛友微信交流群
两个类别合并成一个新编号,通常采用如下命令:
egen idnew = group(var1 var2)

你的问题中涉及的前两个变量似乎找不出特定的规律。

使用道具

藤椅
arlionn 在职认证  发表于 2010-12-19 09:12:17 |只看作者 |坛友微信交流群
*-http://www.pinggu.org/bbs/thread-992234-1-1.html

  clear
  input city ind famly
  110101                    1                       1
  110101                    2                       1
  110101                    3                       1
  110101                    1                       2
  110101                    2                       2
  110101                    1                       3
  110101                    2                       3
  110101                    3                       3
  110101                    4                       3
  110101                    1                       4
  110101                    2                       4
  end

  drop famly

  qui tab city
  local N_city = r(r)
  qui sum ind
  local N_ind = r(N)
  gen family = .
  set trace on
  forvalues c = 1/`N_city'{
     local j = 0
     forvalues i = 1/`N_ind'{
           if ind[`i']==1{
             replace family = `++j' in `i'
           }
           else{
             replace family = `j' in `i'
           }            
         }
  }

.   list, noobs clean

      city   ind   family  
    110101     1        1  
    110101     2        1  
    110101     3        1  
    110101     1        2  
    110101     2        2  
    110101     1        3  
    110101     2        3  
    110101     3        3  
    110101     4        3  
    110101     1        4  
    110101     2        4

使用道具

板凳
xge2000 发表于 2013-11-27 21:21:02 |只看作者 |坛友微信交流群
it is goooooooooooooooooooood

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 15:37