全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
484 3
2023-08-18
我现在的数据是这样子的,只有两列,ID,cc,我想根据ID列新增一列“编码”,“编码”的样子是ID_该ID的行,比如第一个ID是1,等于1的ID有9行,从上往下依次写成1_1、1_2...1_9。当ID等于2时,等于2的ID也有9行,分别写成2_1、2_2...2_9。依此类推




ID    cc                编码
1        1               
1        .701811        
1        .7170126        
1        .6914961        
1        .7214676        
1        .6593112        
1        .7354158        
1        .6435893        
1        .5934748        

......
2        .701811        
2        1        1948
2        .7058449        
2        .6948483        
2        .6957361        
2        .677418        
2        .6383812        
......




这是想要的数据形式
ID    cc                编码
1        1                1_1
1        .701811        1_2
1        .7170126        1_3
1        .6914961        1_4
1        .7214676        1_5
1        .6593112        1_6
1        .7354158        1_7
1        .6435893        1_8
1        .5934748        1_9

......
2        .701811        2_1
2        1                2_2
2        .7058449        2_3
2        .6948483        2_4
2        .6957361        2_5
2        .677418        2_6
2        .6383812        2_7
......

3                      3_1

3                      3_2                     
3                      3_3
3                      3_4




我觉得这应该能用循环批量处理,我写了个循环,但是不对
forvalues i=1/3{
gen n=_n
replace n=_n if ID==`i'+1
}

我不明白,是我写的循环哪里出了问题,向大家请教下。



二维码

扫码加我 拉你入群

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

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

全部回复
2023-8-18 14:24:23
复制代码
二维码

扫码加我 拉你入群

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

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

2023-8-18 14:24:27
复制代码
二维码

扫码加我 拉你入群

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

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

2023-8-18 19:47:15
momingqimiao7 发表于 2023-8-18 14:24
谢谢大佬,刚试跑了下,超级好用!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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