この固定幅の ASCII ファイルを読み取る方法を Stata 用に定義する Stata .dct ファイルの次の数行を検討してください(任意のプラットフォームの任意の ZIP ソフトウェアで解凍できます)。
start type varname width description
_column(24) long rfv1 %5f Patient's Reason for Visit #1
_column(29) long rfv2 %5f Patient's Reason for Visit #2
_column(34) long rfv3 %5f Patient's Reason for Visit #3
_column(24) long rfv13d %4f Patient's Reason for Visit #1 - broad
_column(29) long rfv23d %4f Patient's Reason for Visit #2 - broad
_column(34) long rfv33d %4f Patient's Reason for Visit #3 - broad
基本的に、この ASCII ファイルの各行の 24 番目から 39 番目の文字は次のようになります。
AAAAaBBBBbCCCCc
最初の大まかなコードがAAAA
である場合、同じ理由でより狭いコードはAAAAa
などです。
つまり、コード自体が階層構造を持っているため、すべての行の同じ文字が 2 回読み取られて、2 つの異なる変数が作成されます。
read.fwf
対照的に、widths
このタイプの二重読み取りを排除する引数を取るだけです。
scan
これを処理する標準的な方法はありますか?ファイル全体で ning を使用してホイールを最初から再作成し、手動で解析する必要はありませんか?
ここでの背景は、これらの .DCT ファイルを解析する関数を SAScii のスタイルで作成していること(start, width)
ですwidths
。