首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在中抑制sqldf消息?

如何在中抑制sqldf消息?
EN

Stack Overflow用户
提问于 2015-09-23 03:40:48
回答 1查看 449关注 0票数 1

我有一个调用sqldf包的R代码块。当我将Rmd编织成HTML时,HTML会打印并显示sqldf代码。我该如何隐藏/压制它?我已经尝试过通过关闭ECHO、压制警告等方式来修改块设置。

这是我想从HTML中删除的打印文本:

'## sqldf:库(RSQLite) '## sqldf: m <- dbDriver("SQLite") '## sqldf: connection <- dbConnect(m,dbname = ":memory:") '## sqldf: initExtension(连接) '## sqldf: dbWriteTable

....etc。

以下是我的块的当前设置:

代码语言:javascript
复制
```{r sqldata, echo = FALSE, message=F, warning=F}

图书馆(Sqldf)

MyQuery <- sqldf(MyString,verbose=TRUE)

代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-23 03:57:28

如果您根本不想要任何输出(没有消息,没有数据帧,没有显示的代码.),那么将include = FALSE设置为块选项。

如果您想显示代码,但不喜欢sqldf注释,请将verbose = TRUE更改为verbose = FALSE

如果您查看sqldf代码,就会看到如下所示:

代码语言:javascript
复制
if (verbose) {
    cat("sqldf: dbGetQuery(connection, '", x[i], 
        "')\n", sep = "")
}

因此,这些输出是由cat() (而不是message()warning() )产生的,因此对于针织品来说,它们与最后打印到控制台的对象是无法区分的。

如果您真的想用(sqldf选项) verbose = TRUE显示代码(块选项verbose = TRUE),但不希望所有冗长的输出(看起来很奇怪),我建议使用两个代码块来欺骗它,一个代码块不求值,但不显示,另一个代码块是计算的,但不包括。

代码语言:javascript
复制
```{r sqldata, eval = FALSE}

图书馆(Sqldf)

MyQuery <- sqldf(MyString,verbose=TRUE)

代码语言:javascript
复制
```{r sqldata, eval = TRUE, include = FALSE}

图书馆(Sqldf)

MyQuery <- sqldf(MyString)

代码语言:javascript
复制
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32730570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档