1

sqldfRMySQLはどちらも、MySQL データベースへのアクセスを許可する R パッケージです (前者は後者を使用します)。どちらも次のようなステートメントを許可します。

RMySQL: "任意の SQL ステートメントを実行し、そのすべての出力を抽出します (data.frame を返します):"

dbGetQuery(con, "select count(*) from a_table")
dbGetQuery(con, "select * from a_table") 

sqldf:

library(sqldf)
sqldf("select * from iris limit 5")
sqldf("select count(*) from iris")
sqldf("select Species, count(*) from iris group by Species")
# create a data frame
DF <- data.frame(a = 1:5, b = letters[1:5])

違いは何ですか?RMySQL にはない sqldf の機能は何ですか?

4

2 に答える 2

9

sqldfSQL ステートメントを発行し、それらをデータ フレームに作用させるために使用されます。 irisはデータベース テーブルではなく、組み込みのデータ セットです。

> head(iris, n=3)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa

sqldfデータベースへの接続には使用されません。

于 2013-02-11T02:56:42.313 に答える
2

データフレームが SQL コマンドの許容可能なターゲットであるという Lundberg による観察に加えてsqldf、SQLite (デフォルト)、H2、MySQL、または postgresSQL の任意の (ディスク常駐) テーブルに反する可能性がある点もあります: https://code .google.com/p/sqldf/

于 2013-02-11T04:11:10.353 に答える