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)
打赏 微信打赏,为服务器增加50M流量 微信打赏,为服务器增加50M流量 支付宝打赏,为服务器增加50M流量 支付宝打赏,为服务器增加50M流量
上一篇 03/05/2022 21:08
下一篇 03/06/2022

相关推荐

  • R:计算data.frame数据row均值

    R计算data.frame行row平均方法有2种 :rowMeans()和apply() 创建data.frame,计算平均分Avg_score df1 = data.frame(…

    03/20/2020
    153
  • dplyr包筛选数据

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

    03/17/2020
    465
  • R:字符大小写转换

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

    R 08/10/2021
    77
  • R:gene symbol与id转换

    利用R将gene symbol与id转换 安装所需包 if (!requireNamespace(“BiocManager”, quietly = TRUE…

    03/16/2020
    363
  • rconfig:在命令行管理 R 配置

    Configuration management using files (JSON, YAML, separated text), JSON strings, and comma…

    R 04/01/2022
    150