gpt4 book ai didi

r - 在 RMarkdown 中隐藏打印语句

转载 作者:行者123 更新时间:2023-12-04 21:33:02 25 4
gpt4 key购买 nike

有没有办法在 RMarkdown 中隐藏打印语句?我编写了一个函数,它将算法的学习行为的进度打印到 R 控制台。下面是一个例子:

f <- function() {
print("Some printing")
return(1)
}

在 RMarkdown 我有
```{r, eval = TRUE, results = "show"}
res = f()
print(res)
```

这将“一些打印”和 1 添加到 RMarkdown 输出文件中。有没有办法抑制“某些打印”,但保留函数的输出(此处为 1)?对于警告、错误和消息,有一些选项,但我找不到打印语句的选项。

最佳答案

如果您使用 message在您的函数中而不是 print ,您可以抑制消息

```{r} 
f <- function() {
message("Some printing") # change this line
return(1)
}

res <- f()
print(res) # original prints both
```
#> Some printing
#> [1] 1

要么明确使用 suppressMessages :
```{r} 
res <- suppressMessages(f())
print(res)
```
#> [1] 1

或通过 message=FALSE块选项:
```{r, message=FALSE} 
res <- f()
print(res)
```
#> [1] 1

专为此类用途而设计的消息。如果你真的想保留 print ,你可以子集(这很尴尬),或者使用 capture.output捕获并存储消息,同时将结果存储在另一个变量中:
```{r}
f <- function() {
print("Some printing")
return(1)
}

trash <- capture.output(res <- f())
print(res)
```
#> [1] 1

……不过还是挺尴尬的。

关于r - 在 RMarkdown 中隐藏打印语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46652404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com