gpt4 book ai didi

r - knitr - 从 `purl(...)` 中排除 block ?

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

当我 purl/tangle 文档以将 R block 提取到脚本中时,有什么方法可以:

  • 排除任意 block (按名称说)?
  • 如果不是,排除一个 block if eval=F (或者我可以定义一个 block Hook /选项 include=F )?


  • 例如,假设我有以下 Rmd:
    ```{r setup, echo=F}
    library(MASS)
    ```
    First, we perform the setup (assume for some reason I need to evaluate `setup`
    silently before I wish to display the chunk to the user, hence the repetition)
    ```{r setup, eval=F}
    ```

    Here's the function I've been explaining:
    ```{r function}
    plus <- function (a, b) a + b
    ```

    And here's an example of its use:
    ```{r example}
    plus(1, 2)
    ```

    纠结的脚本如下所示:
    ## @knitr setup, echo=F
    library(MASS)

    ## @knitr setup, eval=F
    library(MASS)

    ## @knitr function
    plus <- function (a, b) a + b

    ## @knitr example
    plus(1, 2)

    我的想法是,由于我不想评估特定的 block ,它们至少不应该出现在输出中(在上面的示例中,第二个 setup block )。

    此外,对于纠结的输出,将一些 block 标记为“不可见”对我来说会很好。我不想要 example我的输出脚本中的 block (在 Rmd 中用于文档的目的很好,但是如果我想使用 source('myfile.r') 函数,我希望能够缠结 Rmd 然后只是 plus,而不必担心这些执行额外的示例。目前我将 Rmd 纠结在一起,然后手动从脚本中编辑出我不想要的 block ,这似乎违背了只编写一个 Rmd 的原则,它无需额外的努力即可提供文档和脚本。)

    最佳答案

    knitr 1.3,有一个新的 block 选项purl = TRUE/FALSE允许包含/排除 purl() 的某些代码块.

    ```{r test, purl=FALSE}
    library(MASS)
    ```

    关于r - knitr - 从 `purl(...)` 中排除 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431100/

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