Как избавиться от ненужного кода при вязании в PDF - PullRequest
0 голосов
/ 02 июля 2018

Я вяжу в pdf, но пока он выводит мои графики, он также выводит ниже. Как мне остановить R от вывода этого?

##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Registering fonts with R
Importing fonts may take a few minutes, depending on the number of fonts and the speed of the system.
Continue? [y/n]
## Exiting.
## Arial Black already registered with windowsFonts().
## Arial already registered with windowsFonts().
## Arial Narrow already registered with windowsFonts().

Код:

```{r, echo=FALSE}
library(dplyr)
library(kableExtra)
library(knitr)
library(extrafont)
font_import()
loadfonts(device = 'win')

x <- seq(1,9,by = 1)

kable(x,format = 'latex', booktabs = T, caption = "A KnitR Kable")
```

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Обычно есть отдельный раздел, в который вы загружаете все свои пакеты и включаете опции message = FALSE, warning = FALSE. Это отключает вывод и предотвращает заполнение файла иногда большим количеством предупреждений, которые может вызвать загрузка пакетов:

```{r, message = FALSE, warning = FALSE}
library(dplyr)
library(kableExtra)
library(knitr)
library(extrafont)
```

```{r, echo=FALSE}
font_import()
loadfonts(device = 'win')

x <- seq(1,9,by = 1)

kable(x,format = 'latex', booktabs = T, caption = "A KnitR Kable")
```

Только убедитесь, что никакие предупреждения или сообщения, относящиеся к пользователю, не отключаются.

0 голосов
/ 02 июля 2018

Вот что вам нужно сделать:

  1. Убедитесь, что весь код был запущен заранее, по крайней мере, один раз, чтобы загрузить все (я уверен, что это уже сделано)

  2. font_import(prompt=F) отключает подсказку. Это также можно обернуть в suppressMessages() при необходимости.

Вы также можете свободно использовать suppressMessages() везде, где это может вам понадобиться, но убедитесь, что вы знаете, что это за сообщения, прежде чем их подавлять.

Кроме того, на еще более «высоком уровне» архитектуры я не уверен, действительно ли вам все это нужно в блоке кода. Почему бы не запустить их раньше или в другом месте? Ну, если есть веская причина, то обратитесь к совету выше. В противном случае легко поместить зашумленный код в один блок и не показывать его вывод, а затем поместить строку kable и другой вполне код в блок, вывод которого вы будете отображать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...