在 knitr/Rmarkdown 中抑制来自 heatmap.2 的错误消息
Suppressing error message from heatmap.2 in knitr/Rmarkdown
我正在尝试使用 heatmap.2
生成绘图并使用 Rmarkdown 打印到 pdf_document。
无论我是从控制台还是在 .Rmd 中调用 heatmap.2
,绘图都完全符合我的要求。但另外,我收到错误消息:
## Error in plot.new(): figure margins too large
我可以强制 knitr 使用 error=TRUE
继续处理,但仍然打印错误消息。我也设置了
echo=FALSE, warning=FALSE, message=FALSE
我认为这会抑制消息,但事实并非如此。我已经尝试按照 this question 使用 invisible()
,但它似乎什么也没做。
我也尝试 "fixing" 通过调整我在 heatmap.2
中的绘图参数来解决错误,但没有成功——当我在 lhei
中的一个专栏太瘦时,它似乎在抱怨.由于情节看起来不错,我并不担心,除非没有其他方法可以抑制此错误消息。
如何在我的 Rmarkdown pdf 中抑制此错误消息?
抑制错误消息的一种非常可靠的方法是将表达式包装在 try(...,silent=TRUE)
中。作为一般示例,如果我们使用以下代码设置绘图布局
plotIDs <- matrix(c(1:16), 4, 4, byrow = T)
layout(plotIDs, widths = c(0.5,1,1,1,1), heights = c(0.5,1,1,1,1))
之后调用 frame()
会产生错误:
R> frame()
Error in frame() : figure margins too large
用 try
包装它,即
R> try(frame(),silent=TRUE)
R>
不会在控制台中产生错误消息。
我正在尝试使用 heatmap.2
生成绘图并使用 Rmarkdown 打印到 pdf_document。
无论我是从控制台还是在 .Rmd 中调用 heatmap.2
,绘图都完全符合我的要求。但另外,我收到错误消息:
## Error in plot.new(): figure margins too large
我可以强制 knitr 使用 error=TRUE
继续处理,但仍然打印错误消息。我也设置了
echo=FALSE, warning=FALSE, message=FALSE
我认为这会抑制消息,但事实并非如此。我已经尝试按照 this question 使用 invisible()
,但它似乎什么也没做。
我也尝试 "fixing" 通过调整我在 heatmap.2
中的绘图参数来解决错误,但没有成功——当我在 lhei
中的一个专栏太瘦时,它似乎在抱怨.由于情节看起来不错,我并不担心,除非没有其他方法可以抑制此错误消息。
如何在我的 Rmarkdown pdf 中抑制此错误消息?
抑制错误消息的一种非常可靠的方法是将表达式包装在 try(...,silent=TRUE)
中。作为一般示例,如果我们使用以下代码设置绘图布局
plotIDs <- matrix(c(1:16), 4, 4, byrow = T)
layout(plotIDs, widths = c(0.5,1,1,1,1), heights = c(0.5,1,1,1,1))
之后调用 frame()
会产生错误:
R> frame()
Error in frame() : figure margins too large
用 try
包装它,即
R> try(frame(),silent=TRUE)
R>
不会在控制台中产生错误消息。