可以使用`data.table`和fzfile的fwrite吗?

时间:2017-03-14 14:15:39

标签: r compression data.table

我在ssh服务器上运行R会话,而且我的存储容量有限。我想知道是否有允许压缩的fwrite实现?类似的东西:

z <- gzfile("file.csv.gz)
fwrite(object, z)

3 个答案:

答案 0 :(得分:8)

UPDATE :自2019年10月3日起,以下更改也在CRAN上发布(从1.12.4版开始),因此现在一个简单的#nav { position: fixed; top: 0; right: 0; left: 0; height: 50px; background-color: blue; color: #fff; } #content { position: fixed; top: 50px; left: 0; display: flex; width: 100%; height: calc(100% - 50px); overflow-y: auto; background-color: yellow; } #sidenav { width: 250px; height: 100%; background-color: green; } #menu { min-height: 500px; background-color: red; }就足够了。

data.table现在直接支持<html> <head> </head> <body> <div id="nav">topnav</div> <div id="content"> <div id="sidenav"> <div id="menu">sidenav</div> <div>footer1<br/>footer2<br/>footer3<br/>footer4<br/></div> </div> content </div> </body> </html>压缩的csvs。截至2019年8月28日,它尚未在CRAN上发布,但您可以通过从GitHub安装来获取它:

install.packages("data.table")

答案 1 :(得分:3)

您可以在R.utils中使用gzip函数:

library(R.utils)
library(data.table)

#Write gzip file
df <- data.table(var1='Compress me',var2=', please!')
fwrite(df,'filename.csv',sep=',')
gzip('filename.csv',destname='filename.csv.gz')`

# Read gzip file
fread('gzip -dc filename.csv.gz')
          var1      var2
1: Compress me , please!

答案 2 :(得分:0)

data.table::fwrite不支持连接。如果您确实需要附加数据,请使用iotools::write.csv.rawgzfile连接。否则,您应该使用writeRDSfst::write_fst