Javaで順位統計: ランキングの計算 Apache Commons のCommons Mathの利用
http://d.hatena.ne.jp/arupaka-_-arupaka/20130218/1361169072
本家を参考に
http://commons.apache.org/math/userguide/stat.html#a1.6_Rank_transformations
import org.apache.commons.math3.stat.ranking.*; public class test4{ public static void main(String[] args) { NaturalRanking ranking=new NaturalRanking(NaNStrategy.MINIMAL,TiesStrategy.AVERAGE); double[] data={20,17,30,42.3,17,50}; double[] ranks=ranking.rank(data); for(int i=0;i<=5;i++){ System.out.println("Data:"+data[i]+" Rank:"+ranks[i]); } } }
javac -cp "./*.jar" test4.java
実行と結果
$ java -cp ".;./commons-math3-3.1.1.jar" test4
Data:20.0 Rank:3.0
Data:17.0 Rank:1.5
Data:30.0 Rank:4.0
Data:42.3 Rank:5.0
Data:17.0 Rank:1.5
Data:50.0 Rank:6.0