英文:
Efficient way to implement frequency table on interval data in Java
问题
我正在尝试创建一个频率表,最终要用它来创建直方图。输入数据的类型是Double
,应该都在区间[-1;1]内。我想将这个区间分成宽度为0.02的箱子,并计算每个区间内值的出现次数,不需要存储数据。
我尝试使用Apache Commons Frequency,但似乎只适用于离散值。
是否有一个库可以实现这个功能?
英文:
I am trying to create a frequency table to eventually create a histogram. The input data is of type Double
and should all fall in the interval [-1;1]. I would like to divide this interval into bins with a width of e.g. .02 and count the occurrences of values in each interval, there is no need to store the data.
I tried using Apache Commons Frequency, but that only seems to work with discrete values.
Is there a library that achieves this?
答案1
得分: 0
以下是翻译好的部分:
"While I haven't been able to find a library that does what I wanted, here's the solution I came up with in case anyone finds this in the future:
我尚未找到符合我的要求的库,但这是我想出的解决方案,以防将来有人发现:
I created a datatype representing an Interval similar to one I found in Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
我创建了一个表示区间的数据类型,类似于我在《算法》第4版,Robert Sedgewick和Kevin Wayne著中找到的一个。
The actual frequency table is implemented as a TreeMap<Interval, Integer>
, since that is able to store the entries in the order of the keys (the Interval
implementation needs a Comparator
for this to work). Then all I needed to add was method to add observations, which increments the value of the interval in the TreeMap
.
实际的频率表是实现为TreeMap<Interval, Integer>
,因为它能够按键的顺序存储条目(Interval
的实现需要一个Comparator
才能正常工作)。然后,我只需要添加一个用于添加观测值的方法,该方法会增加TreeMap
中区间的值。
May not be the most efficient way to solve this, but it seems to work for my purposes.
这可能不是解决此问题的最有效方式,但似乎适用于我的目的。"
英文:
While I haven't been able to find a library that does what I wanted, here's the solution I came up with in case anyone finds this in the future:
I created a datatype representing an Interval similar to one I found in Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
The actual frequency table is implemented as a TreeMap<Interval, Integer>
, since that is able to store the entries in the order of the keys (the Interval
implementation needs a Comparator
for this to work). Then all I needed to add was method to add observations, which increments the value of the interval in the TreeMap
.
May not be the most efficient way to solve this, but it seems to work for my purposes.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论