Libraries.Compute.Statistics.Tests.CompareCountsPairwise Documentation

This class implements several post hoc analysis tests, which are intended to be used after a significant CompareCounts test with three or more samples. This class can take two approaches: The first approach, called the 'fitted' approach, will use the fitted result of the prior CompareCounts test to calculate the standard error and adjustments to correct for familywise error. The formal names of tests included in fitted approach are as follows: Residual Analysis-Bonferroni. The second and default approach, called the 'unfitted' approach, will not use the fitted result of prior CompareCounts test, instead it will run individual two-sample CompareCounts tests and then correct for familywise error using Bonferroni. The formal names of tests included in the unfitted approach are as follows: Chi-Squared test, Fisher exact test, Cochran's Q-test and McNemar test. Currently, the only type of correction for these pairwise test is 'strict' which refers to any test that applies the Bonferroni correction to the p-values. See the INFORMATION comment block at the bottom of this class for more information about each test. For more information: https://en.wikipedia.org/wiki/Post_hoc_analysis

Example Code

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCountsPairwise

DataFrame frame
frame:Load("Data/Data.csv")

// this example will show a two-factor between subjects design

// make a design for the test to follow 
ExperimentalDesign design

// select the name of a column in your frame as a categorical independent variable (factor)
design:AddBetweenSubjectsFactor("Group")    

// select the name of a column in your frame as the categorical dependent variable 
design:AddDependentVariable("Response")    

// tell the frame to use this design and run a compare means pairwise test
CompareCountsPairwise pairwise = frame:CompareCountsPairwise(design)

// output the pairwise summary, a list of adjusted p-values for every comparison
output pairwise:GetPairwiseSummary()

Inherits from: Libraries.Compute.Statistics.DataFrameCalculation, Libraries.Compute.Statistics.Tests.CompareCounts, Libraries.Compute.Statistics.Inputs.ColumnInput, Libraries.Language.Object, Libraries.Compute.Statistics.Tests.StatisticalTest, Libraries.Compute.Statistics.Inputs.FactorInput

Actions Documentation

AddColumn(integer column)

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

Parameters

  • integer column

AddFactor(integer column)

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

Parameters

  • integer column

Calculate(Libraries.Compute.Statistics.DataFrame frame)

Calculate(Libraries.Compute.Statistics.Reporting.CompareCountsResult result)

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)

CompareSeveralCounts(Libraries.Compute.Statistics.DataFrame frame)

This action represents a chi-squared test of independence test on two or more columns of data. It calculates the observed values by counting the frequencies of unique items. It then calculates the expected counts and compares the two to get the x2 value. H0: The two variables are independent. Ha: The two variables are not independent.

Parameters

Example


    use Libraries.Compute.Statistics.DataFrame
    use Libraries.Compute.Statistics.Tests.CompareCounts

    DataFrame frame
    frame:Load("data.csv")
    frame:AddSelectedColumns(0)
    frame:AddSelectedColumns(1)

    CompareCounts compare = frame:CompareCounts()
    output compare:GetSummary()

CompareSeveralRelatedCounts(Libraries.Compute.Statistics.DataFrame frame)

This action represents a McNemar-Bowker Test of Symmetry on three or more columns of data. It calculates the observed values by counting the frequencies of unique items. It then calculates the expected counts and compares the two to get the x2 value. H0: The two variables are independent. Ha: The two variables are not independent.

Parameters

Example


    use Libraries.Compute.Statistics.DataFrame
    use Libraries.Compute.Statistics.Tests.CompareCounts

    DataFrame frame
    frame:Load("data.csv")
    frame:AddSelectedColumns(0)
    frame:AddSelectedColumns(1)

    CompareCounts compare = frame:CompareRelatedCounts()
    output compare:GetSummary()

CorrectFamilyWiseError(boolean correctFamilyWiseError)

Strict method is the default for most tests if another is not selected

Parameters

  • boolean correctFamilyWiseError

CorrectFamilyWiseError()

Returns true for correction

Return

boolean:

EmptyColumns()

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

EmptyFactors()

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)

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:

GetDegreesOfFreedom()

This returns the degrees of freedom if only one result exists.

Return

number: the Degrees of Freedom.

GetExpected()

This returns the expected frame if only one result exists.

Return

Libraries.Compute.Statistics.DataFrame: the expected frame.

GetExperimentalDesign()

This is the class that holds all design selections and design frame.

Return

Libraries.Compute.Statistics.Tests.ExperimentalDesign:

GetFactor(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.

GetFactorIterator()

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

Return

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

GetFactorSize()

This action gets the size of the array.

Return

integer:

GetFormalSummary()

This action summarizes the results and places them into formal academic language, in APA format. For more information: https://apastyle.apa.org/instructional-aids/numbers-statistics-guide.pdf

Return

text:

GetGroups(Libraries.Compute.Statistics.DataFrame frame)

Gets the the fully factored samples/groups in an array of dataframes. Using an array of dataframes instead of a single dataframe helps with multivariate cases.

Parameters

Return

Libraries.Containers.HashTable:

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()

GetObserved()

This returns the observed frame if only one result exists.

Return

Libraries.Compute.Statistics.DataFrame: the observed frame.

GetPairwiseResults()

This returns the pairwise results if only one result exists. Pairwise results are only calculated in N-sample tests, otherwise this will return undefined.

Return

Libraries.Containers.Array: the pairwise results.

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareMeans
use Libraries.Compute.Statistics.Reporting.CompareCountsResult
    
DataFrame frame
frame:Load("Data/Data.csv")
    
CompareCounts compare
compare:Add(0)
compare:Add(1)
compare:Add(2)
compare:Add(3)
compare:TestPairwise()
frame:Calculate(compare)

Array<CompareMeansResult> pairwise = compare:GetPairwiseResults()

GetPairwiseSummary(text source)

This returns the simple pairwise summary of the results for a given effect.

Parameters

  • text source

Return

text: the pairwise summary.

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCountsPairwise
    
DataFrame frame
frame:Load("Data/Data.csv")
    
ExperimentalDesign design
design:AddBetweenSubjectsFactor("Age")
design:AddBetweenSubjectsFactor("Group")
design:AddDependentVariable("Response")
    
CompareCountsPairwise compare
compare:SetExperimentalDesign(design)
frame:Calculate(compare)

output compare:GetPairwiseSummary("Age")

GetPairwiseSummary()

This returns the simple pairwise summary of the results for all effects.

Return

text: the pairwise summary.

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCountsPairwise
    
DataFrame frame
frame:Load("Data/Data.csv")
    
ExperimentalDesign design
design:AddBetweenSubjectsFactor("Age")
design:AddBetweenSubjectsFactor("Group")
design:AddDependentVariable("Response")
    
CompareCountsPairwise compare
compare:SetExperimentalDesign(design)
frame:Calculate(compare)

output compare:GetPairwiseSummary()

GetProbabilityValue()

This returns the probability if only one result exists.

Return

number: the P-Value.

GetReport(Libraries.System.File file)

This creates an HTML page with the results as its contents.

Parameters

GetResiduals()

This returns the residuals frame if only one result exists.

Return

Libraries.Compute.Statistics.DataFrame: the residuals frame.

GetResult()

This returns a result if only one exists. If there are more than one, this action returns undefined.

Return

Libraries.Compute.Statistics.Reporting.CompareCountsResult: the CompareCountsResult.

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCounts
    
DataFrame frame
frame:Load("Data/Data.csv")
frame:AddSelectedColumns("region")
CompareCounts compare = frame:CompareSelectedCounts()

CompareCountsResult result = compare:GetResult()

GetResults()

Return

Libraries.Containers.Array: an array of all the CompareCountsResult objects

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCountsPairwise
    
DataFrame frame
frame:Load("Data/Data.csv")
    
ExperimentalDesign design
design:AddBetweenSubjectsFactor("Age")
design:AddBetweenSubjectsFactor("Group")
design:AddDependentVariable("Response")
    
CompareCountsPairwise compare
compare:SetExperimentalDesign(design)
frame:Calculate(compare)

Array<CompareCountsResult> results = compare:GetResults()

GetResults(text source)

Parameters

  • text source

Return

Libraries.Containers.Array: an array of the CompareCountsResult objects for a single source (i.e. a main effect or an interaction effect)

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCountsPairwise
    
DataFrame frame
frame:Load("Data/Data.csv")

ExperimentalDesign design
design:AddBetweenSubjectsFactor("Age")
design:AddBetweenSubjectsFactor("Group")
design:AddDependentVariable("Response")
    
CompareCountsPairwise compare
compare:SetExperimentalDesign(design)
frame:Calculate(compare)

Array<CompareCountsResult> results = compare:GetResults("Age")

GetSignificanceLevel()

A list of unique items of the factor

Return

number:

GetSources()

This returns the simple pairwise summary of the results for a given effect.

Return

Libraries.Containers.Array: the pairwise summary.

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCountsPairwise
    
DataFrame frame
frame:Load("Data/Data.csv")
    
ExperimentalDesign design
design:AddBetweenSubjectsFactor("Age")
design:AddBetweenSubjectsFactor("Group")
design:AddDependentVariable("Response")
    
CompareCountsPairwise compare
compare:SetExperimentalDesign(design)
frame:Calculate(compare)

output compare:GetPairwiseSummary("Age")

GetStatisticalFormatting()

GetSummary()

This action summarizes the results and lists them informally.

Return

text:

GetTestStatistic()

This returns the x2 test statistic if only one result exists.

Return

number: the x2 test statistic.

GoodnessOfFit(Libraries.Compute.Statistics.DataFrame frame)

This action represents a goodness of fit chi-squared test on a selected columns of data. It calculates the observed values by counting the frequencies of unique items. It then calculates the expected counts (expecting an equal distribution) and compares the two to get the x2 value. H0: The population fits a uniform distribution. Ha: The population does not fit a uniform distribution.

Parameters

Example


    use Libraries.Compute.Statistics.DataFrame
    use Libraries.Compute.Statistics.Tests.CompareCounts

    DataFrame frame
    frame:Load("data.csv")
    frame:AddSelectedColumns(0)

    CompareCounts compare = frame:CompareCounts()
    output compare:GetSummary()

GoodnessOfFitAgainstExpectedCounts(Libraries.Compute.Statistics.DataFrame frame, Libraries.Compute.Statistics.DataFrame expected)

This action represents a goodness of fit chi-squared test on a single column of data. It calculates the observed values by counting the frequencies of unique items. Then it compares the observed with the user-supplied expected counts. H0: The population fits the given distribution. Ha: The population does not fit the given distribution.

Parameters

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCounts
    
DataFrame frame
frame:Load("Data/Data.csv")
frame:AddSelectedColumns("smoker")

TextColumn category
category:Add("yes")
category:Add("no")

NumberColumn count
count:Add(60)
count:Add(50)

DataFrame expected
expected:AddColumn(category)
expected:AddColumn(count)

CompareCounts compare
compare:GoodnessOfFitAgainstExpectedCounts(frame, expected)
compare:GetSummary()

GoodnessOfFitAgainstExpectedPercents(Libraries.Compute.Statistics.DataFrame frame, Libraries.Compute.Statistics.DataFrameColumn percents)

This action represents a goodness of fit chi-squared test on one or more columns of data. For each column, it calculates the observed values by counting the frequencies of unique items. Then it compares the observed with the user-supplied expected percentages. The percentages must add up to 1.0, and there must be a percent for each category. H0: The population fits the given distribution. Ha: The population does not fit the given distribution.

Parameters

Example

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.CompareCounts
    
DataFrame frame
frame:Load("Data/Data.csv")
frame:AddSelectedColumns("smoker")

NumberColumn percent
percent:Add(0.4)
percent:Add(0.6)

CompareCounts compare
compare:GoodnessOfFitAgainstExpectedPercents(frame, percent)
compare:GetSummary()

GoodnessOfFitAgainstExpectedPercents(Libraries.Compute.Statistics.DataFrame frame, Libraries.Compute.Statistics.DataFrame percents)

This action represents a goodness of fit chi-squared test on one or more columns of data. For each column, it calculates the observed values by counting the frequencies of unique items. Then it compares the observed with the user-supplied expected percentages. The percentages must add up to 1.0, and there must be a percent for each cate