0

我在使用 readr 包读取大文件(接近 2000000 行)时遇到问题。

为什么我要使用 readr 包。我的数据文件可以包含停止执行的 ASCII 控制字符(0x01 等于 ascii 26 等于 CTRL+Z),read.table()我注意到readr包对这个问题不敏感。

我的文件有不同的行长度,因此fill=TRUE如果我可以使用read.table().

我尝试使用read_tablereadr 包但没有成功,因为它似乎找不到空格作为列分隔符。

我尝试使用read_delim. 与代码read_delim(file,delim=" ")。找到了分隔符,但第一行被认为是我的数据帧的主要长度,因此较长的行被截断。

有人给点建议吗?

4

1 回答 1

0

我使用以下代码成功地将我的数据(从名为 file 的文件)收集到数据框(rtcm1)中:

 #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 填充单元格,但它似乎运行良好。

于 2016-05-13T14:37:00.607 回答