我正在尝试将dtplyr应用到SQL Server数据库。
我成功地应用了如下所示的dplyr,但是我不知道如何应用dplyr
我该怎么做?
library(odbc)
library(DBI)
library(tidyverse)
library(dtplyr)
library(dbplyr)
con <- DBI::dbConnect(odbc::odbc(),
Driver = "SQL Server",
Server = "address",
Database = "dbname",
UID = "ID",
PWD = "password")
dplyr::tbl(con, dbplyr::in_schema("dbo", "table1"))
@Waldi的评论抓住了问题的本质。你可以而不是在SQL Server中使用dtplyr,因为它只将命令转换为data.table
对象。
官方dtplyr文档说明:
dtplyr的目标是允许您编写dplyr代码,该代码自动转换为等效的…数据。表代码
官方dbplyr文档说明:
通过自动将dplyr代码转换为SQL,可以将远程数据库表当作内存中的数据帧来使用
dbplyr和dtplyr都翻译dplyr命令。您使用哪一种取决于您是使用data.table
类型的对象(在R内存中)还是远程SQL数据库(无论您喜欢哪种类型的SQL)。