R无法写入csv或RData文件

时间:2012-05-21 18:51:56

标签: r csv save

我正在尝试将数据帧的内容写入RData文件。

> save(collector2, file="collect2.RData")
Error in save(collector2, file = "collect2.RData") : 
  error writing to connection

作为第二个选项,我尝试使用:

> write.csv(collector2, file="collect2.csv", row.names=FALSE)

这会执行并创建一个文件,但它是空的。

这是我要写的数据框:

> head(collector2)
          adQuer1     rowid adQueravg
1 2485651|2284211 132000001 0.0000000
2      20888541|7 132000002 0.0152358
3      20888541|7 132987430 0.0152358
4      20888541|7 132595958 0.0152358
5      20888541|7 132621111 0.0152358
6      20888541|7 132464740 0.0152358
> str(collector2)
'data.frame':   17639105 obs. of  3 variables:
 $ adQuer1  : Factor w/ 7241603 levels "1000467|130715",..: 430440 229948 229948 229948 229948 229948 229948 229948 229948 229948 ...
 $ rowid    : num  1.32e+08 1.32e+08 1.33e+08 1.33e+08 1.33e+08 ...
 $ adQueravg: num  0 0.0152 0.0152 0.0152 0.0152 ...

这是我的系统信息:

> version
               _                            
platform       x86_64-unknown-linux-gnu     
arch           x86_64                       
os             linux-gnu                    
system         x86_64, linux-gnu            
status                                      
major          2                            
minor          15.0                         
year           2012                         
month          03                           
day            30                           
svn rev        58871                        
language       R                            
version.string R version 2.15.0 (2012-03-30)
nickname                                    

有什么建议吗?

2 个答案:

答案 0 :(得分:6)

原来这是硬盘问题。我太空了,这就是信息。

答案 1 :(得分:5)

你试图坚持的对象不小。

无论如何,我无法重现错误,但是对象大小是我能看到的唯一可能的来源。

数据框中的中间列 rowid 是类型 double ,它们是64位整数,因此该列包含大部分对象大小。这表明将该列与其他两个分开保存< - >,即两个独立的RData对象,每个对象都持久保存到自己的文件中。

其次,可以通过将适当的参数传递给 保存

来尝试 压缩

数据框大约有。 300K行和9列,我使用 gzip 压缩将RData对象的大小减少了一点大于1/2

一个9列x约的数据帧。 300,000行

> dim(FG1)
[1] 282816      9

> dfile = "fg1.RData"


创建一个131 KB的 RData 文件:

  

保存(FG1,文件= dfile)


创建一个66 KB大小的 RData 文件:

  

save(FG1,file = dfile,compress = TRUE,compression_level = 9)