R:Knitr 为 SQL-chunk 提供错误

Z11*_*117 3 sql eval r knitr

我想编织我的 R-markdown 的输出,其中包括几个 SQL 块。但是,如果我开始编织,则会收到错误消息:

Line 65     Error in eval(expr, envir, enclos) : object 'pp_dataset' not found Calls: <Anonymous> ... process_group.block -> call_block -> eval_lang -> eval Execution halted
Run Code Online (Sandbox Code Playgroud)

我不知道发生了什么,因为如果我只运行这个块(从第 64 行开始),那么它工作正常。

从第 64 行开始的块如下所示:

```{sql, connection=con, output.var=pp_dataset, error=TRUE, echo=FALSE, include=TRUE}
SELECT
(...)
order by 1,2
```
Run Code Online (Sandbox Code Playgroud)

我尝试了几个针织选项,如 error=TRUE/FALSE、echo=TRUE/FALSE 和 include=TRUE/FALSE,但这不起作用。任何人都知道出了什么问题?

小智 5

看起来您需要在 rchunk 选项中引用数据集名称:

```{sql, connection=con, output.var="pp_dataset", error=TRUE, echo=FALSE, 
include=TRUE}
SELECT
(...)
order by 1,2
```
Run Code Online (Sandbox Code Playgroud)

来源:http : //rmarkdown.rstudio.com/authoring_knitr_engines.html#sql 我也在这篇文章中回答了这个问题。我不确定协议,因为答案是相同的。