在Rstudi中运行python/bash代码

2024-05-15 03:41:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我每天都在用Rstudio。有时,我想用一些python/bash来处理R不擅长的部分。奇怪的是,我注意到如果我启动一个新的RMarkdown文档,那么下面的代码就可以工作了:

```{r engine='python'}
print "Hello" + "World"
import random
print random.random()
```

python in rstudio

Rstudio可以帮我运行一些python。这是非常有用的,但最好我可以运行这不仅是通过降价功能,但通过控制台以及。在release notes中,建议支持语法突出显示。

我想知道,有没有什么方法可以将一个新控制台连接到Rstudio,这样我们也可以从IDE中进行一些python/bash操作?显然,Rstudio似乎有一个如何连接到python的概念。最终目标是创建.Rmd文档,并能够编辑/与具有以下结构的文档交互:

# 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)
```

Tags: csv代码文档bashapidfdatarandom
3条回答

首先需要设置knitr选项。

```{r}
knitr::opts_chunk$set(engine.path = list(python = '/anaconda/bin/python'))
```

从这一点上说,它只是工作。

```{python}
import this 
```

如果将Architect或普通的EclipseStatET一起使用,则可以安装PyDev插件,并像使用R控制台一样轻松地启动和与Python控制台交互(当然,还有对编辑和处理.Rmd文件的充分支持)

这是knitr最好的一个例子,它允许multiple language engines。您可以考虑在VIM中为这些情况编辑文件,因为您可以做一些与您所要求的内容相近的有趣的事情:选择文本,然后键入:

:'<,'>!python

在python中执行

:<','>!R --no-save

在R中执行。有关详细信息,请参阅this question的答案。

以上并不能完全解决这个用例,因为选择的文本被命令的输出所替换(对于简单的R命令,从R版本开始)。但是,可以使用this vimtip将输出发送到不同的缓冲区(read:window)。

RStudio中的VIM模式非常优秀(它甚至支持可视块模式)。但它不能模拟所有的东西,RStudio中的:!python将不起作用。我经常在RStudio和VIM中打开我正在开发的文档,以上可能是您对混合语言的Rmd文档执行相同操作的原因。

相关问题 更多 >

    热门问题