gpt4 book ai didi

r - 防止在 R Notebook 交互中进行 block 评估

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

使用 block 选项 eval=FALSE 可以在 RMarkdown 文件或 R Notebook 编织时抑制 block 评估。有没有办法在 RStudio 中交互式运行文档期间应用此功能(即,使“运行所有 block ”跳过某些 block )?

我的分析开始时有一些 block 需要一段时间才能运行,后面的部分不依赖于这些 block 。我希望能够获取代码的重要部分,这样我就可以继续编写下游内容,而不必逐 block 手动编写,这样我就可以避免工作区中不需要的部分进行进一步编写.

我已经使用逻辑参数设置了 rmarkdown 文档,这些逻辑参数旨在更改代码的哪些部分需要运行 - 我的意思是这些作为代码实际完成和使用时的控制标志,但我希望我可以使用这些相同的参数来排除 block 以交互模式运行(即类似于 eval=params$run_part1)。

最佳答案

设置 knitr::opts_chunkknitr::opts_hooks 只会在编织时帮助你,而不是在交互模式下,所以虽然我可能是错的,但我会暂时假设您无法使用动态 block 选项(目前)控制该行为。

作为解决方法,您可以使用 interactive()if block ,以便代码仅在编织时运行。它也可以很好地与您的逻辑参数相匹配,尽管必须在括号 block 中会很痛苦。

---
title: "R Notebook"
output:
html_document: default
html_notebook: default
---

```{r}
if (!interactive()) {
print("long running code")
}
```

```{r}
print(2)
```

```{r}
print(3)
```

按“运行上面的所有 block ”:

enter image description here

针织:

enter image description here

关于r - 防止在 R Notebook 交互中进行 block 评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039673/

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