knitr sql chunk没有将数据保存到变量中

时间:2017-08-07 22:36:45

标签: sql r google-bigquery rstudio knitr

当我以交互方式逐个运行所有块时,带有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),但它并没有解决我的问题。

1 个答案:

答案 0 :(得分:4)

刚遇到同样的问题,看起来你需要引用你要分配的变量。

```{sql, connection=db, output.var="df"}
select * from example_dataset
limit 10
```

来源:http://rmarkdown.rstudio.com/authoring_knitr_engines.html#sql