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関数)
便利便利。