私はいくつかのアルゴリズムを実行し、結果を使っていくつかの統計分析を行いたいと思っていました。私はエラー率の平均を持つ2つのベクトルを持っています。PythonとRpy2を使った統計テスト(KolmogorovとT-test)
Rでは、以下の行を使用してすべてを取得します。
t.test(methodresults1,methodresults2,var.equal=FALSE,paired=FALSE,alternative="less")
私はPythonを使用しているので、私はRpy2プロジェクトを使いたいと思っていました。
私はそれを試してみました:
import rpy2.robjects as R
# methodresults1 and methodresults2 are numpy arrays.
# kolmogorov test
normality_res = R.r['ks.test'](R.FloatVector(methodresults1.tolist()),'pnorm',mean=R.FloatVector(methodresults1.mean().tolist()),sd=R.FloatVector(methodresults1.std().tolist())))
# t-test
res = R.r['t.test'](R.FloatVector(methodresults1.tolist()),R.FloatVector(methodresults2.tolist()),alternative='two.sided',var.equal=FALSE,paired=FALSE)
res.rx('p.value')[0][0]
res.rx('statistic')[0][0]
res.rx('parameter')[0][0]
が、私は両方のテストを実行することができませんでした。
また、t検定の問題はvar.equalステートメントであり、*のSyntaxError:keywordは式(1行目)にはなりません。
その他の質問:numpyとRpy2を使用するより良い方法はありますか?それが言うように
'var.equal'と' paired'は、両方のデフォルトではFALSEですので、なぜも、それらに値をつけていますか? –
私はあなたが言ったことを得て、それは私が現時点でそれを使用している方法です。問題は、たとえば、var.equal = Trueが必要な場合です。私はRpyでそれをどのように設定できるのか分かりません。私は試しましたvar_equal = True、 'var.equal' =真と効果はありません。また、使用したいvar.equal(na.action、lower.tail ...)のようなオプションがたくさんあります。 –