2016-05-12 9 views
0

readrパッケージを使用して大きなファイル(2000000行近く)を読み込む問題があります。異なる行の長さと空白を区切り文字とする大きなデータファイルを読み込むためにreadrを使用する

なぜ読者パッケージを使用したいのですか?私のデータファイルには、read.table()の実行を停止するASCII制御文字(ascii 26と等しいascii 26に等しい)が入っていて、readrパッケージはその問題に影響されないことに注意してください。

ファイルの行数が異なるため、read.table()を使用できる場合はfill=TRUEを使用します。

読者パッケージのread_tableを使用しようとしましたが、空白が列セパレータとして見つからないようですが、成功しませんでした。

read_delimを使用しようとしました。コードはread_delim(file,delim=" ")です。セパレータが見つかりましたが、最初の行がデータフレームの主な長さとみなされ、したがって、行の長さが切り捨てられました。

誰にでもアドバイスがありますか?

私は、次のコードを使用して、データフレーム(rtcm1)に(ファイルという名前のファイルから)私のデータを集めることに成功し
+0

'fread'関数' data.table'を試しましたか? – Jaap

+2

あなたは 'read_file()'を使ってどのように試してみましたか?この関数は、[列が空白で区切られたテキストファイルを読む](http://search.r-project.org/library/readr/html/read_table.html)に正確に作成されました。代替案を考えると、各列の「幅」は分かりますか?列の最初と最後の位置? –

+0

私はちょうどfreadを試してみましたが、空の行で停止したようですが、そのエラーを止めるための手がかりはありますか? –

答えて

0

#create a vector for named the columns, actually I used more for define the number of columns to be used to import my file 

col<-paste("V",1:17,sep="") 

#use read_delim of the readr packages with a separator is whitespace. I don't really know why but I need to put quote="" to collect all my datas. maybe to not consider "" as quoting characters. 

rtcm1<-read_delim(file,delim=" ",col_names=col,quote="") 

このようなソリューションで件のデータや警告なしでNAのフィルセルはで与え​​られます。機能はうまくいくようです。

関連する問題