pythonからRを利用して、相関係数を求める

移転しました。

Rの使い方よくわからないけど、とりあえずpythonからRを使って相関係数を求める事ができたので書いとく。
相関係数を知る事により、二つの配列の類似度を求める事ができる。
配列の類似度がわかる事によって、レコメンドに応用できるから結構これは便利。
集合知プログラミング」とかにのってた複雑な計算は全部Rにやらせる事ができそうだ。
集合知プログラミング

前提条件

rpy2, python, R はインスコしておく

ソース

# import
import rpy2.robjects as robjects
# 比較する二つのデータ配列を定義
ctl = robjects.FloatVector([4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14])
trt = robjects.FloatVector([4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69])
# 相関係数を求める関数を定義
soukan = robjects.r('function(x, y) cor.test(x,y)')
rtn = soukan(ctl, trt)
print rtn

	Pearson's product-moment correlation

data:  x and y 
t = -1.4559, df = 8, p-value = 0.1835
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 -0.8440680  0.2415684 
sample estimates:
       cor 
-0.4576683  ← こいつが相関係数になる。
#相関係数だけ取り出す
print rtn[3]
-0.4576683