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 内核。
这个问题与
当您使用带有 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 内核。