ちょっと古くなりすぎたので,いったんトップからのリンクを外しました。そのうち更新します。
プログラミング言語PythonにはIPythonという対話型のシェルがあり,さらにこれをWebブラウザから使うIPython Notebookという仕組みがあります(Mathematica Notebookみたいなもの)。ここで取り上げるのはIPython 2のNotebookですが,IPython 3が開発中で,さらに次世代のJupyter Projectが始まりました。「Jupyter」の名前に含まれるJulia,Python,Rが便利に使えるシェルになると思われます。
ここでは普通のIPython 2.xからRを使う方法を説明します。
まずはPython,IPythonをインストールする必要があります。また,rpy2というPythonのパッケージが必要です。Pythonがインストールされたシステムであれば pip
コマンド(Python 3なら pip3
)で簡単にインストールできます:
sudo pip3 install rpy2
使い方の詳細はrpy2 documentationをご覧ください。IPythonのrmagicのページにも簡単にまとめられています。最低限のことは以下の例で説明します。
ターミナルを開いて,適当な作業用ディレクトリに移動し,そこでIPython Notebookを起動します:
ipython notebook
これで自マシンの8888番ポート(つまり http://localhost:8888)でWebサーバが起動し,標準のWebブラウザが開いてそこに接続します。ブラウザはWebSocketをサポートする必要があります(IEなら10以降)。このブラウザの画面の右にある [New Notebook] ボタンをクリックし,新しいNotebookを作成します(デフォルトのNotebook名は Untitled0.ipynb
ですが File メニューから Rename できます)。
ブラウザ(Notebook)の In [ ]: の右に,Rと連携させるための仕組みをロードするために,次のように打ち込んで,Shift + Enter します(昔の rmagic
は今は rpy2.ipython
にしたほうがよいようです):
%load_ext rpy2.ipython
次のセルからは,Rの命令であれば頭に %%R
という行を付けます(これを付けなければPythonの命令になります)。セル内の改行は Enter,セルを実行するには Shift + Enter です。
セルの内容は遡って変更できます。例えば上の hist(x)
を hist(x, col="gray")
に変更すると,グラフの色が変わります。また,グラフ出力では,先頭行に %%R -w 500 -h 300
のように横・縦のピクセル数でサイズを指定することができます。
Notebookの内容はときどき自動保存されますが,保存ボタン(フロッピーディスクのマーク)をクリックしても保存されます。シェル(ブラウザ)を閉じても再接続して *.ipynb
ファイルを開けば,作業を続行できます。
*.ipynb
ファイルはJSON形式のテキストファイルです。画像はテキスト化(Base64)されて埋め込まれます。
セルの型は標準では「Code」となっていますが,「Markdown」とすれば,Markdownという記法でリッチテキストが挿入できます。$...$
や $$...$$
でインライン・別行の数式をLaTeX記法で書けます(MathJaxでレンダリングします)。
IPython NotebookをHTMLに変換するには次のようにします(あらかじめpipで pygments パッケージをインストールしておきます):
ipython nbconvert --to html Untitled0.ipynb
画像はdata URI schemeでHTMLファイルに埋め込まれます。