当我以交互方式逐个运行所有块时,带有SQL块的RMarkdown笔记本运行正常,但是当我尝试编织时,SQL块没有将数据保存到指定的变量中。当在以后的R块中引用应该使用SQL块生成的数据集时,数据集变量只是空的。
这是一个例子
{r setup, include=FALSE, warning=FALSE, message=FALSE}
# load necessary libraries
library(bigrquery)
library(knitr)
library(tidyverse)
db <- dbConnect(dbi_driver(), dataset = 'sandbox', project = 'project_id', use_legacy_sql = FALSE)
df <- NULL
```
```{sql, connection=db, output.var=df}
select * from example_dataset
limit 10
```
returns dataset
```{r}
head(df)
```
NULL
我在这里尝试了解决方案(R: Knitr gives error for SQL-chunk),但它并没有解决我的问题。
答案 0 :(得分:4)
刚遇到同样的问题,看起来你需要引用你要分配的变量。
```{sql, connection=db, output.var="df"}
select * from example_dataset
limit 10
```
来源:http://rmarkdown.rstudio.com/authoring_knitr_engines.html#sql