Jupyter 中的 R 内核是否有等同于神奇的 %运行 ?

Is there an equivalent to magic `%run` with R kernel in Jupyter?

这个问题与有点相关。

当您使用带有 Python 内核的 JupyterLab 时,您可以将您的分析分成几个笔记本,如下所示:

.
├── 01-preprocessing.ipynb
└── 02-analysis.ipynb

你可以通过神奇的指令启动你的笔记本02-analysis.ipynb

%run 01-preprocessing.ipynb

以便可以检索并继续以前的工作。

我注意到如果这些笔记本是 R 笔记本,这个简单的解决方案就不起作用。相反,您会收到错误消息:

Error in parse(text = x, srcfile = src): <text>:1:1: unexpected input
1: %run 01-preprocessing.ipynb
    ^
Traceback:

据我了解,魔术命令不是 Jupyter 环境本身的功能:它只是 Python 内核的功能。但是对于 R 内核有什么等价物吗?或者,作为 R 用户,您有什么方法可以像这样在多个 'dependent' 笔记本之间进行分析?

谢谢!

IRkernel 中确实没有实现魔法。正如维护者所说 here 您可以使用 nbconvert.

run_notebook = function(path) {
    if (!file.exists(path)) {
        stop(paste('No such a file:', path))
    }
    eval(
        parse(
            text = system2(
                'jupyter',
                c('nbconvert', path, '--to=script', '--stdout'),
                stdout = TRUE
            )
        )
    )
}
run_notebook('01-preprocessing.ipynb')

这在未来可能会变得更容易。有计划实施魔法的替代 R 内核。