10

MySQL サーバーからデータを抽出し (RODBC パッケージを使用)、R でそのデータに対していくつかの統計ルーチンを実行し、生成されたプロットをサーバーに保存して、Web ブラウザーで取得できるようにする手順を作成しようとしています。少しの php と Web マジックを介して。

私の計画は、RODBC パッケージを使用してステートメントへの SQL 挿入を実行することにより、MySQL BLOB フィールドにプロットを保存することです。データを文字列として直接挿入できると思います。問題は、データ文字列を取得するにはどうすればよいですか?これでも機能しますか? 私の最善の考えは、savePlot関数を使用して一時ファイルを保存し、それを何らかの方法で読み戻すことです。

誰もこれを以前に試しましたか、これにアプローチする方法について提案がありますか?

4

3 に答える 3

3

これがひどい考えだと思うかどうかに関係なく、これは私がこの投稿からつなぎ合わせることができた実用的な答えです

## open connection
library(RODBC)
channel <- odbcConnect("")

## generate a plot and save it to a temp file
x <- rnorm(100,0,1)
hist(x, col="light blue")
savePlot("temp.jpg", type="jpeg")

## read back in the temp file as binary
plot_binary <- paste(readBin("temp.jpg", what="raw", n=1e6), collapse="")

## insert it into a table
sqlQuery(channel, paste("insert into test values (1, x'",plot_binary,"')", sep=""))

## close connection
odbcClose(channel)

実装する前に、サーバーのファイル システムを使用するのではなく、これを使用する必要があるかどうかを判断するために、いくつかのソウル サーチを行うようにします。

于 2010-07-20T13:28:32.377 に答える
0

プロットをサーバーに保存し、ファイル名をデータベースに書き込むとうまくいきます。しかし、Rapache と呼ばれるものが役立つかもしれません。さらに、Jeroen Ooms は、Hadley Wickham の有名な R グラフ パッケージ ggplot2 の Web インターフェイスを含む、いくつかのオンラインデモを提供しています。

于 2010-07-21T11:52:20.040 に答える
0

画像をデータベースに保存することは、しばしば嫌われます。R でメモリ内ファイルを作成するには、textConnectionを接続とし​​て使用できます。これにより、文字列が得られます。適切な MIME タイプを設定し、接続をバイナリとして開くことを忘れていなければ機能します。

于 2010-07-19T21:50:45.723 に答える