4

国勢調査からのマイクロデータのファイルがいくつかあり、.txt として保存され、ASCII でコード化されています。それらをテキストエディターで開くと、次のようなものが表示されます 1100015110001500100100003624008705865085282310200600101011022022 14 444231

私は ASCII データの集計に慣れていないので、R でこれを行う方法があるかどうか、および/またはどのタイプの補助ソフトウェアが必要かを知りたいです。

実際には、最初は自分のデータを「通常の」方法で見て、可能であればテーブルとして表示したいと考えています (ファイルサイズは 40 MB から 500 MB の間で異なります)。次に、いくつかの簡単な計算を行い、後で結果を csv として保存したいと思います。他のコンテキストで使用します。

誰でも私にアドバイスをもらえますか?

4

2 に答える 2

8

このブラジル国勢調査 Web サイトでは、SAS インポート スクリプトが提供されています。SAS インポート スクリプトのみを使用して ASCII データ セットをインポートする最も簡単な方法は、SAScii パッケージを使用することです。SAS インポート スクリプトは、この zip ファイル内にあります。これは INPUT.txt です。これらの SAS インポート命令の INPUT ブロックは 4 行目まで開始されないことに注意してください。したがって、beginlineパラメーターは 4 になります。最初に、SAS スクリプトを正しく読み取っていることをテストします。?parse.SAScii

library(SAScii)
parse.SAScii( "INPUT.txt" , beginline = 4 )

列名と幅が正しく出力されていることが確認できたら、?read.SAScii関数を使用してテキスト ファイルを R データ フレームに直接読み込むことができます。

x <- read.SAScii( "filename.txt" , "INPUT.txt" , beginline = 4 )
head( x )

ファイルが大きすぎて RAM に完全に読み込めない場合は、代わりに SQLite データベースに読み込むことができます。read.SAScii.sqlite()SAScii パッケージではなく、私の github アカウントにある関数を使用してください。これは read.SAScii() 関数のわずかなバリエーションですが、RAM を過負荷にしません。この使用例は、この米国政府調査データ セット Web サイトのダウンロード スクリプトで確認できます。

SAScii パッケージの詳細については、この概要を確認してください。

于 2012-12-20T13:12:55.290 に答える