append コマンド Stataの append コマンドは、ディスク上に保存されているStata形式のデータセットを、現在メモリにあるデータ(マスターデータ)の末尾に縦方向に結合するために使用されます。 merge コマンドが共通のキー変数に基づいて変数を横方向に追加するのに対し、 append は観測値を下に追加してデータを増やします。
基本的なシンタクスは以下の通りです。
append using filename [filename [...]] [, options]
ファイル名( filename )にスペースや特殊文字が含まれる場合は、二重引用符で囲む必要があります。拡張子を指定しない場合、 .dta であるとみなされます。
結果の管理やデータの整合性を制御するためのオプションが用意されています。
generate(newvar) : 作成される各観測値のデータソースを示す新しい変数を作成します。メモリ内の元のデータには 0 、最初に追加されたデータセットには 1 、その次には 2 という数値が格納されます。keep(varlist) : 追加するデータセットから特定の変数のみを取り込みたい場合に指定します。nolabel : ディスク上のデータセットから値ラベルの定義をコピーしません。メモリ内のラベル定義が優先されます。nonotes : 追加するデータセットに含まれる注釈(notes)をコピーしないようにします。force : 変数の型(文字列型と数値型)が一致しない場合でも、エラーを出さずに追加を強行します。この場合、型が合わないデータは欠損値として処理されます。
* 基本的な追加(メモリ内のデータに mydata2.dta を単純に追加します。)
append using mydata2
* 出所を示す変数を作成しながら追加(各行がどちらのデータに由来するかを示す変数 source を作成します。)
append using mydata2, generate(source)
* 特定の変数のみを選択して追加( mydata2 から変数 v1 、 v2 、 v3 だけを抽出して結合します。)
append using mydata2, keep(v1 v2 v3)
* 一度に複数のデータを追加( ilpop と txpop の2つのファイルを一度に追加し、変数 state で区別します。)
append using ilpop txpop, generate(state)
append は変数名に基づいてデータを結合します。同じ名前の変数が両方のデータにある場合、その変数は拡張されますが、一方のデータにしかない変数は、もう一方のデータ由来の行では欠損値になります。force オプションを指定しない限りエラーとなります。数値型同士であれば、より精度の高い型に合わせて自動的に調整されます。