0
私のデータには何らかの問題があります。調査は住宅部門で行われます。したがって、同じ人物IDを持つ2つの行は、実際には同じ人物を示していない可能性があります。n行目で何かが起きた場合、IDはn番目から最後の行に変更されます
実際に違う人に別のIDを割り当てたいと思います。
私はこのデータを持っているとしましょう。
id yearmonth age
1 200001 12
1 200002 12
1 200003 14
1 200004 14
1 200005 14
3行目は間違いありません。 2.
だから私は、私はこれを行うことができますどのように
id yearmonth age
1 200001 12
1 200002 12
10 200003 14
10 200004 14
10 200005 14
のようにIDを変更したいことによって、その年齢の増加?私は書いて3行目のIDを変更できると思う。
bysort id (yearmonth): replace id=id*10 if age[_n-1]>age+1 | age[_n-1]+1<age
(where I multiply by 10 because all IDs have the same number of numbers, so that multiplying by 10 won't give any duplicate)
しかし、後続の行をすべて変更するにはどうすればよいですか?
ありがとうございます。しかし、numchangeは作成され、その後はまったく使用されませんでした。おそらく、3行目のidchangeの2回の出現をnumchangeに置き換えるべきでしょうか? – user42459