ライトストーン > Stata > コマンド早見表

append コマンド

 Stataの append コマンドは、ディスク上に保存されているStata形式のデータセットを、現在メモリにあるデータ(マスターデータ)の末尾に縦方向に結合するために使用されます。 merge コマンドが共通のキー変数に基づいて変数を横方向に追加するのに対し、 append は観測値を下に追加してデータを増やします。

1. シンタクス(構文)

 基本的なシンタクスは以下の通りです。

  append using filename [filename [...]] [, options]

 ファイル名( filename )にスペースや特殊文字が含まれる場合は、二重引用符で囲む必要があります。拡張子を指定しない場合、 .dta であるとみなされます。

2. 主なオプション

 結果の管理やデータの整合性を制御するためのオプションが用意されています。

  • generate(newvar) : 作成される各観測値のデータソースを示す新しい変数を作成します。メモリ内の元のデータには 0 、最初に追加されたデータセットには 1 、その次には 2 という数値が格納されます。
  • keep(varlist) : 追加するデータセットから特定の変数のみを取り込みたい場合に指定します。
  • nolabel : ディスク上のデータセットから値ラベルの定義をコピーしません。メモリ内のラベル定義が優先されます。
  • nonotes : 追加するデータセットに含まれる注釈(notes)をコピーしないようにします。
  • force : 変数の型(文字列型と数値型)が一致しない場合でも、エラーを出さずに追加を強行します。この場合、型が合わないデータは欠損値として処理されます。

3. コマンド例

* 基本的な追加(メモリ内のデータに mydata2.dta を単純に追加します。)
append using mydata2

* 出所を示す変数を作成しながら追加(各行がどちらのデータに由来するかを示す変数 source を作成します。)
append using mydata2, generate(source)

* 特定の変数のみを選択して追加( mydata2 から変数 v1v2v3 だけを抽出して結合します。)
append using mydata2, keep(v1 v2 v3)

* 一度に複数のデータを追加( ilpoptxpop の2つのファイルを一度に追加し、変数 state で区別します。)
append using ilpop txpop, generate(state)

4. 留意点

  • 変数名の一致 : append は変数名に基づいてデータを結合します。同じ名前の変数が両方のデータにある場合、その変数は拡張されますが、一方のデータにしかない変数は、もう一方のデータ由来の行では欠損値になります。
  • 型の一致 : 同じ名前の変数で、一方が文字列型、もう一方が数値型の場合、 force オプションを指定しない限りエラーとなります。数値型同士であれば、より精度の高い型に合わせて自動的に調整されます。
  • ラベルの競合 : 両方のデータで同じ名前の値ラベルが定義されている場合、Stataは警告を表示し、メモリ内の定義を優先してディスク上の定義を無視します。