R gzfile输出不完整

时间:2017-07-07 06:38:35

标签: r

我试图从R中的data.frame获取gz输出 我使用了以下脚本:

write.table(res,file = gzfile(newfile,open="wb"),quote = FALSE,sep="\t",row.names = FALSE,col.names = FALSE)

但输出不完整。 但是,如果我不使用gzfile(),输出就可以了。例如:

write.table(res,file =newfile,quote = FALSE,sep="\t",row.names = FALSE,col.names = FALSE)

输出不大,gz格式只有9 MB。我在互联网上找不到原因。我想知道为什么会这样。 谢谢!

1 个答案:

答案 0 :(得分:0)

您正在创建连接并打开它,但您永远不会关闭它。在关闭之前它不会完整。

有两种解决方案:

不要打开连接,让write.table(res,file = gzfile(newfile),quote = FALSE,sep="\t",row.names = FALSE,col.names = FALSE) 打开它:

con <- gzfile(newfile, "wb")
write.table(res,file = con,quote = FALSE,sep="\t",row.names = FALSE,col.names = FALSE)
close(con)

或者,将其保存在变量中,然后明确地将其关闭:

loop