我想以编程方式生成四分位数(IQR)位置,以便我可以将其用作获取最小-最大范围内值(以递增的粒度顺序)的基础。
我坚持了一段时间。令人惊讶的是,当我在寻找想法时,在Stack Overflow上什么也没发现。因此,我将发布我提出的解决方案,以便将来在需要时帮助人们。
答案 0 :(得分:0)
这是我想出的解决方案:
final int DEPTH = 32 //2^n where n is the depth of the quartile tree
for(int j = 1; j < DEPTH; j *= 2){
double quotient = 1.0 / j; //How many quartiles to generate
for(int i = 1; i < j; ++i)
if(i % 2 != 0)
System.out.println((i * quotient));
System.out.println("-------");
}
这样做将产生以下输出:
-------
0.5
-------
0.25
0.75
-------
0.125
0.375
0.625
0.875
-------
0.0625
0.1875
0.3125
0.4375
0.5625
0.6875
0.8125
0.9375
-------