# Repeated Measures Anova QuickStart Sample (IronPython)

Illustrates how to use the OneWayRAnovaModel class to perform a one-way analysis of variance with repeated measures in IronPython.

View this sample in: C# Visual Basic F#

``````Python
import numerics

from System import Array

import clr
from System.Data import *

from Extreme.Statistics import *

#/ Illustrates the use of the OneWayRAnovaModel class for performing
#/ a one-way analysis of variance with repeated measures.

# This QuickStart Sample investigates the effect of the color of packages
# on the sales of the product. The data comes from 12 stores.
# Packages can be either red, green or blue.

# Set up the data in an ADO.NET data table.
dataTable = DataTable()

# Construct the OneWayAnova object.
anova = OneWayRAnovaModel(dataTable, "Score", "Drug", "Person")
# Verify that the design is balanced:
if (not anova.IsBalanced):
print "The design is not balanced."
# Perform the calculation.
anova.Compute()

# The AnovaTable property gives us a classic anova table.
# We can write the table directly to the console:
print anova.AnovaTable.ToString()
print

# A Cell object represents the data in a cell of the model, # i.e. the data related to one level of the factor.
# We can use it to access the group means for each drug.

# We need two indices here: the second index corresponds
# to the person factor.

# First we get the CategoricalScale object so we can easily iterate
# through the levels:
drugFactor = anova.GetFactor(0)
for level in drugFactor.GetLevels():
print "Mean for group '{0}': {1:.4f}".format(level, anova.Cells[level, Cell.All].Mean)

# We could have accessed the cells directly as well:
print "Variance for second drug:", anova.Cells["2", Cell.All].Variance
print

# We can get the summary data for the entire model
# by using the special index 'Cell.All':
totalSummary = anova.Cells[Cell.All, Cell.All]
print "Summary data:"
print "# observations:", totalSummary.Count
print "Grand mean:     ", totalSummary.Mean

``````