Suppressing messages in Knitr / Rmarkdown

后端 未结 3 1736
执念已碎
执念已碎 2020-12-14 07:47

Here is the code for my RMarkdown file:

```{r echo=FALSE, message=FALSE}
opts_chunk$set(comment = NA, echo=FALSE, message = FALSE, warnings = FALSE)
options(         


        
相关标签:
3条回答
  • 2020-12-14 08:10

    Try using invisible to suppress those types of output.

    ```{r}
    invisible(getSymbols("^RUT"))
    chart.TimeSeries(RUT)
    invisible(dev.off())
    ```
    

    From the help page for ?invisible:

    This function can be useful when it is desired to have functions return values which can be assigned, but which do not print when they are not assigned.

    Neither of these are "messages" or "warnings", but actual output values. You'll see that the messages for getSymbols are, indeed, suppressed by knitr in the output.

    0 讨论(0)
  • 2020-12-14 08:26

    Ran into this problem as well, I would like to add that it should be warning = FALSE, not warnings = FALSE

    0 讨论(0)
  • 2020-12-14 08:26

    You should never need to use dev.off() when using knitr. It takes care of all the devices to create plots.

    From the package author Yihui

    God kills a kitten whenever you dev.off()

    null device 
              1 
    

    Is the output of dev.off().

    It may be that getSymbols returns something given that you haven't defined env

    If you want to hide the results (output) (in general) you can use results = 'hide' as an option. No need to wrap anything in invisible()

    0 讨论(0)
提交回复
热议问题