← All NMath Code Examples
Imports System
Imports System.Collections
Imports CenterSpace.NMath.Core
Imports System.IO
Namespace CenterSpace.NMath.Examples.VisualBasic
A .NET example in Visual Basic showing some of the advanced features of class OneWayAnova.
Module AdvancedOneWayAnovaExample
Sub Main()
Construct a DataFrame from the data in the file. The file contains
data for three groups of people, healthy people, melancholic depressed
people, and nonmelancholic depressed people. For each of these
groups the cortisol levels in the blood are measured*
The data consists of two columns. The first column contains the name
of the group that an individual belongs to and the second column
contains the level of cortisol for the individual.
Dim AnovaData As DataFrame = DataFrame.Load("AdvancedOneWayAnovaExample.dat", False, False, " ", True)
The names of the three groups in the study.
Dim Healthy As String = "Healthy"
Dim NonMelancholic As String = "Nonmelancholic"
Dim Melancholic As String = "Melancholic"
Construct a OneWayAnova instance from the DataFrame. The first
integer argument specifies which column contains the group names
and the second integer argument specifies which column contains
the numeric data (as zero based indices).
Dim Anova As OneWayAnova = New OneWayAnova(AnovaData, 0, 1)
Print out the means for each of the three groups.
Dim HealthGroupMean As Double = Anova.GetGroupMean(Healthy)
Dim NonMelancholicGroupMean As Double = Anova.GetGroupMean(NonMelancholic)
Dim MelancholicGroupMean As Double = Anova.GetGroupMean(Melancholic)
Console.WriteLine()
Console.WriteLine("Healthy group mean = " & HealthGroupMean.ToString("G7"))
Console.WriteLine("NonMelancholic group mean = " & NonMelancholicGroupMean.ToString("G7"))
Console.WriteLine("Melancholic group mean = " & MelancholicGroupMean.ToString("G7"))
Print out the sum of squares, degrees of freedom and mean square
for each of the source between groups, within groups, and total.
Console.WriteLine()
Console.WriteLine("Between Groups:")
Console.WriteLine(" Sum of Squares = " & Anova.AnovaTable.SumOfSquaresBetween.ToString("G7"))
Console.WriteLine(" Degrees of Freedom = " & Anova.AnovaTable.DegreesOfFreedomBetween.ToString("G7"))
Console.WriteLine(" Mean Square = " & Anova.AnovaTable.MeanSquareBetween.ToString("G7"))
Console.WriteLine()
Console.WriteLine("Within Groups:")
Console.WriteLine(" Sum of Squares = " & Anova.AnovaTable.SumOfSquaresWithin.ToString("G7"))
Console.WriteLine(" Degrees of Freedom = " & Anova.AnovaTable.DegreesOfFreedomWithin.ToString("G7"))
Console.WriteLine(" Mean Square = " & Anova.AnovaTable.MeanSquareWithin.ToString("G7"))
Console.WriteLine()
Console.WriteLine("Total:")
Console.WriteLine(" Sum of Squares = " & Anova.AnovaTable.SumOfSquaresTotal.ToString("G7"))
Console.WriteLine(" Degrees of Freedom = " & Anova.AnovaTable.DegreesOfFreedomTotal)
Console.WriteLine(" Mean Square = " & Anova.AnovaTable.MeanSquareTotal.ToString("G7"))
Console.WriteLine()
Fetch the F statistic and the critical value for the F statistic and
decide whether or not to reject the null hypothesis that all group
means are the same.
Dim F As Double = Anova.AnovaTable.FStatistic
Dim Alpha As Double = 0.01
Dim CriticalValue As Double = Anova.FStatisticCriticalValue(Alpha)
Console.Write("F = ")
Console.WriteLine(F)
Console.WriteLine()
Console.WriteLine("Critical value for alpha < " & Alpha & " = " & CriticalValue.ToString("G5"))
Console.WriteLine()
If (F > CriticalValue) Then
Console.WriteLine("Reject the null hypothesis that the means are the ")
Console.WriteLine("same in all three groups at the " & Alpha & " significance level.")
Else
Console.WriteLine("Accept the null hypothesis that the means are the ")
Console.WriteLine("same in all three groups at the " & Alpha & " significance level.")
End If
Console.WriteLine()
Console.WriteLine("Press Enter Key")
Console.Read()
End Sub
End Module
End Namespace
* Source: L. H. Price, D. S. Charney, A. L. Rubin, and F. R.
Henniger, "alpha2 Adregenric Receptor Function in Depression:
The Cortisol Response to Yohimbine," Arch. Gen. Psychiatry
43:849-858, 1986.
← All NMath Code Examples