Stata にインポートしたい大きな .dat ファイルがあります。.dat ファイルは、観測ごとに複数の行を持つ 2 つの長い列です。さまざまな行から変数を作成したい。問題は、lrecl(#) を使用できないことです。これは、観察の長さが異なる行数であり、1 つの観察がいつ終了し、別の観察が開始されるかを決定する文字列があるためです。.dat ファイルは次のようになります (行を // で区切っています)。
PATN// WKU D03321703// SRC 7// APN 5583950// PATN// WKU D03321711// SRC 7// APN 5455359// APT 4// ART 294// APD 19900627// PATN// WKU D03321912// SRC 7// APN 5455432// APT 4// ART 294// APD 19900456
各観測は「PATN」で始まります。後続の列を使用して変数、たとえば、WKU、SRC、APN、および APT を作成するように infile に指示したい (次のように: infix str WKU 5-13 SRC 5 APN 5-11 APT 5)。次に、次の「PATN」を見つけます。次の観測を開始します。したがって、文字列「PATN」を見つけるために必要なだけでなく、「.」を残すためにも必要です。その観測に APN が存在しない場合。