是否可以像普通 R 代码一样将 Python 代码从 knitr 块发送到 RStudio 控制台?

Possible to send Python code to RStudio console from knitr chunk like normal R code?

提问人:Christoph 提问时间:4/23/2015 更新时间:9/8/2016 访问量:583

问:

我在大学里经常使用 R 和 RStudio 来做家庭作业。作业通常遵循以下思路:“证明定理 xy 并在 R 中实现您的解决方案”。

目前,我主要依靠 Wolframalpha 和 Maple 进行符号计算,但我想完全在 RStudio 中解决此类问题。

我知道 R 有一个叫做 rSympy 的 Sympy 接口,并且有像 RYacas 这样的计算机代数系统。但是,由于 RStudio 可以执行 Python 脚本,如果它们存储在 .Py 文件并将它们发送到 RStudio 控制台,我想知道是否可以以某种方式在带有 engine=“python” 的 knitr 块中使用 Python 代码并将脚本发送到 RStudio 控制台,而无需编织整个文档?

我正在寻找的工作流程如下:

  1. 有一个 .RStudio 中的 RMD 文件,其中包含 engine=“python” 的块
  2. 导入sympy并进行一些符号计算
  3. 执行 python 块并立即在 RStudio 控制台中查看输出(就像使用普通 R 块一样),而无需编织整个文档
  4. 理想情况下,也可以访问 python 结果,以便我可以将它们转换为 R 公式等。

有关屏幕截图,请参阅此链接: https://www.dropbox.com/s/hn8azii7cji4suz/stackexchange_question.tiff?dl=0

如果您知道在 R+RStudio 中进行符号计算的更优雅的方法,我也期待您的回答!

非常感谢所有愿意帮助我的人:) 这已经困扰了我很长一段时间了......

蟒蛇 r rstudio knitr sympy

评论

1赞 Yihui Xie 6/12/2015
我没有一个完美的解决方案给你,但无论如何,这里是对 python 引擎的改进: github.com/yihui/runr
0赞 Christoph 6/13/2015
谢谢很多:) 我会研究这个包。

答:

1赞 Christoph 9/8/2016 #1

我的问题已通过 RStudio Server 的最新预览版得到解决。

不仅可以添加 Python 块并立即在 RStudio 笔记本中显示输出,还可以选择 bash 和 SQL。

刚刚写了一个简单的测试程序,它就像一个魅力。

所以问题解决了。