5

データフレームの内容をRDataファイルに書き込もうとしています。

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

2番目のオプションとして、次を使用してみました。

> 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                                    

助言がありますか?

4

2 に答える 2

9

それはハードドライブの問題であることが判明しました。私はスペースがありませんでした。それがメッセージでした。

于 2012-05-22T04:31:02.373 に答える
5

永続化しようとしているオブジェクトは小さくありません。

いずれにせよ、エラーを再現することはできませんでしたが、私が確認できる唯一のソースはオブジェクト サイズです。

データ フレームの中央の列であるrowidはdouble型で、64 ビット整数であるため、この列はオブジェクト サイズの大部分を構成します。これは、この列を他の 2 つの列とは別に永続化することを示唆しています。つまり、それぞれ独自のファイルに永続化された 2 つの別個の 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ファイル を作成します。

保存 (FG1、ファイル = dfile、圧縮 = TRUE、圧縮レベル = 9)

于 2012-05-21T22:32:11.310 に答える