运行 python/bash Rstudio 中的代码
Running python/bash code in Rstudio
我每天都在使用 Rstudio。有时,我想对 R 不太擅长的部分使用一些 python/bash。奇怪的是,我注意到如果我开始一个新的 RMarkdown 文档,下面的代码有效:
```{r engine='python'}
print "Hello" + "World"
import random
print random.random()
```
Rstudio 可以 运行 我 python。这非常有用,但我最好能够 运行 这不仅是通过降价功能,而且是通过控制台。 release notes中建议支持语法高亮。
我想知道,是否有任何方法可以将新控制台连接到 Rstudio,这样我们也可以从 IDE 中执行一些 python/bash?看起来 Rstudio 确实有一个关于如何连接到 python 的概念。最终目标是创建 .Rmd
文档并能够 edit/interact 使用具有以下结构的文档:
# Use Case
Connect to an api that is supported in python
```{r engine='python', highlight=TRUE}
data = foobar_api.get(1000)
file_loc = open("~/data/filename.csv", "w")
file_loc(data)
file_loc.close()
```
Then analyse with R again.
```{r}
df <- read.csv("~/data/filename.csv")
summary(df)
```
如果您使用 Architect or plain Eclipse with StatET, you can install the PyDev 插件并启动并与 Python 控制台交互,就像您使用 R 控制台一样容易(当然,还有充分的编辑支持并处理 .Rmd 文件)
这是 knitr 的最佳示例,它允许 multiple language engines。您可能会考虑针对 VIM 中的这些情况编辑文件,因为您可以做一些有趣的事情来接近您的要求:select 文本,然后键入:
:'<,'>!python
在python和
中执行
:<','>!R --no-save
要在 R 中执行。有关详细信息,请参阅 this question 的答案。
以上并没有完全解决用例,因为 selected 文本被命令的输出替换(在简单的 R 命令的情况下,从 R 版本等开始)。但是,可以使用 this vimtip.
将输出发送到不同的缓冲区(读取:window)
RStudio 中的 VIM-mode 非常出色(它甚至支持可视块模式)。但它无法模拟所有内容,RStudio 中的 :!python
将不起作用。我经常在 RStudio 和 VIM 中打开我正在处理的文档,以上可能是您对混合语言的 Rmd 文档执行相同操作的原因。
首先您需要设置 knitr
选项。
```{r}
knitr::opts_chunk$set(engine.path = list(python = '/anaconda/bin/python'))
```
从那时起它就可以正常工作了。
```{python}
import this
```
我每天都在使用 Rstudio。有时,我想对 R 不太擅长的部分使用一些 python/bash。奇怪的是,我注意到如果我开始一个新的 RMarkdown 文档,下面的代码有效:
```{r engine='python'}
print "Hello" + "World"
import random
print random.random()
```
Rstudio 可以 运行 我 python。这非常有用,但我最好能够 运行 这不仅是通过降价功能,而且是通过控制台。 release notes中建议支持语法高亮。
我想知道,是否有任何方法可以将新控制台连接到 Rstudio,这样我们也可以从 IDE 中执行一些 python/bash?看起来 Rstudio 确实有一个关于如何连接到 python 的概念。最终目标是创建 .Rmd
文档并能够 edit/interact 使用具有以下结构的文档:
# Use Case
Connect to an api that is supported in python
```{r engine='python', highlight=TRUE}
data = foobar_api.get(1000)
file_loc = open("~/data/filename.csv", "w")
file_loc(data)
file_loc.close()
```
Then analyse with R again.
```{r}
df <- read.csv("~/data/filename.csv")
summary(df)
```
如果您使用 Architect or plain Eclipse with StatET, you can install the PyDev 插件并启动并与 Python 控制台交互,就像您使用 R 控制台一样容易(当然,还有充分的编辑支持并处理 .Rmd 文件)
这是 knitr 的最佳示例,它允许 multiple language engines。您可能会考虑针对 VIM 中的这些情况编辑文件,因为您可以做一些有趣的事情来接近您的要求:select 文本,然后键入:
:'<,'>!python
在python和
中执行:<','>!R --no-save
要在 R 中执行。有关详细信息,请参阅 this question 的答案。
以上并没有完全解决用例,因为 selected 文本被命令的输出替换(在简单的 R 命令的情况下,从 R 版本等开始)。但是,可以使用 this vimtip.
将输出发送到不同的缓冲区(读取:window)RStudio 中的 VIM-mode 非常出色(它甚至支持可视块模式)。但它无法模拟所有内容,RStudio 中的 :!python
将不起作用。我经常在 RStudio 和 VIM 中打开我正在处理的文档,以上可能是您对混合语言的 Rmd 文档执行相同操作的原因。
首先您需要设置 knitr
选项。
```{r}
knitr::opts_chunk$set(engine.path = list(python = '/anaconda/bin/python'))
```
从那时起它就可以正常工作了。
```{python}
import this
```