Package edu.cmu.tetrad.data
Class CellTable
java.lang.Object
edu.cmu.tetrad.data.CellTable
Stores a cell count table of arbitrary dimension. Provides methods for incrementing particular cells and for
calculating marginals.
- Author:
- josephramsey
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCellTable
(int[] dims) Constructs a new cell table using the given array for dimensions, initializing all cells in the table to zero. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addToTable
(DataSet dataSet, int[] indices) long
calcMargin
(int[] coords) Calculates a marginal sum for the cell table.long
calcMargin
(int[] coords, int[] marginVars) An alternative way to specify a marginal calculation.int
getNumValues
(int varIndex) long
getValue
(int[] testCell) void
setMissingValue
(int missingValue)
-
Constructor Details
-
CellTable
public CellTable(int[] dims) Constructs a new cell table using the given array for dimensions, initializing all cells in the table to zero.- Parameters:
dims
- anint[]
value
-
-
Method Details
-
addToTable
-
getNumValues
public int getNumValues(int varIndex) - Parameters:
varIndex
- the index of the variable in question.- Returns:
- the number of dimensions of the variable.
-
calcMargin
public long calcMargin(int[] coords) Calculates a marginal sum for the cell table. The variables over which marginal sums should be taken are indicated by placing "-1's" in the appropriate positions in the coordinate argument. For instance, to find the margin for v0 = 1, v1 = 3, and v3 = 2, where the marginal sum ranges over all values of v2 and v4, the array [1, 3, -1, 2, -1] should be used.- Parameters:
coords
- an array of the sort described above.- Returns:
- the marginal sum specified.
-
calcMargin
public long calcMargin(int[] coords, int[] marginVars) An alternative way to specify a marginal calculation. In this case, coords specifies a particular cell in the table, and varIndices is an array containing the indices of the variables over which the margin sum should be calculated. The sum is over the cell specified by 'coord' and all of the cells which differ from that cell in any of the specified coordinates.- Parameters:
coords
- anint[]
valuemarginVars
- anint[]
value- Returns:
- an
int
value
-
setMissingValue
public void setMissingValue(int missingValue) -
getValue
public long getValue(int[] testCell)
-