48

在 knitr 中使用 R Markdown 是否等同于\Sexpr{}在 Sweave 中?

4

2 回答 2

52

是的。您可以使用

`r your_expression_here`

所以像

2+2 is: `r 2+2`

应该产生:

2+2 is: 4

我最初发现很难弄清楚您可以在 knitr 中使用的每种不同样式(html,markdown,sweave,...)的不同语法是什么,并求助于查看 Yihui 的最小示例(它做了一个干得好),但如果你能阅读正则表达式,你就可以查看默认的模式定义。如果需要,您甚至可以选择定义自己的语法。

于 2012-05-17T03:30:52.490 回答
23

默认情况下,R Markdown 中的内联 R 代码将被格式化为代码。如果您只想显示输出,asis请将 R 命令包含在I(...). I(...)用匹配的行为封闭输出Sexpr。这种区别有时很重要。欲了解更多信息,请参阅 谢一辉的这篇评论。下表显示了从 R Markdown 到 Markdown 到 HTML 的不同输出。

R Markdown        `r 2 + 2`               `r I(2+2)`
Markdown              `4`                     4
HTML             <code>4</code>               4
于 2012-05-21T23:19:45.567 回答