The table of frequencies for a data matrix of size 30 x 2 is output.
using System;
using Imsl.Stat;
using Imsl.Math;
public class TableMultiWayEx2
{
public static void Main(String[] args)
{
int[] indkeys = new int[]{0, 1};
double[,] x = {
{0.5, 1.5}, {1.5, 3.5},
{0.5, 3.5}, {1.5, 2.5},
{1.5, 3.5}, {1.5, 4.5},
{0.5, 1.5}, {1.5, 3.5},
{3.5, 6.5}, {2.5, 3.5},
{2.5, 4.5}, {3.5, 6.5},
{1.5, 2.5}, {2.5, 4.5},
{0.5, 3.5}, {1.5, 2.5},
{1.5, 3.5}, {0.5, 3.5},
{0.5, 1.5}, {0.5, 2.5},
{2.5, 5.5}, {1.5, 2.5},
{1.5, 3.5}, {1.5, 4.5},
{4.5, 5.5}, {2.5, 4.5},
{0.5, 3.5}, {1.5, 2.5},
{0.5, 2.5}, {2.5, 5.5}};
TableMultiWay tbl = new TableMultiWay(x, indkeys);
int[] nvalues = tbl.BalancedTable.GetNvalues();
double[] values = tbl.BalancedTable.GetValues();
Console.Out.WriteLine(" row values");
for (int i = 0; i < nvalues[0]; i++)
Console.Out.Write(values[i] + " ");
Console.Out.WriteLine("");
Console.Out.WriteLine("");
Console.Out.WriteLine(" column values");
for (int i = 0; i < nvalues[1]; i++)
Console.Out.Write(values[i + nvalues[0]] + " ");
double[] table = tbl.BalancedTable.GetTable();
Console.Out.WriteLine("");
Console.Out.WriteLine("");
Console.Out.WriteLine(" Table");
Console.Out.Write(" ");
for (int i = 0; i < nvalues[1]; i++)
Console.Out.Write(values[i + nvalues[0]] + " ");
Console.Out.WriteLine("");
for (int i = 0; i < nvalues[0]; i++)
{
Console.Out.Write(values[i] + " ");
for (int j = 0; j < nvalues[1]; j++)
Console.Out.Write(table[j + (nvalues[1] * i)] + " ");
Console.Out.WriteLine(" ");
}
}
}
row values
0.5 1.5 2.5 3.5 4.5
column values
1.5 2.5 3.5 4.5 5.5 6.5
Table
1.5 2.5 3.5 4.5 5.5 6.5
0.5 3 2 4 0 0 0
1.5 0 5 5 2 0 0
2.5 0 0 1 3 2 0
3.5 0 0 0 0 0 2
4.5 0 0 0 0 1 0
Link to C# source.