17

リレーショナル データベースから引き出したデータについて、ノンパラメトリック統計 (レス、カーネル密度など) を頻繁に作成します。データ管理を容易にするために、R 出力を自分の DB に保存したいと考えています。これは、数値またはテキストの単純なデータ フレームでは簡単ですが、R オブジェクトをリレーショナル データベースに格納する方法がわかりません。たとえば、カーネル密度のベクトルをリレーショナル データベースに格納する方法はありますか?

現在、R オブジェクトをネットワーク ドライブ スペースに保存して、他の人が必要に応じてオブジェクトを読み込めるようにすることで、この問題を回避しています。

4

5 に答える 5

12

シリアライゼーション機能を使用して、任意の R オブジェクトを (生または文字の) 文字列に変換し、その文字列を保存します。を参照してくださいhelp(serialize)

これを逆にして取得します。文字列を取得unserialize()してから、R オブジェクトに入れます。

于 2009-09-08T17:31:52.583 に答える
2

textConnection / saveRDS / loadRDS を使用することは、おそらく最も用途が広く、高レベルです。

zz<-textConnection('tempConnection', 'wb')
saveRDS(myData, zz, ascii = T)
TEXT<-paste(textConnectionValue(zz), collapse='\n')

#write TEXT into SQL
...
closeAllConnections()  #if the connection persists, new data will be appended

#reading back:
#1. pull from SQL into queryResult
...
#2. recover the object
recoveredData <- readRDS(textConnection(queryResult$TEXT))
于 2017-04-20T16:08:52.473 に答える