2017-07-07 72 views
0

我试图从R. 我用下面的脚本data.frame得到GZ输出:[R gzfile输出是不完整的

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

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

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

输出并不大,只有9 MB在广州form.I没有找到internet.I的原因不知道为什么,这可能happern。 谢谢!

回答

0

您正在创建连接并将其打开,但您永远不会关闭它。直到关闭才会完成。

解决办法有两个:

不要打开连接,让write.table打开它:

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)