R语言dbplyr包实现R与SQL语句无缝衔接

注:并不支持所有R函数语句转换为SQL,例如:dplyr包的with_groups

1、cop_to函数

适用于少量数据复制到数据库(通常创建为临时表),然后使用R语句计算并转换为SQL语句;

不建议直接复制数据到库再进行操作,大量数据复制会耗费较长时间,使用src_memdb将极大节省时间(并不会创建新的数据在R中,而是存储在src_memdb)。

copy_to(
  src_x,#远程数据源链接,例如src_postgres,src_sqlite
  df,#需要复制的数据
  name = deparse(substitute(df)),#复制到库中的名字
  overwrite = FALSE,#是否为复写
  temporary = TRUE,#是否创建为临时表
)
#将数据复制到src_memdb中
test_data_db <- copy_to(src_memdb(),df=test_data,temporary=TRUE,overwrite=TRUE)

#新的的数据计算方法无缝转换为SQL语句
test_data_db %>%mutate(date_change=as_date(var1)) %>% 
  filter(date_change>="value") %>% 
  group_by(var2) %>% summarise(num=n_distinct(var3)) %>%
  show_query()
#转换结果
SELECT `var2`, COUNT(DISTINCT `var3`) AS 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LEEBELOVED

一分钱都是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值