Stata+α「データのインポート」 2013 年 11 月 今回はテキストデータのインポートの際に知っておくと役立つコマンドをご紹介します。 サンプルデータとしては次の 2 つのファイルを利用します。 sampledata.dta sampledata2.dta これらのファイルをご自身の PC にダンロードしてから解説を読み進めてください。ここで は、サンプルデータを C ドライブの stata13/statanews/201211 というフォルダに用意した ものとして解説します 最初にワークキングディレクトを 201211 フ ォ ル ダ に 設 定 し ま す 。 File/Change Working directory と操作し、目的のフォ ルダを選択します。 ■テキストデータ データファイルには一般的に、テキスト形 式のバイナリ形式の 2 種類があります。 Stata に取り込むことのできるファイル は一般的にテキストファイルです。 例えば、データベースから入手したファイ ルの形式が不明な場合、それを見分ける簡 単な方法があります。右図に示すように メモ帳の上にドラッグ&ドロップしてみ ます。テキストファイルの場合は、中身 を確認することができます。一方、バイ ナリファイルの場合、それは暗号のよう な文字や記号を表示し、ファイルの中身 の情報を判別することはできません。 試しに、サンプルデータ sampledate.txt を図のようにドラッグ&ドロップしてみ ましょう。中には 3 つの変数が入ってい る事が分かり、具体的な数値も表示され ます。データの区切り(delimiter)はスペ 1 ースであり、データの文字数は固定で、1 番目(左端)の変数は小数点を含めて 6 文字、2 番 目の変数は 6 文字、3 列目は 2 文字となっています。 Windows のシステムによっては拡張子 なし(sampledata)でファイル名だけを 表示する設定になっていることもあり ます。 Windows7 で拡張子付きでファイル名 (sampledata.dta) を 画 面 上 に 表 示 す る 場合は、エクスプローラの画面で Alt を 一度押します。すると、メニューが図のように追加表示されますので、ツールメニューか ら「フォルダーオプション」を選択し、ダイアログを表示します。表示タブで、下の方に ある「登録されている拡張子は表示しない」のチェックを外します。このようにすると、 エクスプローラ画面のファイル名は拡張子付で表示されます。 ■テキストデータのインポート テキストファイルのインポートは File/Import から Text data(delimited,*csv,… )と操作し ます。ここでは例として用意した sampledata.txt をインポートします。 テキストデータのインポートダイアログを表示しますが、データがすべて 1 列目にまとめ て入ってしまいます。しかも、文字の色が赤で表示していますので、このまま取り込んで も文字列として認識されてしまいます。 2 このような場合、一番簡単なのは Excel で開き、Excel 形式で保存し、それを Stata で取り 込むことです。Stata13 からは Excel ファイルを直接開くことができます。 ここではさらに、Excel 以外の方法をご案内します。利用しているサンプルデータのように、 データの文字数が固定されている場合は、File/Import/Text data in fixed format コマンド を利用します。 Specifications のフィールド には変数とそのデータの入 っている範囲を列数で指定 します。たとえば、左端の変 数名は length とし、文字数 は 7 で固定されている場合、 length 1-6 と入力します。変数名はユー ザがここで自由に設定しま す。変数名と文字数を設定し たら、ファイル名を下側の Text dataset filename のフ ィールドに入力し、OK ボタンをクリックします。固定長の場合、この方法を利用すると、 データを正しくインポートできます。データがインポートできたら、sampledata.dta とい う名前の Stata ファイルとして保存して、ファイルを閉じます(clear します)。 3 注意:この方法では、テキストデータファイルに列名(変数名)が入っていないことを前提とし ています。 ファイルの結合 次に dta ファイルの結合方法をご紹介 します。まったく同じ形式のテキスト ファイル sampledata2.txt があります ので、これを、同じ要領でインポート し、Stata 形式のファイルとして保存 し、右図の 11 行目に追加してみまし ょう。 それでは実際に、sampledata2.txt を Stata ファイル sampledata2.dta とし て保存して閉じます(clear します)。 この時点でサンプルデータのフォルダには 4 つのファイルがあります。 sampledata.txt sampledata.dta(開いているファイル) sampledata2.txt sampledata2.dta(これから追加するファイル) sampledata.dta と sampledata2.dta を 縦 に 接 続 し ま す 。 改 め て 最 初 に フ ァ イ ル sampledata.dta を開きます。 length height age 1. 2. 3. 4. 5. 134.56 111.87 22.21 133.5 144.55 55.346 22.2 25.67 44.105 6.206 31 33 42 55 39 6. 7. 8. 9. 10. 155.41 104.87 152.28 133.35 143.12 66.547 22.25 35.27 54.952 39.99 61 23 42 51 43 11. 12. 13. 14. 15. 164.5 111.87 122.21 153.41 144.55 51.346 22.14 29.04 34.501 41.3 33 38 41 49 51 .use sampledata,clear コマンドウィンドウに次のように入力します。 .append using sampledata2 .list 11-15 行目のデータを既存の sampledata.dta に追加できま した。この 15 個のデータからなるファイルを sampledata3.dta として保存します。 4 データの選別 次は age が 35 歳以上のデータだけを利用したファイルを新たに作成します。少し小さなフ ァイルを改めて作りことになります。まずは、sampledata3.dta で 35 歳以上のデータを確 認することから始めます。 .list if age>=35 length height age 3. 4. 5. 6. 8. 22.21 133.5 144.55 155.41 152.28 25.67 44.105 6.206 66.547 35.27 42 55 39 61 42 .keep if age>=35 9. 10. 12. 13. 14. 133.35 143.12 111.87 122.21 153.41 54.952 39.99 22.14 29.04 34.501 51 43 38 41 49 (4 observations deleted) 15. 144.55 41.3 51 条件に合わないデータを非表示にした表を画面に出力しまし た。もちろん、オリジナルのデータは削除されていません。 実際にデータを削除する場合は次のようにします。 15 個のデータのうち、4 つを削 除したことが分かります。Keep コマンドで実行した削除内容は 復元できまんので、慎重に操作し てください。 今回はテキストファイルのイン ポートと dta ファイルの接続(縦 方向)の操作について説明しまし た。次回はパネルデータにおける 欠損値の調べ方と、便利なデータ 加工方法について、いくつか便利 なコマンドを紹介します。 5
© Copyright 2024 Paperzz