我在ssh服务器上运行R会话,而且我的存储容量有限。我想知道是否有允许压缩的fwrite
实现?类似的东西:
z <- gzfile("file.csv.gz)
fwrite(object, z)
答案 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.raw
与gzfile
连接。否则,您应该使用writeRDS
或fst::write_fst
。