Class AbstractMatrix<R,C,V>
- java.lang.Object
-
- ubic.basecode.dataStructure.matrix.AbstractMatrix<R,C,V>
-
- All Implemented Interfaces:
Serializable
,Matrix2D<R,C,V>
- Direct Known Subclasses:
CompressedBitMatrix
,DoubleMatrix
,IntegerMatrix
,ObjectMatrixImpl
,StringMatrix
public abstract class AbstractMatrix<R,C,V> extends Object implements Matrix2D<R,C,V>, Serializable
- Author:
- pavlidis
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
MAX_ROWS_TO_PRINT
-
Constructor Summary
Constructors Constructor Description AbstractMatrix()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addColumnName(C s)
Add a column name when we don't care what the index will be.void
addRowName(R s)
Add a row name when we don't care what the index will be.double[][]
asDoubles()
Attempt to coerce the entries into doubles.void
assign(V value)
Set all values in the matrix to the given value.protected void
checkColRange(int startCol, int endCol)
protected void
checkRowRange(int startRow, int endRow)
boolean
containsColumnName(C columnName)
boolean
containsRowName(R rowName)
int
getColIndexByName(C columnKey)
Get the index of a column by name.C
getColName(int i)
Gte the column name for an index.List<C>
getColNames()
int
getRowIndexByName(R s)
Get the index of a row by name..R
getRowName(int i)
Get the row name for an indexIterator<R>
getRowNameMapIterator()
List<R>
getRowNames()
boolean
hasColNames()
Check if this matrix has a valid set of column names.boolean
hasMissingValues()
Test for the presence of missing values (null, or in the case of numbers, NaN)boolean
hasRow(R r)
boolean
hasRowNames()
int
numMissing()
Return the number of missing values in the matrix.void
setColumnName(C s, int i)
Add a column name associated with an index.void
setColumnNames(List<C> v)
void
setRowName(R s, int i)
Add a row name associated with a row index.void
setRowNames(List<R> v)
abstract int
size()
-
-
-
Field Detail
-
MAX_ROWS_TO_PRINT
protected static final int MAX_ROWS_TO_PRINT
- See Also:
- Constant Field Values
-
-
Method Detail
-
addColumnName
public final void addColumnName(C s)
Add a column name when we don't care what the index will be. The index will be set by the method. This is useful for when we need to set up a matrix before we know how many column or rows there are.- Specified by:
addColumnName
in interfaceMatrix2D<R,C,V>
- Parameters:
s
-
-
addRowName
public final void addRowName(R s)
Add a row name when we don't care what the index will be. The index will be set by the method. This is useful for when we need to set up a matrix before we know how many column or rows there are.- Parameters:
s
-
-
asDoubles
public double[][] asDoubles()
Description copied from interface:Matrix2D
Attempt to coerce the entries into doubles.Numeric entries (Double, BigDecimal, Integer, BigInteger) and Strings that can be parsed as doubles are converted. Booleans are converted to 1 or 0. Dates are converted via Date.getDate(). Null entries are rendered as Double.NaN. For entries that are other types of objects, the HashCode is used.
-
assign
public void assign(V value)
Description copied from interface:Matrix2D
Set all values in the matrix to the given value.
-
containsColumnName
public final boolean containsColumnName(C columnName)
- Specified by:
containsColumnName
in interfaceMatrix2D<R,C,V>
- Returns:
-
containsRowName
public final boolean containsRowName(R rowName)
- Specified by:
containsRowName
in interfaceMatrix2D<R,C,V>
- Returns:
-
getColIndexByName
public final int getColIndexByName(C columnKey)
Description copied from interface:Matrix2D
Get the index of a column by name.- Specified by:
getColIndexByName
in interfaceMatrix2D<R,C,V>
- Parameters:
columnKey
- String- Returns:
- int
-
getColName
public final C getColName(int i)
Description copied from interface:Matrix2D
Gte the column name for an index.- Specified by:
getColName
in interfaceMatrix2D<R,C,V>
- Parameters:
i
- int- Returns:
- java.lang.String
-
getColNames
public final List<C> getColNames()
- Specified by:
getColNames
in interfaceMatrix2D<R,C,V>
- Returns:
- list of column names. Do not modify this list. Use the addColumnName methods.
-
getRowIndexByName
public final int getRowIndexByName(R s)
Description copied from interface:Matrix2D
Get the index of a row by name..- Specified by:
getRowIndexByName
in interfaceMatrix2D<R,C,V>
- Parameters:
s
- String- Returns:
- int
-
getRowName
public final R getRowName(int i)
Description copied from interface:Matrix2D
Get the row name for an index- Specified by:
getRowName
in interfaceMatrix2D<R,C,V>
- Parameters:
i
- int- Returns:
- java.lang.String
-
getRowNameMapIterator
public final Iterator<R> getRowNameMapIterator()
- Specified by:
getRowNameMapIterator
in interfaceMatrix2D<R,C,V>
- Returns:
- java.util.Iterator
-
getRowNames
public final List<R> getRowNames()
- Specified by:
getRowNames
in interfaceMatrix2D<R,C,V>
- Returns:
-
hasColNames
public final boolean hasColNames()
Description copied from interface:Matrix2D
Check if this matrix has a valid set of column names.- Specified by:
hasColNames
in interfaceMatrix2D<R,C,V>
- Returns:
- boolean
-
hasMissingValues
public boolean hasMissingValues()
Test for the presence of missing values (null, or in the case of numbers, NaN)- Returns:
-
hasRow
public final boolean hasRow(R r)
-
hasRowNames
public final boolean hasRowNames()
- Specified by:
hasRowNames
in interfaceMatrix2D<R,C,V>
- Returns:
- boolean
-
numMissing
public final int numMissing()
Description copied from interface:Matrix2D
Return the number of missing values in the matrix.- Specified by:
numMissing
in interfaceMatrix2D<R,C,V>
- Returns:
-
setColumnName
public final void setColumnName(C s, int i)
Description copied from interface:Matrix2D
Add a column name associated with an index.- Specified by:
setColumnName
in interfaceMatrix2D<R,C,V>
- Parameters:
s
- Object a column namei
- int the column index associated with this name
-
setColumnNames
public void setColumnNames(List<C> v)
- Specified by:
setColumnNames
in interfaceMatrix2D<R,C,V>
-
setRowName
public final void setRowName(R s, int i)
Description copied from interface:Matrix2D
Add a row name associated with a row index.- Specified by:
setRowName
in interfaceMatrix2D<R,C,V>
- Parameters:
s
- Objecti
- int
-
setRowNames
public final void setRowNames(List<R> v)
- Specified by:
setRowNames
in interfaceMatrix2D<R,C,V>
-
size
public abstract int size()
-
checkColRange
protected void checkColRange(int startCol, int endCol)
-
checkRowRange
protected void checkRowRange(int startRow, int endRow)
-
-