我有想要导入 Stata 的大型 .dat 文件。.dat 文件是两个长列,每次观察多行。我想从不同的行中制作变量。问题是我不能使用 lrecl(#) 因为观察的行数不同,并且有一个字符串确定一个观察何时结束而另一个观察何时开始。这是 .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”开头。我想告诉 infile 使用后续列创建变量,例如 WKU、SRC、APN 和 APT(如:infix str WKU 5-13 SRC 5 APN 5-11 APT 5),然后找到下一个“PATN”开始下一次观察。所以我不仅需要它来查找字符串“PATN”,还需要它能够离开“.”。当该观察不存在 APN 时。