1

私はRを初めて使用し、1つの問題に悩まされています。例を挙げて説明します。

私はPHPでRを使用しています。線形回帰を計算するRスクリプトが1つあります。

reg_result <- lm( Y ~ A1 + A2 + A3, data=query_result)

そして、私は次のような回帰結果reg_resultを使用していますprediction

predict(reg_result, another_dataframe, interval="predict", level = 0.20)

それは非常にうまく機能します。

しかし、私の問題は、1時間ごとなど、いくつかの時間間隔で使用predictする必要があることです。reg_result

それで、reg_result後でそれを使用するために回帰の結果を永続化できる方法はありますか?

私はRMySQLを使用しましたが、回帰の結果をmysqlに保存する方法がわかりません。

どんな助けでも大歓迎です。

また、必要に応じて詳細を提供できます。

編集:MySQL blob RMySQLでRオブジェクトを保存することは可能ですか?私がグーグルで見つけたようにCurrently there are no facilities to import/export BLOBs. in RMySQL

4

2 に答える 2

2

私が行ったこと(RODBCを使用していますが、これは細部です)は、lmオブジェクトから回帰係数を抽出することです(y〜xの場合)。

intercept = lm$coefficients[["(Intercept)"]]
slope = lm$coefficients[["x"]])

次に、これらの係数をデータベーステーブルに格納し、後で、predictメソッド(のようなf <- function(x) { intercept + slope*x })の代わりに、テーブルの値を使用して線形関数を使用して予測します。

于 2012-07-20T10:34:19.423 に答える
2

ROLOが提供するソリューションは非常に優れており、必要なものと同じように機能します。

しかし、私はそれをより簡単にするために他の方法を採用しました。

1)結果をバイナリファイルに保存しました

reg_result <- lm( Y ~ A1 + A2 + A3, data=query_result)
saveRDS(reg_result,"example.dat");

2)必要に応じてロードされます

reg_result <- readRDS("example.dat", refhook = NULL);
predict(reg_result, another_dataframe, interval="predict", level = 0.20)

回帰結果をバイナリファイルに保存し、必要に応じて取得する方法について、他の誰かが役立つことを願っています。

于 2012-07-24T06:22:07.623 に答える