1

我正在尝试使用在文档knitr中注入 R 代码及其输出。pandoc/markdown但我没有让 knitr 注入 R 输出。我试过用r and with{r} 装饰 R 块。两者都不起作用。这是我的示例设置(使用```r):

首先,我显示我发出的命令,然后列出该命令随后使用的两个文件。

这里的shell命令:

$ r CMD BATCH knitme.R

内容knitme.R

library("knitr")
pandoc("foo.md")

内容foo.md

# My knitr test

```r
1+1
```

Did this print *the result* as well?

Here a graph:

```r

plot(1:10)
```

And where is the graph?

在我运行命令后,我确实得到了一个新文件foo.html。这里是它的内容:

<h1 id="my-knitr-test">My knitr test</h1>
<pre class="sourceCode r"><code class="sourceCode r"><span class="dv">1+1</span></code></pre>
<p>Did this print <em>the result</em> as well?</p>
<p>Here a graph:</p>
<pre class="sourceCode r"><code class="sourceCode r">
<span class="kw">plot</span>(<span class="dv">1</span>:<span class="dv">10</span>)</code></pre>
<p>And where is the graph?</p>

这个结果表明 pandoc 转换了输入文件foo.md,*但是 knitr 没有注入执行 R 代码的输出。

我想念什么?任何帮助表示赞赏!

4

1 回答 1

1

您应该首先调用knit()一个R Markdown ( *.Rmd) 文档,该文档会生成一个 Markdown( *.md) 文档,此时您可以运行pandoc().

library(knitr)
knit('foo.Rmd')
pandoc('foo.md')

flaky 网站上提到的示例084088中的 R 脚本已经说明了如何。另请查看 Rmd 文档以了解 R Markdown 中 R 代码块的语法。如果你还有 5 分钟的时间,看主页上的视频,我想所有的困惑都应该消失了。

于 2013-11-15T06:29:16.513 回答