对于我的一个任务,我必须使用dplyr从已加载到R的SQL数据库中选择/过滤信息。我已成功连接到数据库但我无法使用dplyr对表进行排序。
这是我的代码:
library(DBI)
library(RMySQL)
library(dplyr)
conn <- dbConnect(RMySQL::MySQL(), "richardtwatson.com",
dbname="ClassicModels", user="student", password="student")
t <- select(conn, customerNumber.Customers)
我一直收到此错误消息:
UseMethod(“select_”)出错: 没有适用于'select_'的方法应用于类“c('MySQLConnection','DBIConnection','DBIObject')”的对象。
如果有人可以引导我朝着正确的方向发展,那么我是R编程的新手。谢谢!
如果您想通过ODBC / DBI而不是SQL使用dplyr语法:
t <- tbl(conn, 'some_table')
t %>% select(some_col_1, some_col_2) %>% filter(some_col == 'some_crit')
查询表dbDisconnect(conn)
在运行服务器之前,此方法将dplyr转换为SQL。我找到一些操作,你需要先转换为tibble %>% as_tibble()
您必须使用DBI包中的函数来发送或获取查询,并使用SELECT在函数中记下SQL查询。这里的例子:https://db.rstudio.com/dbi/
conn <- dbConnect(RMySQL::MySQL(),
"richardtwatson.com",dbname="ClassicModels", user="student", password="student")
t <- dbGetQuery(conn, "SELECT * FROM customerNumber.Customers")