3

〜200列と〜170K行のcsvファイルがあります。データは広範囲にわたって手入れされており、整形式であることを私は知っています。read.tableが完了すると、行の約半分がインポートされていることがわかります。警告やエラーはありません。オプションを設定します(warn = 2)。64ビットの最新バージョンを使用しており、メモリ制限を10ギガに増やしました。ここで頭をかいて...これをデバッグする方法がわかりません。

編集
私がファイルの半分を言ったとき、私は前半を意味するのではありません。最後に読み取られた観測はファイルの終わりに向かっています....そのため、一見ランダムに見えます。

4

3 に答える 3

11

ファイルにコメント文字 (#) が含まれている場合があります ( comment.char = ""read.table でオプションを設定してみてください)。また、quote オプションが正しく設定されていることを確認してください。

于 2011-04-16T06:39:52.593 に答える
2

一度に設定された行数を読み込み、事後に結合するというアプローチをとる前に、この問題がありました。

df1 <- read.csv(..., nrows=85000) 
df2 <- read.csv(..., skip=84999, nrows=85000) 
colnames(df1) <- colnames(df2)

df <- rbind(df1,df2) 
rm(df1,df2)
于 2011-04-16T06:07:23.287 に答える
1

「|」が含まれる大きなtxtファイルを読み取るときにも同様の問題が発生しました。セパレータ。txtファイルには、引用符( ")を含むテキストブロックが散在していたため、read.xxx関数はエラーをスローせずに前のレコードで停止しました。言及されたテキストブロックは二重引用符で囲まれておらず、二重引用符で囲まれていないことに注意してください。あちこちに二重引用符( ")が1つ含まれているだけで、つまずきました。

グローバル検索を実行してtxtファイルを置き換え、二重引用符( ")を一重引用符(')に置き換えて、問題を解決しました(その後、すべての行が中断せずに読み込まれました)。

于 2012-04-05T20:42:47.347 に答える