【发布时间】:2014-09-01 15:05:37
【问题描述】:
我有很多大表,它们的起始单元格可能包含多个引号,如下所示:
test.txt-
"abc"" xyz""",123
mno,456
现在fread("test.txt",sep=",",header=F) 抛出一个错误
Error in fread("123.txt", sep = ",", header = F) :
Unexpected character (" nxy) ending field 1 of line 1
它读到这个 test2.txt-
qwe,999
"abc"" nxyz""",123
mno,456
虽然fread("test2.txt",sep=",",header=F) 是正确的。
我需要让它以另一种方式运行。有什么解决办法吗?
@Arun,我尝试从 github 安装 data.table v1.9.3,但出现以下错误,有什么想法吗?谢谢。
> remove.packages("data.table")
Removing package from ‘C:/Users/sidpat/Documents/R/win-library/3.0’
(as ‘lib’ is unspecified)
> install_github("Rdatatable/data.table")
Installing github repo data.table/master from Rdatatable
Downloading master.zip from https://github.com/Rdatatable/data.table/archive/master.zip
Installing package from C:\Users\SIDPAT\AppData\Local\Temp\RtmpUBzt2K/master.zip
Installing data.table
"C:/PROGRA~1/R/R-30~1.3/bin/x64/R" --vanilla CMD build \
"C:\Users\sidpat\AppData\Local\Temp\RtmpUBzt2K\devtoolsc241bb5e2e\data.table-master" \
--no-manual --no-resave-data
* checking for file 'C:\Users\sidpat\AppData\Local\Temp\RtmpUBzt2K\devtoolsc241bb5e2e\data.table-master/DESCRIPTION' ... OK
* preparing 'data.table':
* checking DESCRIPTION meta-information ... OK
* cleaning src
* installing the package to build vignettes
Warning: running command '"C:/PROGRA~1/R/R-30~1.3/bin/x64/Rcmd.exe" INSTALL -l "C:\Users\SIDPAT\AppData\Local\Temp\RtmpKyohpy\Rinst1ee42c4a1653" --no-multiarch "C:/Users/sidpat/AppData/Local/Temp/RtmpKyohpy/Rbuild1ee425057481/data.table"' had status 1
-----------------------------------
* installing *source* package 'data.table' ...
** libs
Warning: running command 'make -f "Makevars" -f "C:/PROGRA~1/R/R-30~1.3/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-30~1.3/share/make/winshlib.mk" SHLIB="data.table.dll" WIN=64 TCLBIN=64 OBJECTS="assign.o bmerge.o chmatch.o dogroups.o fastmean.o fastradixdouble.o fastradixint.o fcast.o fmelt.o forder.o frank.o fread.o gsumm.o ijoin.o init.o rbindlist.o reorder.o uniqlist.o vecseq.o wrappers.o"' had status 127
ERROR: compilation failed for package 'data.table'
* removing 'C:/Users/SIDPAT/AppData/Local/Temp/RtmpKyohpy/Rinst1ee42c4a1653/data.table'
-----------------------------------
ERROR: package installation failed
Error: Command failed (1)
【问题讨论】:
-
我想它对不一致的
sep和糟糕的引用感到不安 -
也有空条目。您的示例的尺寸应该是多少?
-
更多:看起来您应该转置数据。我用
verbose = TRUE看了看,输出中有很好的建议。 -
@RichardScriven,我的数据集的维度是 100,000 行和 10 列。其次,我从一个我无法控制的外部源接收数据,所以在读入之前不能转置,你能用 verbose=TRUE 解释你上面提到的建议吗
-
@510947,你能试试 [这里](github.com/Rdatatable/data.table) 的开发版本 1.9.3。它对我有用。
标签: r data.table fread