Package org.hipparchus.stat
Class Frequency<T extends Comparable<T>>
- java.lang.Object
-
- org.hipparchus.stat.Frequency<T>
-
- Type Parameters:
T
- the element type
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
LongFrequency
public class Frequency<T extends Comparable<T>> extends Object implements Serializable
Maintains a frequency distribution of Comparable values.The values are ordered using the default (natural order), unless a
Comparator
is supplied in the constructor.- See Also:
LongFrequency
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Frequency()
Default constructor.Frequency(Comparator<? super T> comparator)
Constructor allowing values Comparator to be specified.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addValue(T v)
Adds 1 to the frequency count for v.void
clear()
Clears the frequency tableIterator<Map.Entry<T,Long>>
entrySetIterator()
Return an Iterator over the set of keys and values that have been added.boolean
equals(Object obj)
long
getCount(T v)
Returns the number of values equal to v.long
getCumFreq(T v)
Returns the cumulative frequency of values less than or equal to v.double
getCumPct(T v)
Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).List<T>
getMode()
Returns the mode value(s) in comparator order.double
getPct(T v)
Returns the percentage of values that are equal to v (as a proportion between 0 and 1).long
getSumFreq()
Returns the sum of all frequencies.int
getUniqueCount()
Returns the number of values in the frequency table.int
hashCode()
void
incrementValue(T v, long increment)
Increments the frequency count for v.void
merge(Collection<? extends Frequency<? extends T>> others)
Merge aCollection
ofFrequency
objects into this instance.void
merge(Frequency<? extends T> other)
Merge another Frequency object's counts into this instance.String
toString()
Return a string representation of this frequency distribution.Iterator<T>
valuesIterator()
Returns an Iterator over the set of values that have been added.
-
-
-
Constructor Detail
-
Frequency
public Frequency()
Default constructor.
-
Frequency
public Frequency(Comparator<? super T> comparator)
Constructor allowing values Comparator to be specified.- Parameters:
comparator
- Comparator used to order values
-
-
Method Detail
-
addValue
public void addValue(T v)
Adds 1 to the frequency count for v.- Parameters:
v
- the value to add.
-
incrementValue
public void incrementValue(T v, long increment)
Increments the frequency count for v.- Parameters:
v
- the value to add.increment
- the amount by which the value should be incremented
-
clear
public void clear()
Clears the frequency table
-
valuesIterator
public Iterator<T> valuesIterator()
Returns an Iterator over the set of values that have been added.- Returns:
- values Iterator
-
entrySetIterator
public Iterator<Map.Entry<T,Long>> entrySetIterator()
Return an Iterator over the set of keys and values that have been added. Using the entry set to iterate is more efficient in the case where you need to access respective counts as well as values, since it doesn't require a "get" for every key...the value is provided in the Map.Entry.- Returns:
- entry set Iterator
-
getSumFreq
public long getSumFreq()
Returns the sum of all frequencies.- Returns:
- the total frequency count.
-
getCount
public long getCount(T v)
Returns the number of values equal to v. Returns 0 if the value is not comparable.- Parameters:
v
- the value to lookup.- Returns:
- the frequency of v.
-
getUniqueCount
public int getUniqueCount()
Returns the number of values in the frequency table.- Returns:
- the number of unique values that have been added to the frequency table.
- See Also:
valuesIterator()
-
getPct
public double getPct(T v)
Returns the percentage of values that are equal to v (as a proportion between 0 and 1).Returns
Double.NaN
if no values have been added.- Parameters:
v
- the value to lookup- Returns:
- the proportion of values equal to v
-
getCumFreq
public long getCumFreq(T v)
Returns the cumulative frequency of values less than or equal to v.- Parameters:
v
- the value to lookup.- Returns:
- the proportion of values equal to v
-
getCumPct
public double getCumPct(T v)
Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).Returns
Double.NaN
if no values have been added.- Parameters:
v
- the value to lookup- Returns:
- the proportion of values less than or equal to v
-
getMode
public List<T> getMode()
Returns the mode value(s) in comparator order.- Returns:
- a list containing the value(s) which appear most often.
-
merge
public void merge(Frequency<? extends T> other) throws NullArgumentException
Merge another Frequency object's counts into this instance. This Frequency's counts will be incremented (or set when not already set) by the counts represented by other.- Parameters:
other
- the otherFrequency
object to be merged- Throws:
NullArgumentException
- ifother
is null
-
merge
public void merge(Collection<? extends Frequency<? extends T>> others) throws NullArgumentException
Merge aCollection
ofFrequency
objects into this instance. This Frequency's counts will be incremented (or set when not already set) by the counts represented by each of the others.- Parameters:
others
- the otherFrequency
objects to be merged- Throws:
NullArgumentException
- if the collection is null
-
toString
public String toString()
Return a string representation of this frequency distribution.
-
-