## サンプルデータ
```stata
clear all
input id
1
1
2
2
2
3
3
4
end
```
このデータでは、ID=1が2行、ID=2が3行、ID=3が2行、ID=4が1行あります。
## 解決方法:egen tag関数
```stata
egen tag = tag(id)
```
## 結果の見方
| id | tag | 意味 |
|----|-----|------|
| 1 | 1 | ID=1の**最初の行** |
| 1 | 0 | ID=1の2番目の行 |
| 2 | 1 | ID=2の**最初の行** |
| 2 | 0 | ID=2の2番目の行 |
| 2 | 0 | ID=2の3番目の行 |
| 3 | 1 | ID=3の**最初の行** |
| 3 | 0 | ID=3の2番目の行 |
| 4 | 1 | ID=4の**最初の行**(重複なし) |
## 最初の行だけを残す
```stata
keep if tag == 1
```
これで各IDの最初の行だけが残ります。
## 使用例
患者データで同じ患者IDが複数回登場する場合、初回受診データだけを抽出したいときなどに便利です。