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