在 Java 中的区间数据上实现频率 table 的有效方法
Efficient way to implement frequency table on interval data in Java
我正在尝试创建频率 table 以最终创建直方图。输入数据的类型是Double
,应该都在区间[-1;1]内。我想将此间隔划分为宽度为例如.02 并计算每个区间内出现的值,不需要存储数据。
我尝试使用 Apache Commons Frequency,但这似乎只适用于离散值。
是否有实现此功能的库?
虽然我一直没能找到满足我要求的库,但这是我想出的解决方案,以防将来有人发现它:
我创建了一个表示间隔的数据类型,类似于我在 Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne 中找到的间隔。
实际频率 table 实现为 TreeMap<Interval, Integer>
,因为它能够按键的顺序存储条目(Interval
实现需要 Comparator
为了这个工作)。然后我需要添加的只是添加观察值的方法,它会增加 TreeMap
.
中的间隔值
可能不是解决此问题的最有效方法,但它似乎适合我的目的。
我正在尝试创建频率 table 以最终创建直方图。输入数据的类型是Double
,应该都在区间[-1;1]内。我想将此间隔划分为宽度为例如.02 并计算每个区间内出现的值,不需要存储数据。
我尝试使用 Apache Commons Frequency,但这似乎只适用于离散值。
是否有实现此功能的库?
虽然我一直没能找到满足我要求的库,但这是我想出的解决方案,以防将来有人发现它:
我创建了一个表示间隔的数据类型,类似于我在 Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne 中找到的间隔。
实际频率 table 实现为 TreeMap<Interval, Integer>
,因为它能够按键的顺序存储条目(Interval
实现需要 Comparator
为了这个工作)。然后我需要添加的只是添加观察值的方法,它会增加 TreeMap
.
可能不是解决此问题的最有效方法,但它似乎适合我的目的。