Я использую Rstudio для повседневной работы. Иногда я хотел бы использовать некоторые python / bash для частей, в которых R не очень хорош. Как ни странно, я заметил, если я запускаю новый документ RMarkdown, работает следующий код:

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

python in rstudio

Rstudio может запустить мне немного питона. Это очень полезно, но желательно, чтобы я мог запускать это не только через функцию уценки, но и через консоль. В заметках о выпуске предполагается, что есть поддержка подсветки синтаксиса.

Интересно, есть ли способ подключить новую консоль к Rstudio таким образом, чтобы мы могли также сделать некоторые python / bash из IDE? Похоже, 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)
```
12
cantdutchthis 14 Дек 2015 в 12:27

3 ответа

Лучший ответ

Сначала вам нужно установить параметры knitr.

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

С этого момента это просто работает.

```{python}
import this 
```
4
cantdutchthis 4 Авг 2017 в 09:37

Это лучший пример knitr, в котором можно использовать несколько языковых движков. Вы можете отредактировать файл только для этих случаев в VIM, потому что вы можете сделать что-то забавное, близкое к тому, что вы просите: выделите текст, а затем введите:

:'<,'>!python

Выполнить в Python и

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

Выполнить в R. См. Ответы на этот вопрос для получения дополнительной информации. ,

Вышеприведенное не полностью решает сценарий использования, поскольку выделенный текст заменяется выводом команды (начиная с версии R и т. Д. В случае простой команды R). Однако можно отправить выходные данные в другой буфер (читай: окно), используя этот vimtip .

Режим VIM в RStudio - не что иное, как превосходный (он даже поддерживает режим визуального блока). Но он не может эмулировать все, и :!python в RStudio не будет работать. У меня часто есть документ, над которым я работаю, открытый как в RStudio, так и в VIM, и приведенное выше может послужить причиной, по которой вы можете сделать то же самое для документов Rmd со смешанными языками.

1
Community 23 Май 2017 в 11:47

Если вы используете Architect или просто Eclipse с помощью StatET вы можете установить подключаемые модули PyDev, запускайте и взаимодействуйте с консолями Python так же легко, как с вашими консолями R (и, конечно же, широкая поддержка редактирования и обработки файлов .Rmd)

2
Tobias Verbeke 14 Дек 2015 в 16:32