R:使用R连接数据库处理数据

1.数据库连接

library(DBI)

library(dplyr)

library(dbplyr)

library(odbc)

con <- dbConnect(odbc::odbc(), "Oracle DB")

2.使用DBI查询数据库

dbGetQuery(con,'

select "month_idx", "year", "month",

sum(case when "term_deposit" = \'yes\' then 1.0 else 0.0 end) as subscribe,

count(*) as total

from "bank"

group by "month_idx", "year", "month"

')

3.使用 dplyr 语法查询

q1 <- tbl(con, "bank") %>%
  group_by(month_idx, year, month) %>%
  summarise(
    subscribe = sum(ifelse(term_deposit == "yes", 1, 0)),
    total = n())
show_query(q1)

4.R Notebooks查询

“`{sql, connection=con, output.var = “mydataframe”}

SELECT "month_idx", "year", "month", SUM(CASE WHEN ("term_deposit" = 'yes') THEN (1.0) ELSE (0.0) END) AS "subscribe",
COUNT(*) AS "total"
FROM ("bank") 
GROUP BY "month_idx", "year", "month"
```
```{r}
library(ggplot2)
ggplot(mydataframe, aes(total, subscribe, color = year)) +
  geom_point() +
  xlab("Total contacts") +
  ylab("Term Deposit Subscriptions") +
  ggtitle("Contact volume")
```
bankggplot

5.三种查询方式比较

方法 比较
  1. DBI::dbGetQuery
  • Fewer dependencies required
  1. dplyr syntax
  • Use the same syntax for R and database objects
  • No knowledge of SQL required
  • Code is standard across SQL variants
  • Lazy evaluation
  1. R Notebook SQL engine
  • Copy and paste SQL – no formatting required
  • SQL syntax is highlighted

如若转载,请注明出处:https://www.ouq.net/rmysqldatabase2022.html

(0)
打赏 微信打赏,为服务器增加100M流量 微信打赏,为服务器增加100M流量 支付宝打赏,为服务器增加100M流量 支付宝打赏,为服务器增加100M流量
上一篇 2022年3月5日 下午9:08
下一篇 2022年3月6日 下午12:57

相关推荐

  • R:字符大小写转换

    R:字符大小写转换 >x = “CAGGGT” #定义字符串变量x >tolower(x) [1] “caggt” #将…

    R 2021年8月10日
    223
  • dplyr包筛选数据

    dplyr与安装 dplyr是一个强大的R软件包,用于处理,清理和汇总非结构化数据。简而言之,它使得R中的数据探索和数据操作变得简单快捷。 最简单的方法是安装 tidyverse包…

    2020年3月17日
    737
  • 利用R语言批量创建、移动、删除、修改文件

    1.如何获取和更改当前工作目录 # 获取当前目录getwd() # 设置工作目录setwd(“C:/Users”) 2.创建文件和目录 可以使用dir.cr…

    2020年4月9日
    2.5K
  • ggsci:ggplot2科学期刊主题调色板

    1.介绍 ggsci 提供一系列高质量的调色板,其灵感来自于科学期刊、数据可视化图书馆、科幻电影和电视节目中使用的颜色。.The color palettes in ggsci a…

    9小时前
    2
  • SCENIC:cisTarget databases数据库下载

    List of databases for the cisTarget family of tools (e.g. RcisTarget, SCENIC/pySCENIC, and…

    R 2022年3月21日
    107