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/1317.html

(0)
打赏 微信打赏,为服务器增加50M流量 微信打赏,为服务器增加50M流量 支付宝打赏,为服务器增加50M流量 支付宝打赏,为服务器增加50M流量
上一篇 03/05/2022 21:08
下一篇 03/06/2022

相关推荐

  • Error in split.default(seq_len(nrow(mat)), split) : group length is 0 but data length > 0

    Error: Error in split.default(seq_len(nrow(mat)), split) : group length is 0 but data length > 0

    R 01/03/2024
    277
  • ggsci:ggplot2科学期刊主题调色板

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

    05/19/2022
    262
  • 在R中安装Git/Github

    1.查看是否安装Git命令: 执行安装命令: which git ## /usr/bin/git 查看 git –version 版本: git –version ## git version 2.35.1 2.Windows系统 安装…

    R 03/05/2022
    179
  • dplyr包筛选数据

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

    03/17/2020
    816
  • R:计算数据框中每一行的标准偏差

    RowSD = function(x) {sqrt(rowSums((x – rowMeans(x))^2)/(dim(x)[2] – 1))}

    R 04/21/2022
    202