在R中使用dbConnect时,是否可以将数据帧存储为表?
目前,我正在利用dbConnect加速将数据加载到R中。我以前使用在R中使用dbConnect时,是否可以将数据帧存储为表?,r,google-bigquery,r-markdown,R,Google Bigquery,R Markdown,目前,我正在利用dbConnect加速将数据加载到R中。我以前使用bq_project_query和bq_table_download从我公司的数据库执行和上传数据。我转换为dbConnect来存储更轻的数据帧,并使用dplyr远程执行查询。下面是我列出的步骤,我感到困惑的是无法从数据库连接保存数据帧。请参阅下文以了解更多信息 1。连接到数据库和项目空间(无问题) 我没有理解的是,我将bus_day_子集保存为数据帧,甚至可以打印出来 但是,我的环境仍然将其存储为列表。dbConnect不允许
bq_project_query
和bq_table_download
从我公司的数据库执行和上传数据。我转换为dbConnect来存储更轻的数据帧,并使用dplyr远程执行查询。下面是我列出的步骤,我感到困惑的是无法从数据库连接保存数据帧。请参阅下文以了解更多信息
1。连接到数据库和项目空间(无问题)
我没有理解的是,我将bus_day_子集保存为数据帧,甚至可以打印出来
但是,我的环境仍然将其存储为列表。dbConnect不允许您创建数据帧吗
library(DBI)
billing <-'your project space'
con <- dbConnect(
bigrquery::bigquery(),
project = "aproject space",
dataset = "dataset",
billing = billing
)
overprom_df <- tbl(con, "table name")
overprom_df <- overprom_df %>%
mutate(BUS_DAY_DIFF_ADJ = ifelse(BUS_DAY_DIFF <= -4, -4, ifelse(BUS_DAY_DIFF >= 4,4,BUS_DAY_DIFF))) %>%
mutate(CAL_DAY_DIFF = E2E_CAL_DAYS - E2E_PROMISE_CAL_DAYS) %>%
mutate(CAL_DAY_DIFF_ADJ = ifelse(CAL_DAY_DIFF <= -4, -4, ifelse(CAL_DAY_DIFF >= 4,4, CAL_DAY_DIFF)))
bus_day_subset <- overprom_df %>%
group_by(BUS_DAY_DIFF_ADJ) %>%
summarize(ORDER_CNT_BUS = n_distinct(ORD_TRACK_KEY)) %>%
mutate(total_bus = sum(ORDER_CNT_BUS)) %>%
mutate(pct_total_bus = ORDER_CNT_BUS/total_bus * 100) %>%
distinct()
bus_day_subset <- bus_day_subset %>%
select(BUS_DAY_DIFF_ADJ, ORDER_CNT_BUS, pct_total_bus, total_bus)
Error: `select()` doesn't handle lists.