あれもPython,これもPython

Pythonメモ※本サイトはアフィリエイトを利用しています

PythonからRのパッケージを使いたい(Pyperを使う)

普段はjupyter labを使っており、現在PythonもRも実行可能にしてあります。
分析結果はすべてjupyterのファイルとして残っており、githubにそのままあげれば分析過程も残せます。

ただ、どちらを使うべきか、を都度判断するのもめんどうだな、と思い、ひとまずPythonを起動し、pyperからRを実行することに決めました。

自分の使い方

現状、MatchIt,WeightIt,RDD,'tidytext,'RMeCab,partykitの良い代替がPythonにはないため(DoWhyはまだ小回りがきかない)、そのラッパーを自作し、そこでpyperを使っています。

コード

覚えることはほとんどなく、pyper.R(),assign,getくらいを覚えれば十分です。

import pandas as pd
import pyper

df = #適当なdf

#インターフェイスをインスタンス化
r = pyper.R(use_pandas=True)

#R側にデータを渡す
r.assign("df", df)

code = """
head(df)
"""

#コードを渡すと実行できる
print(r(code))

#結果を取得する
res = r.get('df')

注意点としては、R側でエラーになるとそのまま帰ってこなくなるので、止まっても良いタイミングで使うようにしたほうがいい感じです。