sqldf和rmysql之间的区别?

Ste*_*ett 1 r rmysql sqldf

sqldfRMySQL都是R包,允许访问MySQL数据库(前者使用后者).它们都允许这样的语句:

RMySQL:"运行任意SQL语句并提取其所有输出(返回data.frame):"

dbGetQuery(con, "select count(*) from a_table")
dbGetQuery(con, "select * from a_table") 
Run Code Online (Sandbox Code Playgroud)

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])
Run Code Online (Sandbox Code Playgroud)

那有什么区别?sqldf提供的RMySQL没有提供什么?

Mat*_*erg 9

sqldf用于发出SQL语句,并使它们对数据帧起作用. 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
Run Code Online (Sandbox Code Playgroud)

sqldf 不用于连接数据库.