我正在使用Apache Math DescriptiveStatistics对名为ArrayList<double>
的{{1}}进行一些计算。 scores
中的一个值位于名为scores
的单独double
值中。如何使用Apache Math查找myScore
的百分位数?
这是我的第一次尝试,但它太麻烦了,必须有一个更简单的方法:
myScore
答案 0 :(得分:4)
我没有看到解决问题的专用方法,但可以使用Arrays.binarySearch
分两步解决:
int pos = Arrays.binarySearch(stats.getSortedValues(), myScore);
double percentile = (pos < 0 ? -1 - pos : pos) * 100.0 / stats.getN();
它应该比您当前的解决方案更有效。