2

简单地说:我想要一个文本文件,我可以在其中平滑地在 R、python 和 Julia 之间切换。重要的是,我正在寻找一种运行方式,而不仅仅是显示代码

我知道可以将 python(和许多其他语言)添加到 R markdown http://goo.gl/4w8XIb,但不确定我是否可以添加 Julia。也可以使用像 Beaker http://beakernotebook.com/这样的笔记本和所有三种语言(以及更多),但我对笔记本的问题是,与使用文本文件可以完成的操作相比,它们的操作速度几乎没有一个编辑器环境(sublime、emacs、vim、atom ...)。我对笔记本知之甚少,我所知道的那些都表示为 json 文件,但是操作 json 文件来编写报告几乎是用户友好的。

我可能错过了显而易见的事情,但是还有其他方法可以做到这一点吗?谢谢

4

3 回答 3

2

我最近创建了一个 R 包JuliaCall,它可以在 R Markdown 文档中用作 julia 引擎,示例见https://non-contradiction.github.io/JuliaCall/articles/JuliaCall_in_RMarkdown.html 。

虽然JuliaCall已经在 CRAN 上,但这个新功能仍在 github 上的开发版本中。如果您想尝试,请使用

devtools::install_github("Non-Contradiction/JuliaCall")

安装JuliaCall

该功能包括

  1. 由同一个 julia 会话运行的多个 julia 块。
  2. 在 Julia 代码中访问 R 变量、函数,反之亦然。

当前的限制是它只完全支持 html 输出。

于 2017-09-23T17:17:07.480 回答
1

我认为 Beaker Notebook 实际上是满足您需求的一个非常好的解决方案。它是一个多语言工具,可以让你很好地结合 R、Python 和 Julia。有一种 Vim 编辑模式并不完美,但仍然相当快。有快捷键可以快速执行单元格,只执行选定的行,以及在单元格之间跳转。Beaker 也是GitHub 上一个获得许可的开源项目,维护者反应迅速,因此您也可以直接将任何缺失的功能作为 PR 贡献。

于 2017-01-30T17:07:44.873 回答
1

使用重组文本,可以很好地支持包含代码示例,其中每个code-block指令都可以包含相关语言。

.. code-block:: ruby

   Some Ruby code.

Markdown还支持在每个代码块中提及语言,例如:

```javascript
var s = "JavaScript syntax highlighting";
alert(s);
```

```python
s = "Python syntax highlighting"
print s
```

```
No language indicated, so no syntax highlighting. 
But let's throw in a <b>tag</b>.
```
于 2016-01-28T10:20:20.797 回答