data.frameのデータをSQLを使って抽出する方法

Rのdata.frame型データは通常

#1〜5個目のレコードを抽出
iris[1:5,]
#Species列の値が"setosa"であるものだけ抽出
subset(iris ,Species=="setosa")

のような形で元のデータフレームの部分集合として抽出するわけですが、どうもこの書き方が苦手。
そして、たまたま今日タイトルにあるようにdata.frame型のデータからSQLでデータ抽出できるパッケージを見つけたのでまとめておく。

その名も"sqldf"・・・そのままですね。
以下、サンプルコード。パッケージは当然install.packagesしておくべし。

library(sqldf)
#さっきの例はこんな感じでやれる。
sqldf("select * from iris limit 5")
sqldf("select * from iris where Species = 'setosa'")

このパッケージにはdata.frameからだけじゃなくてcsvからもSQLで抜ける関数が用意されていた。(read.csv.sql関数)
便利便利。