我已经运行了一些算法,并希望对结果进行一些统计分析。我有两个具有错误率平均值的向量。
使用 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-test 的问题在于 var.equal 语句,它给了我一个* SyntaxError: keyword can't be an expression (, line 1)。
额外的问题:有没有更好的方法来使用 numpy 和 Rpy2?