R - Markdown избегая сообщений о загрузке пакета

198

Я использовал Knitr через R-Studio, и думаю, что это довольно аккуратно. У меня есть небольшая проблема, хотя. Когда я отправляю файл в R-Chunk, вывод knitr включает в себя следующие внешние комментарии:

+ FALSE Loading required package: ggplot2
+ FALSE Loading required package: gridExtra
+ FALSE Loading required package: grid
+ FALSE Loading required package: VGAM
+ FALSE Loading required package: splines
+ FALSE Loading required package: stats4
+ FALSE Attaching package: 'VGAM'
+ FALSE The following object(s) are masked from 'package:stats4':

Я попытался установить параметры R-чанка различными способами, но все же, похоже, не избежал проблемы:

```{r echo=FALSE, cache=FALSE, results=FALSE, warning=FALSE, comment=FALSE, warning=FALSE} 
source("C:/Rscripts/source.R");

```

Есть ли способ закомментировать эти сообщения?

Рорк
источник
2
установить options(warn=-1)и вернуться options(warn=0)в конце Rmd. Заботится обо всех сообщениях пакета запуска. Обратите внимание, что вы отключаете предупреждения, но только во время рендеринга Rmd.
Дэн Kalleward

Ответы:

269

Вы можете использовать, include=FALSEчтобы исключить все в чанке.

```{r include=FALSE}
source("C:/Rscripts/source.R")
```

Если вы хотите подавить только сообщения, используйте message=FALSEвместо:

```{r message=FALSE}
source("C:/Rscripts/source.R")
```
Йихуэй Се
источник
Тот факт, что resultsне может быть, FALSEвызывает сожаление. Я предпочел бы вариант куска resultsбыть разбит на results, holdи markupкоторые все были бы логическими значениями. Увы, это не так.
Глава
1
Что если мы хотим отключить сообщения глобально для ВСЕХ кусков, как вы это сделаете?
Прасад Чаласани
13
@PrasadChalasani knitr::opts_chunk$set(message = FALSE) yihui.name/knitr/options
Xie
1
@Head resultsможет быть FALSE(это псевдоним results="hide") начиная с knitr 1.16: github.com/yihui/knitr/issues/1360
Yihui Xie
102
```{r results='hide', message=FALSE, warning=FALSE}
library(RJSONIO)
library(AnotherPackage)
```

см. Параметры чанков в Документах Knitr

cbare
источник
12
Это warning=FALSEединственное, что сработало для меня. Определенно лучший способ включить чанк в ваш вывод без уродливых предупреждений!
Алекс П. Миллер
Как установить это для всего документа? Должен ли я положить его в каждый кусок вручную?
Fadwa
3
@Misaki См. Комментарий Йихуэй выше относительно knitr :: opts_chunk $ set (message = FALSE)
cbare
7

Моим лучшим решением для R Markdown было создание фрагмента кода только для загрузки библиотек и исключения всего из фрагмента.

{r results='asis', echo=FALSE, include=FALSE,}
knitr::opts_chunk$set(echo = TRUE, warning=FALSE)
#formating tables
library(xtable)

#data wrangling
library(dplyr)

#text processing
library(stringi)
Пол Тайлер
источник
6

Это старый вопрос, но вот еще один способ сделать это.

Вы можете изменить самое R код вместо опции порций, обертывание sourceвызова в suppressPackageStartupMessages(), suppressMessages()и / или suppressWarnings(). Например:

```{r echo=FALSE}
suppressWarnings(suppressMessages(suppressPackageStartupMessages({
source("C:/Rscripts/source.R")
})
```

Вы также можете поместить эти функции в свои library()вызовы внутри "source.R"скрипта.

shadowtalker
источник