knitr:有条件地评估正常的块

时间:2014-11-13 12:54:58

标签: r knitr

这是我想要做的,在我的Rhtml文档中:

<!--begin.rcode
if (errors==1) {
end.rcode-->
<p>You have an error!</p>
<!--begin.rcode

end.rcode-->

基本上,我正在尝试像PHP一样使用knitr。以上不起作用,但有没有正确的方法呢?

这个问题与Conditional `echo` (or eval or include) in rmarkdown chunks不同。这是关于如何有条件地评估针织“块”。这是关于如何有条件地评估两个knitr块之间的“正常”HTML(或TeX或Markdown)。

1 个答案:

答案 0 :(得分:1)

您可以在块中使用普通if块。如果您想要HTML格式的错误消息,可以在块选项中使用results='asis'。像这样:

<!--begin.rcode results='asis'
if (errors==1) {
  cat('<p>You have an error</p>')
} else {
  # r code to evaluate when errors!=1
}
end.rcode-->