17
votes

I'm using knitr to generate HTML output of my work while using R.

The problem is, when I include a library, such as

library(car)

my R markdown document includes the warning:

## Warning: package 'car' was built under R version 2.15.3

I have tried these solutions, but none work:

```{r }
invisible(library(car)

and

```{r message = FALSE, warnings = FALSE}

along with

```{r results = 'hide'}

and unfortunately none of these options work.

Further options I've tried, and the actual knitr output follow:

enter image description hereenter image description hereenter image description here

How do I suppress the warning from including a library when using knitr in R?

Thanks in advance.

4
Have you looked into ?suppressWarnings ?Rich Scriven
It worked for me (R3.1, OS X 10.9.2, knitr 1.5) without any options. Are you using the car_2.0-19 package? What R version/etc are you running under?hrbrmstr
Once again, try suppressWarnings(library(psych))Rich Scriven
Odd - using warning=FALSE, message=FALSE eliminates those types of startup messages for me.Dason
The problem boils down to the typo warnings, which should be warning = FALSE. Also note your R version is unlikely to be 0.98.501, which sounds like an RStudio version. The even better solution is to upgrade R and run update.packages(), so that these warnings just go away (they do not exist for no reason).Yihui Xie

4 Answers

15
votes

Set the following chunk options message=FALSE, warning=FALSE, include=FALSE.

5
votes

My preferred approach is

suppressMessages(library(foo))

and if in doubt also load everything foo Depends on the same way.

A concrete example:

R> suppressMessages(library(KernSmooth))
R>

and I would invite those suggesting other methods to try on this one too. In this case, suppressPackageStartupMesssage() will work too.

3
votes

There's a direct way of doing this pretty easily, if you look at ?library:

library(car, quietly = TRUE)

It should eliminate most warnings and attachment messages quite nicely. If it doesn't work, add warn.conflicts = FALSE too.

1
votes

Using message=FALSE in the chunk options do the job