57000 行と 5500 列のこのデータ セットがあります。これらは数値変数と文字変数の両方です。最初にデータを .dta 形式でダウンロードしましたが、Stata がそれを読み取るのは非常に高速です。timer
コマンドを使用して時間を計ると、それを行うのに .13 スコーンが必要です。
今、私はRを使用しており、読んだところ、はるかに効率的であるはずです。データを Stata から csv にエクスポートしましたが、スタック交換で読んだ推奨事項に従っても、結果は説得力がありません。
これが私が見つけた最良の解決策です:
library(data.table)
system.time(fread("~/Data/GSS/GSS.csv", stringsAsFactors=FALSE, header=T, na.strings=paste0(".",letters), data.table=FALSE)
)
私は得る:
Read 57061 rows and 5548 (of 5548) columns from 1.053 GB file in 00:00:46
user system elapsed
52.000 1.492 53.470
また、欠落している値を宣言したにもかかわらず、欠落している値に関する多くの警告が表示されます。警告:
Bumped column XXXX to type character on data row XXXX, field contains '.n'.
Rが数値列のこれらの欠損値を認識しないことに関係していると思います
これを改善する方法について何か提案はありますか? 補足として、sqldf を試してみましたが、パッケージを最新バージョンにアップグレードしても、自分のコンピューターでは機能しませんでした。
これが私が扱っているデータです: http://www3.norc.org/GSS+Website/Download/