我有一些看起来像这样的数据:
myDat <- data.frame(V1=rnorm(1000),
V2=sample(LETTERS, 1000, replace=TRUE),
V3=sample(1:1000, 1000))
write.table(myDat, file="myData.txt", sep="|", quote=FALSE, col.names=FALSE, row.names=FALSE)
write("00001000 RECORDS", file="myData.txt", append=TRUE) # This is the annoying footer
请注意底部始终存在的页脚。 我想在使用sqldf时阅读它。像这样:
f <- file("myData.txt")
hkFile <- sqldf("SELECT * FROM f", dbname=tempfile(),
file.format=list(header=FALSE, sep="|", eol="\n"))
由于附加到数据的页脚,我一直收到此错误:
Error in .local(conn, name, value, ...) :
RS_sqlite_import: myData.txt line 1001 expected 3 columns of data but found 1
是否有简单的方法绕过页脚?将数据复制到临时文件不是一种选择,因为我的一些数据集是~6GB
答案 0 :(得分:1)
仅仅因为文件很大并不一定意味着你无法复制它。
这样做但会透明地复制文件。
head
在Windows上,它假定已经安装了Rtools,在这种情况下,通常它将能够找到filter = "C:/Rtools/bin/head -n - 1"
但是如果没有提供路径,例如head
。如果在Linux上,则{{1}}应该已经可用。