编织和编织之间的转换

时间:2019-03-08 16:05:11

标签: rstudio knitr sweave

这可能以前曾被问过,但直到现在我都找不到对我有帮助的答案。

我将R Studioknitr一起使用,并且我需要与之合作的同事使用了swave格式。是否存在在这两个脚本之间来回转换脚本的好方法?

我已经找到了“ Sweave2knitr” ,并希望它的输出全部更改为.rmd(将所有块更改为<<>>{}等),但是不是这种情况。我的主要问题是,我还需要选择从.rmd转换回.rnw的选项,以便我的同事也可以重新编辑工作。

非常感谢!

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

Rnw格式实际上是经过某些修改的LaTeX,而Rmd格式是经过了一些修改的Markdown。 Rnw有两种主要样式,Sweave使用的一种是原始样式,knitr使用的一种是其修改形式,但是它们非常相似。

Sweave风格的Rnw更改为knitr风格的Rnw并不难(这就是Sweave2knitr的用途),但是将其中一个更改为{{1 }}可能需要进行大量更改,并且可能不可行:当然,我希望更改后需要大量的人工工作。

因此,在与合著者共同工作时,我建议您使用单一格式,然后使用它。为此,我会选择Rmd:与您共同学习Markdown的人比学习LaTeX容易得多。 (如果您已经了解LaTeX,则可能以另一种方式推动选择。)