Libraries.Compute.Statistics.Transforms.CrossTab Documentation

The CrossTab class takes a DataFrame and its selection to decide how to transform it. Specifically, CrossTab takes the first column in the selection and places it on the left-most column of the new frame, then the second column and places it on top. In both cases, the columns are filtered for unique items and sorted. Once these columns are placed, the CrossTab calculates how many of each unique item pair exist in the original DataFrame. For example, if the first row of the original DataFrame has the value 'test' and the right-most value has '11.2,' then the position in the transformed CrossTab DataFrame will increment this value in the table. Thus, if there were no other test, 11.2 pairs, this value in the new DataFrame would be 1.

Example Code

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Transforms.CrossTab

//Create a DataFrame, load it, and set which column to focus on
DataFrame frame
frame:Load("Words.csv")
frame:AddSelectedColumn(2)
frame:AddSelectedColumn(3)


CrossTab tab
DataFrame crossTab = frame:Transform(tab)
crossTab:Save("Cross.csv")
output "File Saved."

Inherits from: Libraries.Compute.Statistics.Inputs.ColumnInput, Libraries.Language.Object, Libraries.Compute.Statistics.DataFrameTransform

Actions Documentation

AddColumn(integer column)

This action adds a value to the end of the input.

Parameters

  • integer column

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

CreatesCopy()

This action tells us whether or not this transform makes a copy of the data or modifies it in place. Transforms that do not make a copy should override this action.

Return

boolean: True if this transform makes a copy.

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Transforms.ReverseTransform
use Libraries.System.File

//Load a comma separated file
DataFrame frame
frame:Load("Data.csv")

//reverse the data frame
ReverseTransform reverse
output reverse:CreatesCopy() // by default, this transform returns true.

EmptyColumns()

This action empty's the list, clearing out all of the items contained within it.

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

FullRowsAndColumns(boolean fullCrossTab)

A flag to produce a cross tab with all categories listed on both the rows and the columns regardless of if they appear in both columns of data. This method will fill in any missing values with 0 at the end to show that there were no shared count at those crossed elements. This is useful in collecting count information for paired data and is used in some statistical tests.

Parameters

  • boolean fullCrossTab

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Transforms.CrossTab

//Create a DataFrame, load it, and set which column to focus on
DataFrame frame
frame:Load("Words.csv")
frame:AddSelectedColumn(2)
frame:AddSelectedColumn(3)

CrossTab tab
tab:FullRowsAndColumns(true)
DataFrame crossTab = frame:Transform(tab)
crossTab:Save("Cross.csv")
output "File Saved."

GetColumn(integer index)

This action gets the item at a given location in an array.

Parameters

  • integer index

Return

integer: The item at the given location.

GetColumnIterator()

This action gets an iterator for the object and returns that iterator.

Return

Libraries.Containers.Iterator: Returns the iterator for an object.

GetColumnSize()

This action gets the size of the array.

Return

integer:

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

IsEmptyColumns()

This action returns a boolean value, true if the container is empty and false if it contains any items.

Return

boolean: Returns true when the container is empty and false when it is not.

RemoveColumn(integer column)

This action removes the first occurrence of an item that is found in the Addable object.

Parameters

  • integer column

Return

boolean: Returns true if the item was removed and false if it was not removed.

RemoveColumnAt(integer index)

This action removes an item from an indexed object and returns that item.

Parameters

  • integer index

Transform(Libraries.Compute.Statistics.DataFrame frame)

Produce a cross tab with all categories listed on both the rows and the columns

Parameters

Return

Libraries.Compute.Statistics.DataFrame: