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

1、cop_to函数

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

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

copy_to(src_x,#远程数据源链接,例如src_postgres,src_sqlitedf,#需要复制的数据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 `num`
FROM (SELECT `var2`, `var4`, `var3`, `var5`, `var1`, `var6`, CAST(`var1` AS DATE) AS `date_change`
FROM `test_data`)
WHERE (`date_change` >= 'value')
GROUP BY `var2`

2、memdb_frame、tbl_memdb函数

作用与copy_to相同,直接创建存储至src_medb

iris_db <- tbl_memdb(iris)iris_db %>% group_by(Species) %>% summarise(across(everything(),list(max=max,min=min,median=median))) %>% show_query()
#输出结果
SELECT `Species`, MAX(`Sepal.Length`) AS `Sepal.Length_max`, MIN(`Sepal.Length`) AS `Sepal.Length_min`, MEDIAN(`Sepal.Length`) AS `Sepal.Length_median`, MAX(`Sepal.Width`) AS `Sepal.Width_max`, MIN(`Sepal.Width`) AS `Sepal.Width_min`, MEDIAN(`Sepal.Width`) AS `Sepal.Width_median`, MAX(`Petal.Length`) AS `Petal.Length_max`, MIN(`Petal.Length`) AS `Petal.Length_min`, MEDIAN(`Petal.Length`) AS `Petal.Length_median`, MAX(`Petal.Width`) AS `Petal.Width_max`, MIN(`Petal.Width`) AS `Petal.Width_min`, MEDIAN(`Petal.Width`) AS `Petal.Width_median`, MAX(`Species`) AS `Species_max`, MIN(`Species`) AS `Species_min`, MEDIAN(`Species`) AS `Species_median`
FROM `iris`
GROUP BY `Species`

3、remote_x一类函为数据库中的类似函数操作

例如:remote_query函数—查看数据库中R语句的SQL查询语句

remote_query_plan函数—查看语句的执行计划

4、tbl_lazy、lazy_frame函数

转换原有数据,无需实际连接数据库,直接可转换后生成SQL,并提供了多种数据库后端simiulate_数据库简称(MySQL/MariaDB,ODBC,Oracle,PostgreSQL,Redshift等)可供转换成对应的库的函数查询语句

iris_db <-lazy_frame(iris,con=simulate_mysql())iris_db %>%group_by(Species) %>% tally() %>% show_query()
#输出结果:
SELECT `Species`, COUNT(*) AS `n`
FROM `df`
GROUP BY `Species`

R语言dbplyr包实现R与SQL语句无缝衔接相关推荐

  1. R语言pacman包管理R编程语言需要的包实战:使用p_load函数安装和加载多个R包、使用p_unload函数卸载多个R包、使用p_update函数更新过期的R包

    R语言pacman包管理R编程语言需要的包实战:使用p_load函数安装和加载多个R包.使用p_unload函数卸载多个R包.使用p_update函数更新过期的R包 目录

  2. 数据分析必备:掌握这个R语言基础包1%的功能,你就很牛了

    导读:无论数据分析的目的是什么,将数据导入R中的过程都是不可或缺的.毕竟巧妇难为无米之炊. utils包是R语言的基础包之一.这个包最重要的任务其实并不是进行数据导入,而是为编程和开发R包提供非常实用 ...

  3. R语言dplyr包超完整版函数指南

    R语言dplyr包的使用 一.常用函数功能速查 二.常用函数详解 iris数据集 1. 取子集 filter/distinct slice select 2. 窗口函数 3. 连接合并 left_jo ...

  4. r语言 bsda包_使用R语言creditmodel包进行Vintage分析或留存率分析

    1 什么是vintage分析? Vintage分析(账龄分析法)被广泛应用于信用卡及信贷行业,这个概念起源于葡萄酒,即不同年份出产的葡萄酒的品质有差异,那么不同时期开户或者放款的资产质量也有差异,其核 ...

  5. R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等

    R语言caret包构建机器学习回归模型(regression model).使用DALEX包进行模型解释分析.特征重要度.偏依赖分析等 目录

  6. R语言数据包自带数据集之ISwR包的melanom数据集字段解释、数据导入实战

    R语言数据包自带数据集之ISwR包的melanom数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之ISwR包的melanom数据集字段解释.数据导入实战 #数据字段说明 #导入包 #导入数 ...

  7. R语言数据包自带数据集之survival包的colon数据集字段解释、数据导入实战

    R语言数据包自带数据集之survival包的colon数据集字段解释.数据导入实战 #数据字段说明 colon数据集:B/C期结肠癌辅助化疗治疗数据 d # 患者编号 study # 所有患者都是1 ...

  8. R语言数据包自带数据集之survival包的lung数据集字段解释、数据导入实战

    R语言数据包自带数据集之survival包的lung数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之survival包的lung数据集字段解释.数据导入实战 #数据字段说明 #导入包 #导 ...

  9. R语言数据包自带数据集之ToothGrowth数据集字段解释、数据导入实战

    R语言数据包自带数据集之ToothGrowth数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之ToothGrowth数据集字段解释.数据导入实战 #数据字段说明 #导入包 #导入数据 #数 ...

最新文章

  1. Js时间格式[转载]
  2. Web 数据存储总结
  3. python生成指定长度的列表_python – 如何将列表或字符串解析为固定长度的块
  4. chrome调试工具常用功能整理
  5. “你们对编程和头发一无所知。”
  6. C语言学习之1到10的奇数相乘1到10的偶数相乘
  7. c替换指定位置字符串_【JavaScript】字符串
  8. 死链提交为什么不能提交 html文件,百度提交网站后死链一直未处理掉的原因有哪些?...
  9. 动态规划____编辑距离
  10. python如何用色度表示数值大小_python入门004数字(例程界面很清晰大小也合适)
  11. Android MediaRecorder调用AudioRecord流程
  12. 反向代理——Nginx
  13. PingCAP,中国第一只开源独角兽总融资达3.4亿美元,不能错过的开源深度解析
  14. 速读原著-TCP/IP(SNMP示例)
  15. 理解目标检测里的Anchor-based和Anchor-free
  16. struts2架构网站漏洞修复详情与利用漏洞修复方案
  17. ioi 赛制_杨骏昭IOI2019参赛总结
  18. 目标检测单阶段、双阶段检测框部分学习总结
  19. 物联网 DFrobot 掌控版的使用 智能灯和MQTT
  20. 操作系统中四步法实现PV操作

热门文章

  1. 婚纱纪实类照片调色思路 教你PS洋气的油画效果
  2. 攻防世界逆向高手题之reverse-for-the-holy-grail-350
  3. POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”
  4. Codesys电子凸轮表的规划与凸轮曲线的拟合
  5. 尤雨溪:Vue3 将在2022年2月7日成为新的默认版本(你准备好了吗?)
  6. 型号不同的计算机内存条可以通用么,不同频率的内存条可以混用吗
  7. 解决hadoop:未找到命令;hadoop:未找到命令问题
  8. 用python完成商品的名称、价格表显示,用户选择商品并统计结果
  9. STM32与中显串口屏的通信
  10. 磁珠 符号_(整理)贴片磁珠规格