## サンプルデータ ```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が複数回登場する場合、初回受診データだけを抽出したいときなどに便利です。