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


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"скрипта.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.