我现在的数据是这样子的,只有两列,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
}
我不明白,是我写的循环哪里出了问题,向大家请教下。