※ この記事は、単なる遊びです。こんな事も出来るんだよーってことです。
何をしたのか
ある日、ふと「pythonでRを書きたい!」と思ったので一筆書いてみました。
下記のようなコードで動くように出来ると思いついて、実際にやってみました。
from ninter import Deno, R, Bridge
r = Bridge(R())
deno = Bridge(Deno())
t_test = r['t.test']
deno.let.something = list(range(5))
a = deno.something.map(deno['x=>x*4'])
b = [2, 3, 4, 5]
result = t_test(a, b)['p.value']
print(result.to_python())
>>> 0.1892226
お分かり頂けただろうか?
DenoとRのオブジェクトがあたかもpythonのオブジェクトであるかのように振る舞っています。
pyperじゃ駄目なんですか?
駄目じゃないです。むしろpythonでRを扱うならpyperは鉄板でしょう。だけど、pyperはRのコードをpythonの文字列として渡す必要があります。
Pythonの暗黒面
Pythonを使っているので、例えば[]とか.とかの挙動は細かく設定できるのです。こういうのが僕のような素人にできてしまう。この自由度は暗黒面ですね。
公開しているの?
どうせ需要もないけれど、もう少し遊んだらするかも知れません。