Class LongColumn

    • Field Detail

      • data

        protected final it.unimi.dsi.fastutil.longs.LongArrayList data
    • Method Detail

      • valueHash

        public int valueHash​(int rowNumber)
        Returns an int suitable as a hash for the value in this column at the given index
        Specified by:
        valueHash in interface Column<Long>
      • equals

        public boolean equals​(int rowNumber1,
                              int rowNumber2)
        Returns true if the value in this column at rowNumber1 is equal to the value at rowNumber2
        Specified by:
        equals in interface Column<Long>
      • indexColumn

        public static LongColumn indexColumn​(String columnName,
                                             int size,
                                             int startsWith)
        Returns a new numeric column initialized with the given name and size. The values in the column are integers beginning at startsWith and continuing through size (exclusive), monotonically increasing by 1 TODO consider a generic fill function including steps or random samples from various distributions
      • valueIsMissing

        public static boolean valueIsMissing​(long value)
      • clear

        public void clear()
        Removes all elements TODO: Make this return this column
        Specified by:
        clear in interface Column<Long>
      • get

        public Long get​(int index)
        Returns the value at the given zero-based index
        Specified by:
        get in interface Column<Long>
      • isIn

        public Selection isIn​(long... numbers)
      • isNotIn

        public Selection isNotIn​(long... numbers)
      • unique

        public LongColumn unique()
        Returns a column of the same type containing only the unique values
        Specified by:
        unique in interface Column<Long>
        Returns:
        a Column
      • top

        public LongColumn top​(int n)
        Returns the largest ("top") n values in the column TODO(lwhite): Consider whether this should exclude missing
        Specified by:
        top in class NumberColumn<LongColumn,​Long>
        Parameters:
        n - The maximum number of records to return. The actual number will be smaller if n is greater than the number of observations in the column
        Returns:
        A list, possibly empty, of the largest observations
      • bottom

        public LongColumn bottom​(int n)
        Returns the smallest ("bottom") n values in the column TODO(lwhite): Consider whether this should exclude missing
        Specified by:
        bottom in class NumberColumn<LongColumn,​Long>
        Parameters:
        n - The maximum number of records to return. The actual number will be smaller if n is greater than the number of observations in the column
        Returns:
        A list, possibly empty, of the smallest n observations
      • lag

        public LongColumn lag​(int n)
        Returns a column of the same type and size as the receiver, containing the receivers values offset by n.

        For example if you lag a column containing 2, 3, 4 by 1, you get a column containing NA, 2, 3

        Specified by:
        lag in interface Column<Long>
        Specified by:
        lag in interface NumericColumn<Long>
      • removeMissing

        public LongColumn removeMissing()
        Returns a copy of this column with the missing values removed
        Specified by:
        removeMissing in interface Column<Long>
      • append

        public LongColumn append​(Long val)
        Appends value to the bottom of this column and return this column
        Specified by:
        append in interface Column<Long>
      • asLongArray

        public long[] asLongArray()
      • asDateTimes

        public DateTimeColumn asDateTimes​(ZoneOffset offset)
        Returns a DateTimeColumn where each value is the LocalDateTime represented by the values in this column

        The values in this column must be longs that represent the time in milliseconds from the epoch as in standard Java date/time calculations

        Parameters:
        offset - The ZoneOffset to use in the calculation
        Returns:
        A column of LocalDateTime values
      • longIterator

        public it.unimi.dsi.fastutil.longs.LongIterator longIterator()
      • asObjectArray

        public Long[] asObjectArray()
        Returns an array of objects as appropriate for my type of column
        Specified by:
        asObjectArray in interface Column<Long>
      • set

        public LongColumn set​(int i,
                              Long val)
        Sets the value at index row to the given value and return this column
        Specified by:
        set in interface Column<Long>
      • set

        public LongColumn set​(int i,
                              long val)
      • set

        public Column<Long> set​(int row,
                                String stringValue,
                                AbstractColumnParser<?> parser)
        Sets the value at row to the parsed value of the given String using the given parser and returns this column
        Specified by:
        set in interface Column<Long>
      • append

        public LongColumn append​(Column<Long> column)
        Appends all the values in the argument to the bottom of this column and return this column
        Specified by:
        append in interface Column<Long>
      • append

        public LongColumn append​(Column<Long> column,
                                 int row)
        Appends the value at the given row in the given column to the bottom of this column and return this column
        Specified by:
        append in interface Column<Long>
      • set

        public LongColumn set​(int row,
                              Column<Long> column,
                              int sourceRow)
        Sets the value at row to the value at sourceRow in the given column and return this column
        Specified by:
        set in interface Column<Long>
      • asBytes

        public byte[] asBytes​(int rowNumber)
        Returns the contents of the cell at rowNumber as a byte[].
        Specified by:
        asBytes in interface Column<Long>
        Parameters:
        rowNumber - index of the row
        Returns:
        content as byte[]
      • asSet

        public Set<Long> asSet()
        Returns a Set containing all the unique values in this column
        Specified by:
        asSet in interface Column<Long>
      • countUnique

        public int countUnique()
        Returns the count of unique values in this column.
        Specified by:
        countUnique in interface Column<Long>
        Returns:
        unique values as int
      • getLong

        public long getLong​(int row)
        Returns the value at the given index. The actual value is returned if the ColumnType is INTEGER. Otherwise the value is rounded as described below.

        Returns the closest int to the argument, with ties rounding to positive infinity.

        Special cases:

        Special cases:

        • If the argument is NaN, the result is 0.
        • If the argument is positive infinity or any value greater than or equal to the value of Integer.MAX_VALUE, an error will be thrown
        Parameters:
        row - the index of the value to be rounded to an integer.
        Returns:
        the value of the argument rounded to the nearest int value.
        Throws:
        ClassCastException - if the absolute value of the value to be rounded is too large to be cast to an int
      • isMissingValue

        public boolean isMissingValue​(long value)
      • setMissing

        public LongColumn setMissing​(int i)
        Sets the value at index i to the missing-value indicator for this column type, and return this column
        Specified by:
        setMissing in interface Column<Long>
      • sortAscending

        public void sortAscending()
        Sorts my values in ascending order
        Specified by:
        sortAscending in interface Column<Long>
      • sortDescending

        public void sortDescending()
        Sorts my values in descending order
        Specified by:
        sortDescending in interface Column<Long>
      • appendObj

        public LongColumn appendObj​(Object obj)
        Appends the given value to the bottom of this column and return this column
        Specified by:
        appendObj in interface Column<Long>
      • appendCell

        public LongColumn appendCell​(String value)
        Add one element to the bottom of this column and set its value to the parsed value of the given String. Parsing is type-specific
        Specified by:
        appendCell in interface Column<Long>
      • appendCell

        public LongColumn appendCell​(String value,
                                     AbstractColumnParser<?> parser)
        Add one element to the bottom of this column and set its value to the parsed value of the given String, as performed by the given parser
        Specified by:
        appendCell in interface Column<Long>
      • getUnformattedString

        public String getUnformattedString​(int row)
        Returns a String representation of the value at index r, without any formatting applied
        Specified by:
        getUnformattedString in interface Column<Long>
      • countByCategory

        public Table countByCategory()
        Returns a count of the number of elements in each category (i.e., the number of repetitions of each value) TODO: This needs to be well tested, especially for IntColumn
        Specified by:
        countByCategory in interface CategoricalColumn<Long>
      • asIntColumn

        public IntColumn asIntColumn()
        Returns a new IntColumn containing a value for each value in this column

        A narrowing conversion of a signed integer to an integral type T simply discards all but the n lowest order bits, where n is the number of bits used to represent type T. In addition to a possible loss of information about the magnitude of the numeric value, this may cause the sign of the resulting value to differ from the sign of the input value.

        In other words, if the element being converted is larger (or smaller) than Integer.MAX_VALUE (or Integer.MIN_VALUE) you will not get a conventionally good conversion.

        Despite the fact that overflow, underflow, or other loss of information may occur, a narrowing primitive conversion never results in a run-time exception.

        A missing value in the receiver is converted to a missing value in the result

        Specified by:
        asIntColumn in interface NumericColumn<Long>
      • asShortColumn

        public ShortColumn asShortColumn()
        Returns a new ShortColumn containing a value for each value in this column

        A narrowing conversion of a signed long to an integral type T simply discards all but the n lowest order bits, where n is the number of bits used to represent type T. In addition to a possible loss of information about the magnitude of the numeric value, this may cause the sign of the resulting value to differ from the sign of the input value.

        In other words, if the element being converted is larger (or smaller) than Short.MAX_VALUE (or Short.MIN_VALUE) you will not get a conventionally good conversion.

        Despite the fact that overflow, underflow, or other loss of information may occur, a narrowing primitive conversion never results in a run-time exception.

        A missing value in the receiver is converted to a missing value in the result

        Specified by:
        asShortColumn in interface NumericColumn<Long>
      • asFloatColumn

        public FloatColumn asFloatColumn()
        Returns a new FloatColumn containing a value for each value in this column

        A widening primitive conversion from a long to a float does not lose information about the overall magnitude of a numeric value. It may, however, result in loss of precision - that is, the result may lose some of the least significant bits of the value. In this case, the resulting floating-point value will be a correctly rounded version of the integer value, using IEEE 754 round-to-nearest mode.

        Despite the fact that a loss of precision may occur, a widening primitive conversion never results in a run-time exception.

        A missing value in the receiver is converted to a missing value in the result

        Specified by:
        asFloatColumn in interface NumericColumn<Long>
      • asDoubleColumn

        public DoubleColumn asDoubleColumn()
        Returns a new DoubleColumn containing a value for each value in this column

        A widening primitive conversion from a long to a double does not lose information about the overall magnitude of a numeric value. It may, however, result in loss of precision - that is, the result may lose some of the least significant bits of the value. In this case, the resulting floating-point value will be a correctly rounded version of the integer value, using IEEE 754 round-to-nearest mode.

        Despite the fact that a loss of precision may occur, a widening primitive conversion never results in a run-time exception.

        A missing value in the receiver is converted to a missing value in the result

        Specified by:
        asDoubleColumn in interface NumericColumn<Long>