Если выражение внутри попытки завершается с ошибкой, Rmarkdown не выводит сообщение об ошибке

#r #r-markdown

#r #r-markdown

Вопрос:

Почему в Rmarkdown, если выражение внутри try завершается с ошибкой, сообщение об ошибке не выводится, хотя и в виде фрагмента error = TRUE . Ниже приведен код, который ничего не печатает:

 ```{r, error = TRUE}
try(log("a"), silent = FALSE)
```
  

Комментарии:

1. Этот фрагмент работает и выдает ошибку в консоли в RStudio. Сообщите нам, какую версию вы используете. Если вы хотите, чтобы ошибки печатались в выходных файлах, вы должны использовать настройку блока, на которую дан ответ ниже.

2. R версия 3.2.1 (2015-06-18) Платформа: x86_64-apple-darwin10.8.0 (64-разрядная версия) Работает под управлением: OS X 10.7.5 (Lion)

3. Он выдает ошибку на консоль, но ни в pdf, ни в html.

Ответ №1:

Используйте приведенный ниже код для получения печатного вывода

 ```{r}
try(log("a"))[1]
```
  

В формате pdf это будет выглядеть так Сообщение об ошибке

Ответ №2:

Вставьте приведенный ниже код в свой .rmd файл в начале, чтобы получить errors и warnings , сгенерированные в r-фрагментах, в html output или pdf .

   ```{r setup, include=FALSE}
  knitr::opts_chunk$set(echo = TRUE, error = TRUE, warning = TRUE)
  ```
  

Это не относится к конкретному фрагменту its для всех фрагментов внутри .rmd файла, при этом будут выведены все ошибки или предупреждения, если таковые вообще имеются в написанных фрагментах r.

После добавления вышеуказанного фрагмента вы можете knit html or pdf , который также покажет вам errors and/or warnings , есть ли он вообще r chunk .