“knitr”能否抑制sql块中的执行或输出?
下面的文档运行sql并显示结果。我不希望通过不运行区块或隐藏输出来显示任何输出 有办法做到这一点吗“knitr”能否抑制sql块中的执行或输出?,r,knitr,R,Knitr,下面的文档运行sql并显示结果。我不希望通过不运行区块或隐藏输出来显示任何输出 有办法做到这一点吗 --- output: html_document --- ## Hide SQL Output First, set up a temporary database: ```{r} library(RSQLite) conn <- dbConnect(SQLite(), tempfile()) df <- data.frame(value = runif(1)) dbWrite
---
output: html_document
---
## Hide SQL Output
First, set up a temporary database:
```{r}
library(RSQLite)
conn <- dbConnect(SQLite(), tempfile())
df <- data.frame(value = runif(1))
dbWriteTable(conn, "TestTable", df)
```
Now show a query, but try not to run it, and try
to hide the output. Neither works: it runs, and
displays the table.
```{sql connection = conn,results="hide",eval=FALSE}
SELECT * FROM TestTable;
```
---
输出:html\u文档
---
##隐藏SQL输出
首先,建立一个临时数据库:
```{r}
图书馆(RSQLite)
康涅狄格州我找到了一个解决办法。如果我使用mysql
引擎而不是sql
引擎,那么至少eval=FALSE
可以工作:
```{mysql eval=FALSE}
SELECT * FROM TestTable;
```
将显示带有语法高亮显示的代码,但不执行任何操作
我不知道是否也支持results=“hide”
,因为我没有安装mysql。如果您只想显示SQL代码,您可以使用''SQL
而不是'{SQL}
(StackOverflow不支持文字反勾号,所以在这里用反勾号替换单引号)。只有后者被视为R代码块。前者是Markdown中的普通代码块。谢谢,我不知道。它在这里不起作用(因为我想在一个页面上显示代码,在下一个页面上执行代码而不显示,也不重复所有代码),但在许多情况下都可以解决类似的问题。顺便说一句,对于其他人:Yihui刚刚接受了一个pull请求,将eval=FALSE
和results=“hide”
添加到sql引擎支持的选项中。我明白了。这很有道理。欢迎你接受自己的答案。