Rの光沢のあるパッケージを使用してオンライン実験を作成しました。 「toss」、「decision」 、および「rating」と呼ばれる3 つの反応値があるとします。
さらに、Amazon Web サービス RDS でMySQLデータベースを立ち上げました。バージョンはMySQL 5.6.22です。
タイムスタンプなどの非反応的な値を MySQL データベースに送信することに成功しました。したがって、問題は Server.R コード内で MySQL と通信するコードをどこに配置するかだと思います。非反応値の場合、コードが反応サーバー関数の外側 (前) にある場合に完全に機能します。しかし、リアクティブな値では、それはどこかにあるはずだと思います。
私はこのコードを試しました:
Server.R
library(shiny)
library(RMySQL)
library(DBI)
con <- dbConnect(MySQL(), dbname="db", username="myname", password="mypassword", host="myhost.com", port=xxxx)
function(input, output, session){
sql <- reactive({
paste("insert into scenario1 (toss, dec, rat, timestamp)
values (",input$toss,",",input$decision,",",input$rating,"now())")
})
result<-reactive({dbSendQuery(con, sql())})
}
この方法では、エラー メッセージは表示されません。したがって、エラーはコード内にある可能性がありますinsert into
。
さらに、使用したパッケージがこの目的に適しているかどうかもわかりません。いろいろ試してみました。SQL クォートから外してリアクティブ値を追加すると、動作が停止します。RMySQL にはその機能が欠けていると思い始めています。insert into
マニュアルには何もありません。
誰かが私が犯した間違いを検出できますか?