NMath Stats provides two classes for calculating a two-way analysis of variance with repeated measures (RANOVA):
Both classes extend TwoWayAnova, and so inherit the methods and properties described in Section 8.3. Like TwoWayAnova, both TwoWayRanova and TwoWayRanovaTwo use multiple linear regression to compute the RANOVA values.
Instances of both TwoWayRanova and TwoWayRanovaTwo are constructed from data in a data frame. Three column indices are specified in the data frame: the column containing the first factor, the column containing the second factor, and the column containing the numeric data. For TwoWayRanova, the first factor is the repeated factor; for TwoWayRanovaTwo, both factors are repeated.
For example, this code groups the numeric data in column 3 of DataFrame df by factors constructed from columns 0 and 4:
TwoWayRanova ranova = new TwoWayRanova( df, 0, 4, 3 );
The factor constructed from column 0 is the repeated factor. In the following example, both factors are repeated:
TwoWayRanovaTwo ranova2 = new TwoWayRanovaTwo( df, 0, 4, 3 );
NOTE- Both TwoWayRanova and TwoWayRanovaTwo throw an InvalidArgumentException if the data contains missing values (NaNs).
Once you've constructed a TwoWayRanova, you can display the complete RANOVA table:
TwoWayRanova ranova = new TwoWayRanova( df, 0, 4, 3 ); Console.WriteLine( ranova );
Source Deg of Freedom SumOfSqu Mean Square F P FactorA 1 0.2032 0.2032 29.2322 0.0001 Subjects 14 1.7559 0.1254 . . FactorB 1 0.0205 0.0205 0.1635 0.6921 Interaction 1 0.0830 0.0830 11.9442 0.0039 Error 14 0.0973 0.0070 . . Total 31 2.1599 . . .
Class TwoWayRanovaTable summarizes the information in a traditional two-way RANOVA table with repeated measures on one factor. An instance of TwoWayRanovaTable can be obtained from a TwoWayRanova object using the RanovaTable property. For example:
TwoWayRanovaTable myTable = ranova.RanovaTable;
Class TwoWayRanovaTable derives from TwoWayAnovaTable, and so inherits the properties described in Section 8.3. In addition, TwoWayRanovaTable provides the following properties for accessing the new row in the RANOVA table for repeated measures on one factor:
Similarly, once you've constructed a TwoWayRanovaTwo, you can display the RANOVA table:
TwoWayRanovaTwo ranova2 = new TwoWayRanovaTwo( df, 0, 4, 3 ); Console.WriteLine( ranova2 );
Source Deg of Freedom SumOfSq Mean Square F P FactorA 1 1.4700 1.4700 88.2000 0.0000 FactorB 2 14.5654 7.2827 59.2348 0.0000 Interaction 2 3.3387 1.6694 18.9305 0.0001 A x Subject 14 1.7213 0.1229 . . B x Subject 7 0.1167 0.0167 . . Error 14 1.2346 0.0882 . . Total 47 29.3592 . . .
An instance of TwoWayRanovaTwoTable can be obtained from a TwoWayRanovaTwo object using the RanovaTable property. For example:
TwoWayRanovaTwoTable myTable = ranova2.RanovaTable;
Class TwoWayRanovaTwoTable also derives from TwoWayAnovaTable, and provides the following methods for accessing the additional rows in the RANOVA table with repeated measures on both factors:
TOC | Previous | Next | Index