【问题标题】:How to make the output recognizable in Sweave如何在 Sweave 中使输出可识别
【发布时间】:2021-02-09 16:31:54
【问题描述】:

我正在使用 Sweave 来结合 LaTeX 和 R。我发现能够从输入 options(prompt=" ", continue=" ") 中删除前缀“>”和“+”很有用。

我想找到一种方法使输出可从输入中识别出来,例如在输出中添加前缀“#”(就像 R Markdown 一样)。

有什么帮助吗?

【问题讨论】:

    标签: r knitr sweave


    【解决方案1】:

    我不确定你是否知道除了.Rmd(R Markdown)之外,knitr 还可以编译.Rnw 文档(Sweave)。您只需将文件路径传递给knitr::knit(),例如,

    knitr::knit('test.Rnw')
    

    您将获得.tex 输出文件。如果您想直接获取 PDF 输出,可以调用:

    knitr::knit2pdf('test.Rnw')
    

    默认情况下,knitr 不会在输出的代码中添加提示符 >+

    【讨论】:

    • 我直接使用 RStudio 中的按钮进行编译。我尝试了您的建议,但收到错误消息“eval(x, envir = envir) 中的错误:找不到对象'tex'。您似乎在第 57、74、95 行使用 Sweave 特定语法, 111, 116; 您可能需要 Sweave2knitr("esercizi_stat_descr.Rnw") 将其转换为 knitr"
    • 错误信息已经告诉你该怎么做。你试过了吗?
    • 我现在意识到它创建了另一个可以用 knitr 编译的 Rnw 文件。与前一个的唯一区别似乎是用library(knitr) opts_chunk$set(concordance=TRUE) 替换\SweaveOpts{concordance=TRUE} 的R 块。查看一些示例,似乎可以删除此类 R 块。我知道我可以习惯用 knitr 编译 .Rnw 文件,而不是 Sweave 只是省略 '\SweaveOpts{concordance=TRUE}'。我说的对吗?
    • 是的,您可以删除concordance 设置(块)。
    • 好的。非常感谢!我相信 knitr 在结合 LaTeX 和 R 时提供了最好的输出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多