【发布时间】:2012-12-22 22:19:54
【问题描述】:
我正在尝试将数据框写入 gzip 文件但遇到问题。
这是我的代码示例:
df1 <- data.frame(id = seq(1,10,1), var1 = runif(10), var2 = runif(10))
gz1 <- gzfile("df1.gz","w" )
writeLines(df1)
writeLines(df1)中的错误:“文本”参数无效
有什么建议吗?
编辑: 我正在尝试编写的字符向量的示例行是:
0 | var1:1.5 var2:.55 var7:1250
类标签 / y 变量通过“|”与 x-vars 分隔,变量名称与值通过“:”和变量之间的空格分隔。
编辑2: 对于问题的措辞/格式,我深表歉意,但结果如下: 老方法:
system.time(write(out1, file="out1.txt"))
# user system elapsed
# 9.772 17.205 86.860
新方法:
writeGzFile <- function(){
gz1 = gzfile("df1.gz","w");
write(out1, gz1);
close(gz1)
}
system.time( writeGzFile())
# user system elapsed
# 2.312 0.000 2.478
非常感谢大家帮我解决这个问题。
【问题讨论】:
-
在 Rhelp 上经常被问到:“你想解决什么问题”。
-
提示:@DWin 评论的答案不是“如何将数据框写入 gzip 文件?”
-
更长的问题是“从 R 中写入 .txt 文件或 .gz 文件是否更快?”
-
这取决于你的字符串有多长。在计算机方面,无论您的 CPU 还是 I/O 都是瓶颈。将大文件写入快速磁盘比在慢速 CPU 上计算压缩形式要快。
-
我希望得到“以
save以外的方式处理 R 数据对象的目的”这个问题的答案?你需要它被 R 以外的程序读取吗?
标签: r zip compression gzip vowpalwabbit