merge
これを行うには aが最善の方法であることを示唆する他の回答を繰り返します。
しかし、絶対に行をアイテムごとにコーディングしなければならない場合 (これも面倒です)、replace
MS Excel を使用してコマンドの長いリスト (「ページ」) を生成し、コードの記述を「支援」することができます。これは、MS Excel の数式を示す、1 つの例を含む Excel シートの写真です。
columns:
A B C D
row: 1 last first id code
2 MARTIN JACK 103 ="replace fname=^"&B2&"^ if id=="&C2
それを入力し、数式が計算されるときに (キャレットを除いて) Stata コードのように見えることを確認し、列 D の数式をリストの最後までコピーします。次に、式によって生成された列 D の Stata コードのブロック全体を do ファイルにコピーし、置換するすべての ^ に対して検索と置換を実行します (数学的な用途で他の場所でキャレットを使用している場合は注意してください!!)。これにより、適切な Stata 構文が生成されます。
(これは本当に強引な方法であり、世代リストにその後の変更があった場合にはあまり動的ではありません。Excel の使用を推奨する質問にここで回答することをお詫びします :) )