我正在尝试 Rmd 笔记本,我被困在一些看起来应该可行的事情上,但我根本找不到解决方案。
基本上,我想要一种功能性的方法来运行选定的 Rmd 块,而无需使用 knit 进行编译。所以我认为使用依赖块、缓存等在这里不起作用。
这是一个示例笔记本:
示例_笔记本.Rmd
---
title: "Example_Notebook"
output: html_notebook
---
```{r Chunk_1 , include=T}
print(1+2)
Var1 <- 'Variable From Chunk 1'
```
```{r Chunk_2 , include=T}
Var2 <- 'Variable From Chunk 2'
```
```{r Chunk_3 , include=T}
print(Var1)
Var3 <- 'Variable From Chunk 3'
print(Var3)
```
Run Code Online (Sandbox Code Playgroud)
假设我想运行 Chunk 1 和 Chunk 3。要手动执行此操作,我可以在光标位于 Chunk_1 时使用 Ctrl+Shift+Enter,然后在光标位于 Chunk_3 时再次使用 Ctrl+Shift+Enter。这将跳过 Chunk_2,同时仍然获得 1 和 3 的输出。
我正在寻找一种方法来在单个命令/函数中执行此操作。这与 RStudio 中的“运行上面的所有块”按钮类似,但显然我想跳过 Chunk_2。
我尝试了很多方法将其写在函数中。我得到的最接近的是使用 rstudioapi 包。这是我的函数的样子:
MyNewFunction <- function(){
rstudioapi::navigateToFile( …Run Code Online (Sandbox Code Playgroud) 我需要如何运行脚本的安排是首先使用该函数并行运行 4 个 R 脚本rstudioapi::jobRunScript()。并行运行的每个脚本不会从任何环境导入任何内容,而是将创建的数据帧导出到全局环境。我的第 5 个 R 脚本基于并行运行的 4 个 R 脚本创建的数据帧,并且第 5 个脚本也在控制台中运行。如果有一种方法可以在前 4 个 R 脚本并行运行完成后在后台而不是在控制台中运行第 5 个脚本,那就会好很多。我还试图减少整个过程的总运行时间。
尽管我能够弄清楚如何并行运行前 4 个 R 脚本,但我的任务尚未完全完成,因为我找不到如何触发运行第 5 个 R 脚本的方法。希望大家能在这里帮助我