Package edu.cmu.tetrad.data
Class CellTableCountSample
java.lang.Object
edu.cmu.tetrad.data.CellTableCountSample
- All Implemented Interfaces:
CellTable
Stores a cell count table of arbitrary dimension. Provides methods for incrementing particular cells and for
calculating marginals.
This implementation of CellTable uses a MultiDimIntTable to store the cell counts and counts data in the dataset to populate the tables, for each independence question encountered.
Immutable.
- Version:
- $Id: $Id
- Author:
- josephramsey
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCellTableCountSample
(DataSet dataSet, int[] testIndices) Constructs a new cell table using the given array for dimensions, initializing all cells in the table to zero.CellTableCountSample
(DataSet dataSet, int[] testIndices, List<Integer> rows) Constructs a new cell table using the given array for dimensions, initializing all cells in the table to zero. -
Method Summary
Modifier and TypeMethodDescriptionint
calcMargin
(int[] coords) Calculates a marginal sum for the cell table.int
calcMargin
(int[] coords, int[] marginVars) An alternative way to specify a marginal calculation.int
getDimension
(int varIndex) Returns the dimensions of the given variable.int
getValue
(int[] coords) Returns the value of the cell specified by the given coordinates.
-
Constructor Details
-
CellTableCountSample
Constructs a new cell table using the given array for dimensions, initializing all cells in the table to zero. This constructor assumes no subsampling.- Parameters:
dataSet
- the data set to be used in the table.testIndices
- the indices of the variables to be used in the table.
-
CellTableCountSample
Constructs a new cell table using the given array for dimensions, initializing all cells in the table to zero. The rows of the dataset to use; the default is to use all the rows. This is useful for subsampling.- Parameters:
dataSet
- the data set to be used in the table.testIndices
- the indices of the variables to be used in the table.rows
- the rows of the dataset to use; if null, all rows are used.
-
-
Method Details
-
getDimension
public int getDimension(int varIndex) Returns the dimensions of the given variable.- Specified by:
getDimension
in interfaceCellTable
- Parameters:
varIndex
- the index of the variable in question.- Returns:
- the dimension of the variable.
-
calcMargin
public int 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.- Specified by:
calcMargin
in interfaceCellTable
- Parameters:
coords
- an array of the sort described above.- Returns:
- the marginal sum specified.
-
calcMargin
public int 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 the cells which differ from that cell in any of the specified coordinates.- Specified by:
calcMargin
in interfaceCellTable
- Parameters:
coords
- anint[]
valuemarginVars
- anint[]
value- Returns:
- an
int
value
-
getValue
-