【问题标题】:How to convert .Rmd file to .Rnw file of Rstudio?如何将 .Rmd 文件转换为 Rstudio 的 .Rnw 文件?
【发布时间】:2012-07-20 13:54:11
【问题描述】:

我非常喜欢在 Rstudio 中使用knitr,并且一直使用它来编写降价演示文稿和数据分析。我想在论文中使用相同的代码和结果,并希望将 Rmd 文件 ```{r} 中的代码块转换为 Rnw 文件 << >>= @ 的块。

这也允许使用相同的文档和为主要论文的演示而编写的代码。

有没有办法在 markdown 和 Rnw 文件的代码块之间进行转换?

或整个文件本身,除了代码块的语法差异之外,它们在标记上非常相似(使用 pandoc 将文本转换为乳胶很容易)

【问题讨论】:

    标签: r knitr rstudio


    【解决方案1】:

    您可以将 R 代码外部化,以便在不同文档之间共享,而不是转换整个文档;见http://yihui.name/knitr/demo/externalization/

    一旦有了read_chunk('Rcode.r'),就可以在Rmd 中使用```{r label},在Rnw 文档中使用<<label>>=,其中label 来自R 脚本中的## @knitr label 行。

    【讨论】:

    • 将代码与主文件分开的想法很好。以防万一我需要快速将Rmd文件转换为Rnw或反之亦然,是否有可能?
    • 这听起来很棒,但对我来说没有多大意义:github.com/yihui/knitr/issues/322 将 ``{r} 转换为 <<>>= 很容易,但是其余的文本呢?您必须考虑将 Markdown 转换为 LaTeX(反之亦然),而 pandoc 已经完成了无与伦比的工作。
    • 看来您正在以 knitExtra 的身份进行这项工作。如问题中所述,我确实使用 pandoc 将文档从降价转换为乳胶。使用正则表达式转换代码块或替换字符串的任务似乎很乏味且容易出错。你能告诉转换块标记的简单方法吗?
    • 感谢您制作 knitr。现在写文档变得更好了。
    • 我实际上并不打算在 knitrExtra 上工作。使用正则表达式转换代码块是唯一的方法,而且应该不会太糟糕。我的意思是,与转换其他文本相比,它的挑战要小得多,因此我建议您将 Rmd 编​​译为 md,然后从 md 开始转换为其他格式,而不是转换源文档。另一种方式是使用spin():你可以编写一个单独的R脚本并将其转换为Rnw或Rmd或其他格式;参见本页第二部分:yihui.name/knitr/demo/stitch 同样这并不能解决转换其他文本的问题。
    猜你喜欢
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    相关资源
    最近更新 更多