我正在用R降价做报告,并正在执行给我一个错误的代码。我想在报告中显示此错误,因此我设置了error=TRUE
,以便无论如何都可以编织文档。
但是,在编织文档时,错误不能单行显示,也不会分成几行。结果是我看不到所需的错误。
我为解决此问题所做的事情:
tidy.opts=list(width.cutoff=60),tidy=TRUE
https://github.com/yihui/knitr-examples/blob/master/077-wrap-output.Rmd
我用来获取错误的方法:B<-solve(A,b)
实际错误:
Error in solve.default(A, b) : system is computationally singular: reciprocal condition number = 7.13971e-17
答案 0 :(得分:1)
也许这已经解决了您的问题:
有不同的输出挂钩。如果您通过更改错误钩子而不是输出钩子来更改您发布的示例,它将起作用:
error_hook <- knitr::knit_hooks$get("error")
knitr::knit_hooks$set(error = function(x, options) {
if (!is.null(n <- options$linewidth)) {
x = knitr:::split_lines(x)
if (any(nchar(x) > n)) x = strwrap(x, width = n)
x = paste(x, collapse = '\n')
}
error_hook(x, options)
})
MWE:
---
title: "example"
date: "22 January 2019"
output: pdf_document
---
```{r}
error_hook <- knitr::knit_hooks$get("error")
knitr::knit_hooks$set(error = function(x, options) {
if (!is.null(n <- options$linewidth)) {
x = knitr:::split_lines(x)
if (any(nchar(x) > n)) x = strwrap(x, width = n)
x = paste(x, collapse = '\n')
}
error_hook(x, options)
})
```
```{r, linewidth = 10, error = T}
print(iDoNotExist)
```