RとPythonの連携 ?
Rとpythonを連携させてみる。
まずはpython
import sys a = sys.argv[1] b = a * a f = open("test.txt","a+") f.write("str(b)") f.close
これをtest.py等、なんでも良いので保存
(test.txtがあること前提。無いなら"a+"→"w"へ)
続いてR
>Z <- 10 >cmd <- paste("python test.py",z) >system(cmd)
これで10×10の結果がtext.txtに入っている。
system()はターミナルのコマンドを実行できるので、
ターミナルで下のように書いたのと同じ。
$ python test.py 10
(フルパスで書くか、作業ディレクトリは同じにしておくこと)
ただ、引数に肝心の行列は使えない。
>Z <- 1:10
こうしてしまうと
> cmd <-paste("python R_python.py",z) > cmd [1] "python R_python.py 1" "python R_python.py 2" [3] "python R_python.py 3" "python R_python.py 4" [5] "python R_python.py 5" "python R_python.py 6" [7] "python R_python.py 7" "python R_python.py 8" [9] "python R_python.py 9" "python R_python.py 10"
このように残念な感じになる。実行されるのも最初だけ。
for文か何かで逐次処理すれば活用先はあるかもしれないが、
学習コストの軽減以外に実用性はなさそう。
numpyに代入できればなあ。
参考
http://jiy.blog.shinobi.jp/Entry/282/