mnshankar/two-factorial-anova

Analysis of Variance with 2 independent variables (balanced, with interaction)

1.0 2015-05-06 13:08 UTC

This package is not auto-updated.

Last update: 2024-04-27 15:36:55 UTC


README

Build Status

Classic two-factorial ANOVA (With Replication)

This package is used to output simple 2 factor ANOVA (Analysis of Variables) parameters using PHP. (AKA: Two-Way ANOVA, Two-Way Crossed ANOVA)

Installation

Add the ANOVA package as a dependency to your composer.json file:

{
    "require": {
        "mnshankar/two-factorial-anova": "1.0"
    }
}

Usage

Initialize the factorial array for processing as follows: NOTE: Order in which data is passed in is important

*+-------------+------------------+-----------------------+
*|             |             1st Factor                   |
*|             |       1          |          2            |
*|             |                  |                       |
*+--------------------------------------------------------+
*|             |                  |                       |
*|             |       1          |          4            |
*|  2  A       |       2          |          5            |
*|  n          |       3          |          6            |
*|  d          |                  |                       |
*|             |                  |                       |
*|--F----------+------------------------------------------+
*|  a          |                  |                       |
*|  c          |                  |                       |
*|  t          |       7          |          10           |
*|  o  B       |       8          |          11           |
*|  r          |       9          |          12           |
*|             |                  |                       |
*+-------------+------------------+-----------------------+
 $obj = new ANOVA(
            array(1,2,3,4,5,6,7,8,9,10,11,12),3
        );

The above example is converting a 12 element array into a 2*2 factorial array containing 3 elements in each cell. The first parameter to the constructor is the input array and the second parameter is the number of replications (defaults to 3)

The various ANOVA parameters can then be calculated as follows:

$obj->computeR();   //array of row sums
$obj->computeC();   //array of column sums
$obj->MSC();        //Mean square of columns
$obj->MSR();        //Mean square of rows
$obj->MSRC();       //Mean square interaction rc
$obj->MSE();        //Mean square residuals
$obj->Fc();         //F stat Column
$obj->Fr();         //F stat row
$obj->Frc();        //F stat interaction rc
$obj->Pc();         //P value Column
$obj->Pr();         //P value row
$obj->Prc();        //P value interaction rc

Reference

NIST/SEMATECH e-Handbook of Statistical Methods, http://www.itl.nist.gov/div898/handbook/ppc/section2/ppc232.htm, 5/4/2015.

I acknowledge with thanks, input from Dr. Ying Zhang, Ph.D Professor & Director of Education Department of Biostatistics IU Fairbanks School of Public Health and IU School of Medicine