【rpy2】Google ColabでRのパッケージを使う方法

データ分析のためのプログラミング言語といえばPythonが一般的になってきましたが、Rの統計パッケージを使用したい場面もあるでしょう。rpy2というPythonライブラリを利用することで、Python環境で手軽にRコードを実行できます。本記事では、Google Colab上でrpy2を使ってRパッケージをインストール・実行する手順を解説します。
1 はじめに
Pythonによる機械学習や統計解析が一般的になってきた一方で、Rの高度な統計パッケージや可視化ライブラリを活用したいと思うケースも多くあります。Google ColabではPythonをベースにしたノートブック環境が提供されていますが、実は「rpy2」というPythonライブラリを利用することで、手元にRの環境を構築する手間なくRコードを直接実行することが可能です。
本記事では、Google Colab上でrpy2を使ってRパッケージをインストール・実行する手順を解説します。「Python環境で、特定のRパッケージを使った統計解析を試してみたい」といった方の参考になれば幸いです。
2 rpy2とは
rpy2は、PythonからRの関数やパッケージを呼び出すためのブリッジライブラリです。
なぜrpy2を使うのか
Rを使う方法としては、以下のような選択肢があります。
1:R環境をローカルに構築する
直接Rをインストールし、RStudioなどのIDEを利用して開発する方法です。ネットワーク環境に依存しないので高速に動作し、RのGUIツール(RStudio、Shinyなど)もフル活用できます。ただし、環境構築に手間がかかることもあります。
2:Posit Cloud (旧RStudio Cloud) を利用する
Posit Cloudは、ブラウザ上でRStudioのような開発環境を提供してくれるクラウドサービスです。手元に環境を構築する必要がない反面、無料プランには利用時間やメモリなどの制限があり、大規模データや長時間の作業には向きません。
3:Google ColabでRカーネルを利用する
ColabではPythonカーネルが標準ですが、設定を変更したり専用のノートブックを作成したりすることでR環境を立てる方法があります。こちらも便利ですが、「特定のパッケージのみ使用したい」「試しにRコードを実行してみたい」といった用途では、今回紹介するrpy2を使う方法のほうが簡単です。
これらとは別に、「Python環境のままRを使いたい」というシチュエーションにおいては、rpy2が有効です。たとえば次のようなケースを想定しています。
- データ収集や前処理はPythonで行い、そのままRパッケージを使った統計モデルや可視化をワンストップで実行したい
- すでにPythonで構築しているプロジェクトに、Rでしか提供されていないパッケージを組み込みたい
- ひとつのNotebook(Jupyter/Colab)上で、PythonとRの両方のコードを実行して結果を比較したい
rpy2は、Pythonのノートブックで%%R
マジックを利用してRコードを直接実行できる機能を提供し、Pythonとのデータの受け渡しもスムーズに行えます。
わざわざローカルのR環境やPosit Cloudを用意しなくても、Google ColabなどのPython環境からRの便利なパッケージを活用できる点がrpy2の最大の特徴です。
3 手順
実行環境
Google Colab (2025/02/20時点)
Step1:.ipynbファイルを作成
まずはGoogle Colabで新規の.ipynbファイルを作成してください。
Step2:rpy2をインストール
Google Colabには標準でrpy2がインストールされていますが、バージョンがやや古い場合があります。必要に応じてアップグレードしましょう。
# デフォルトのrpy2のバージョンを確認
!pip show rpy2
# rpy2をアップグレード(必要な場合)
!pip install --upgrade rpy2==3.5.17
Step3:Rのパッケージをインストール
Python側からRコードを呼び出すために、rpy2.robjects
を使用してRのinstall.packages
関数を呼び出し、CRANリポジトリから必要なパッケージをインストールします。
ここでは、ggplot2
パッケージをインストールしてみます。
# Rのパッケージをインストール
import rpy2.robjects as ro
ro.r('install.packages("ggplot2", repos="http://cran.us.r-project.org")')
Step4:Rを直接実行できるようにする拡張機能をロード
rpy2が提供するIpython用の拡張機能rpy2.ipython
をロードします。これにより、Rコードを直接実行するためのマジックコマンド (%%R
) が利用可能になります。
# Rを実行できるようにする拡張機能をロード
%load_ext rpy2.ipython
Step5:Rコードの実行
%%R
マジックコマンドを使ってRコードを実行してみます。
たとえば、Rのバージョン情報を表示するには以下のように記述します。
# Rのバージョン確認
%%R
R.version.string
おまけ:PythonとRのデータ連携
Pythonで作成したデータフレームをR側に受け渡して、Rのパッケージで可視化・分析することもできます。
# Pythonでサンプルデータの作成
import numpy as np
import pandas as pd
np.random.seed(seed=42)
df = pd.DataFrame({
'x': np.random.randn(100),
'y': np.random.randn(100)
})
# dfをRに渡し、ggplot2で散布図を作成
%%R -i df
library(ggplot2)
ggplot(df, aes(x = x, y = y)) + geom_point()
次のような散布図が出力されるはずです。
4 注意点
Google Colab上でrpy2を使ってRコードを実行する場合、以下の点に注意してください。
完全なR環境の提供はできない
rpy2はPython内からRコードを呼び出すためのブリッジです。より本格的にRを用いた分析などを行いたい場合は、ローカルにR環境を構築するほうが望ましいです。
システム依存ライブラリの問題
一部のRパッケージには特定のシステムライブラリが必要な場合があります。Google Colabのコンテナ環境ではこれらを使用できない場合があり、インストールが失敗することがあります。
エラー処理とデバッグの複雑さ
PythonとRを行き来する分、エラーメッセージがわかりにくくなることがあります。どちらの環境でエラーが出ているのか注意してデバッグを行ってください。
5 おわりに
Google Colab上でrpy2を用いると、Pythonの便利なライブラリやフレームワークと、Rの高度な統計・可視化パッケージを同じノートブック内で組み合わせて利用できます。なにより、特定のRパッケージを試してみたい場面などに気軽に実行できる点が大きな強みです。
ぜひ、本記事を参考に、Google Colab上でRパッケージを活用したデータ分析に挑戦してみてください。