2

RMySQLを使用して、データベースからRのデータフレームにデータをロードしたいと思います。このために、次のコードを使用しています。

Rconnectdb:

con <- dbConnect(MySQL(),
user="root", password="password",
dbname="prediction", host="localhost")

メインコード

library(RMySQL)
source("Rconnectdb") #load the database connection
query = "select received,isRefound from message" #specify query
rs=dbGetQuery(con,query) #resultset
dataset <- fetch(rs, n=-1) #fill dataset with all rows of the resultset
dbClearResult(rs) #clear resultset

これを実行すると、次のエラーが発生します

関数(classes、fdef、mtable)のエラー:署名 "data.frame"、"numeric"の関数"fetch"の継承されたメソッドが見つかりません

何か案は?

4

1 に答える 1

6

あなたはと間違えdbSendQueryていdbGetQueryます。
dbGetQueryを組み合わせて、dbSendQueryドキュメントに従って:fetchdbClearResult

この関数dbSendQueryは、SQLステートメントをデータベースエンジンに送信して同期的に実行するだけです。レコードは抽出されません。そのため、関数を使用する必要があります(必要なレコードのフェッチが終了しfetchたら、必ず呼び出してください)。dbClearResult

この関数dbGetQueryは、これらすべてを1つの操作で実行します(ステートメントを送信し、すべての出力レコードをフェッチして、結果セットをクリアします)。

?dbGetQueryパッケージからDBI

于 2013-02-07T09:29:07.310 に答える