2015-12-14 12 views
10

Rstudioを日々のRのものに使用しています。時には、私はRが超上手ではない部分のためにいくつかのpython/bashを使いたいと思う。私は新しいRMarkdownドキュメントを起動する場合は不思議そうに十分な私は、次のコードが動作すること、気づいた:Rstudioでpython/bashコードを実行する

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

答えて

2

最初にknitrオプションを設定する必要があります。

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

その点からは動作します。

```{python} 
import this 
``` 
1

あなたがArchitectやプレーンEclipseStatETとを使用している場合、あなたはPyDevプラグインをインストールすることができますし、あなたのRコンソールと同じように簡単にPythonコンソールを起動し、対話することができます(もちろん、.Rmdファイルの編集と処理には十分なサポートがあります)

+0

同じファイルですか? – cantdutchthis

1

これは最高の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ドキュメントでも同じことをする理由かもしれません。

関連する問題