gpt4 book ai didi

r - Sweave 诉 Knitr 诉 Rmarkdown : code chunk headers

转载 作者:行者123 更新时间:2023-12-03 13:54:33 25 4
gpt4 key购买 nike

我试图理解 rmarkdown 之间的关系, sweaveknitr .查看代码和示例我遇到了两种类型的代码头,我不明白它们属于什么语言/包。

标题是

```{}
```


<<>>=
@
  • 它们之间有什么区别?
  • 他们与 rmarkdown 有什么关系? , sweaveknitr ?
  • 如果我在 .rnw 上工作,我用的是哪一个?
  • 最佳答案

    sweave 和 rmarkdown 都提供了为 R、python 和其他编程语言运行任意代码的能力。每种方法的优缺点各不相同,但可以快速比较:
    R Markdown :

  • 典型的文件扩展名:.rmd (case-insens),也许 .rmarkdown
  • 支持 R、python 和 several other languages
  • 输出到 HTML、docx、LaTeX(以及 PDF)和 several other output formats
  • 使用三重反引号进行块划分
      Regular text.

    ```{r chunkname, chunkoptions, ...}
    a <- 1
    ```

    ```{python pychunk, chunkoptions, ...}
    def myfun(v: list) -> list:
    """
    Something important in this docstring.
    """
    return [a+1 for a in v]
    ```

    More regular text.
  • 因为是基于markdown的,所以在交叉引用、table-control等方面有一定的限制;其中许多都有软件包和已知的缓解技术(太多了,无法在此列出)。但是,您可以在 Markdown 中直接使用 LaTeX 格式,因此输出到 PDF 也可以享受这种控制(尽管 LaTeX 代码不会转换为其他输出格式)。

  • 编织:
  • 典型的文件扩展名包括 .rnw (case-insens) 我见过 .noweb (对此不完全确定......)
  • 支持 R 语言,如果您可以通过 R 访问它们,也可能支持其他语言(例如通过 reticulate )
  • 输出到 LaTeX 和 PDF
  • 用途 <<>>=@对于块划分:
      Regular text.

    <<chunkname, chunkoptions, ...>>=
    a <- 1
    @

    More regular text.
  • 因为它直接基于 LaTeX,所以您可以尽可能多地控制格式、交叉引用等
  • knitr
  • 处理 sweave 的文件和 rmarkdown格式
  • 可能需要一些编织预处理(例如,使用 Sweave2knitr ),引用:https://yihui.name/knitr/demo/sweave/
  • rationale for knitr
    《解决Sweave中一些长期存在的问题,将其他附加包中的功能合并到一个包中(knitr≈Sweave+cacheSweave+pgfSweave+weaver+animation::saveLatex+R2HTML::RweaveHTML+highlight::HighlightWeaveLatex+0.2* brew + 0.1 * SweaveListingUtils + 更多)。”
  • 关于r - Sweave 诉 Knitr 诉 Rmarkdown : code chunk headers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53235911/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com