sqldfクエリからR関数を呼び出す方法はありますか?例えば。sqldfクエリからR関数を呼び出す
sqldf("select paste('Hello', 'World')")
または、sqldfの背後にあるSQLiteエンジン内にカスタム関数またはストアドプロシージャを定義する方法はありますか? (普通のメモリ内のRデータフレームでsqldfを使用していますが、実際のデータベースに接続していません)
sqldfクエリからR関数を呼び出す方法はありますか?例えば。sqldfクエリからR関数を呼び出す
sqldf("select paste('Hello', 'World')")
または、sqldfの背後にあるSQLiteエンジン内にカスタム関数またはストアドプロシージャを定義する方法はありますか? (普通のメモリ内のRデータフレームでsqldfを使用していますが、実際のデータベースに接続していません)
1)既存の関数最初に、必要な機能が使用できないことを確認します。たとえば、問題のコードは、直接、既にSQLでサポートされています。
> sqldf("select 'Hello' || ' ' || 'world' ")
'Hello' || ' ' || 'world'
1 Hello world
2)RSQLite.extfuns一つはsqliteののSQLのバージョンプラスのうち、ユーザ定義関数の数が多いから、すべてのSQL機能を持っていますRSQLite.extfunsパッケージ(sqldfによって自動的に読み込まれます)の中のボックス。
3)その他のロード可能な拡張子既存のsqliteロード可能な拡張機能の関数は、sqlite SQL関数load_extension()
を使用してロードできます。例えばthese extensions
4)カスタム関数カスタム関数は、SQLiteのに追加することができますが、それらはin Cを記述する必要がありますを参照してください。
5)PostgreSQLの& sqldf sqldfだけsqliteのないサポートだけでなく、PostgreSQLとMySQLをh2を。 postgresqlはこの点で特に強力です。 this link from the postgresql documentationを参照してください。Pl/RおよびR Embedded Postgres packageも参照してください。
6)H2 & sqldf H2データベースはsqldfでサポートされています。 RH2ドライバのRパッケージには、sqlite H2のようにH2が含まれているので、別のデータベースをインストールする必要はありません。ただし、Javaをインストールする必要があります。これは組み込みのSHA256ハッシュ関数(ハッシュと呼ばれる)を持っています。
7)& R SQL sqldf混ぜるとRは次のように混合することができる:H2上の情報を追加:
library(digest)
transform(sqldf("select * from BOD"), digest = sapply(demand, digest))
8)その他このSO question and answers
UPDATEを参照してください。
組み込みのSQLite関数ではなくR関数を使う理由は何ですか? – joran
答えは簡単だと思います。 – nograpes
joran:実際に私が興味を持っているのは、MD5ハッシュを計算するためのダイジェストRパッケージからのdigest()です。 –