knitr和sweave之间的转换

问题描述 投票:1回答:2

这可能是之前被问过的,但直到现在我找不到真正有用的答案。

我正在使用R Studioknitr以及我需要合作的同事使用sweave格式。有没有一种很好的方法来在这两者之间来回转换脚本?

我已经找到了“Sweave2knitr”并希望这将有一个.rmd作为输出所有块改变(<<>>{}等)但事实并非如此。我的主要问题是我还需要选择从.rmd转换回.rnw,以便我的同事也可以重新编辑我的工作。

非常感谢!

rstudio knitr sweave
2个回答
1
投票

要处理代码块并将.Rnw文件转换为.tex,可以在knitr包中使用knit()函数而不是Sweave()。

R -e 'library(knitr);knit("my_file.Rnw")'

Sweave2knitr()用于将旧的基于Sweave的.Rnw文件转换为knitr语法。

在程序默认值中更改:使用Sweave或knitr enter image description here编织Rnw文件


0
投票

Rnw格式实际上是LaTeX,有一些修改,而Rmd格式是Markdown,有一些修改。 Rnw有两种主要口味,Sweave使用的是原始口味,而knitr使用的口味是它的修饰,但它们非常相似。

Sweave风味的Rnw改为knitr风味的Rnw(这就是Sweave2knitr所做的)并不难,但将其中任何一个更改为Rmd都需要进行大量更改,并且可能不可行:当然我希望在更改之后进行大量的手工操作。

因此,对于您与共同作者的联合工作,我建议您采用单一格式,并使用它。我会选择Rmd:你的共同作者学习Markdown要比学习LaTeX容易得多。 (如果你已经知道LaTeX,那可能会以另一种方式推动选择。)

© www.soinside.com 2019 - 2024. All rights reserved.