Class CellTableAdTree

java.lang.Object
edu.cmu.tetrad.data.CellTableAdTree
All Implemented Interfaces:
CellTable

public final class CellTableAdTree extends Object implements CellTable
Stores a cell count table of arbitrary dimension. Provides methods for incrementing particular cells and for calculating marginals.

Immutable.

Version:
$Id: $Id
Author:
josephramsey
  • Constructor Summary

    Constructors
    Constructor
    Description
    CellTableAdTree(DataSet dataSet, int[] testIndices)
    Constructs a new CellTableAdTree using the provided data set and test indices.
    CellTableAdTree(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 Type
    Method
    Description
    int
    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.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CellTableAdTree

      public CellTableAdTree(DataSet dataSet, int[] testIndices)
      Constructs a new CellTableAdTree using the provided data set and test indices.
      Parameters:
      dataSet - the data set to be used in the table.
      testIndices - the indices of the variables to be used in the table.
    • CellTableAdTree

      public CellTableAdTree(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.
      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 to be used in the table; 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 interface CellTable
      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 interface CellTable
      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 interface CellTable
      Parameters:
      coords - an int[] value
      marginVars - an int[] value
      Returns:
      an int value
    • getValue

      public int getValue(int[] coords)
      Returns the value of the cell specified by the given coordinates.
      Specified by:
      getValue in interface CellTable
      Parameters:
      coords - the coordinates of the cell.
      Returns:
      the value of the cell.