[Stataによるデータ分析入門]固定長ファイルの読み込み

通常データは、自分で入力するか、何らかのデータベースからダウンロードして、Stataに読み込ませます。データベース等からデータを入手る場合は、必ずしも、そのままStataでよみこめる形式ではない場合もあります。そんな場合は、EXCELで少し加工した後、データ読み込みの作業に移ります。しかし、Stataには、いくつか便利なコマンドが用意されていて、たとえば、以下で紹介する、「固定長」と呼ばれるレイアウト表と一緒に提供されるフォーマットのデータの場合、Stataでは特別なコマンドが用意されています。なお、本コラムで使用するデータとプログラム例は以下からダウンロードできます。

固定長ファイルとは何か

「固定長」ファイルといっても、初めて耳にする人も少なくないでしょう。「固定長」ファイルとは、かつて統計データが磁気テープに保存されていた時代によく使われていた形式で、次の図のように数値が数十列、あるいは数百列にわたり、羅列してあるファイルです。このファイルを解読するためには、何列目から何列目までが何の項目に対応するか示すフォーマット表を見ながら、データを切り分けて行きます。たとえば、統計情報開発センター(SINFONICA)や経済産業統計調査会・経済統計情報センターが販売している過去の政府統計の統計表CD-ROMデータなどでは、こういったフォーマットで提供されています。


画像1
画像2

 こうした表を「固定長ファイル」と呼びますが、Stataでは固定長ファイルを読み込むためのコマンドが用意されています。ここでは、上記の架空の固定長データwage.datファイルを、下記のフォーマット表を頼りにStataに読み込ませる方法について考えます。

ディクショナリー・ファイルを用意する

 まず、レイアウト表を参考に、何列目にどんな項目が収録されているかを示すディクショナリー・ファイルを作成します。拡張子は、dctとしてください。

例)wage.dct


infix dictionary using "wage.dat"{
hour1 1-3
hour2 4-8
bonus 9-14
salary 15-20
}

infixコマンドで読み込む


次にStataでinfixコマンドを使ってディクショナリー・ファイルを参照しながら、データファイルを読み込みます。wage.datファイル、並びにwage.dctファイルを読み込む際は、以下のように書き込みます。

infix using wage.dct

実際に読み込んだ結果が以下に示されています。4つの変数、17行のデータが読み込まれました。

画像3

以上の結果はについては、以下のdo-fileで再現可能です。
fixed_format.doファイルを参照

備考:本稿は「Stataによるデータ分析入門第2版」の「逆引き事典」に掲載されていたものの、紙幅の関係で第3版への掲載を見送った項目です。

Stataによるデータ分析入門第3版のWEB補論の一覧はこちら。


この記事が気に入ったらサポートをしてみませんか?