This topic introduces the MeanCalculator which is part of the Infragistics Math Calculators™ library and explains, with code examples, how to use it to calculate mean for a set of numbers.
The topic is organized as follows:
Assembly Requirements
Data Requirements
Mean is a mathematical calculation used to determine the “typical” or “average” value of a set of numbers. Mean is one of the measures of central tendency; the others are mode and median (refer to the Infragistics Median Calculator topic).
Mean value is computed by taking the sum of the numbers in a set of data divided by the total count of numbers in the set.
Figure 1 – Formula for Mean Calculation
This section provides a list of properties of the MeanCalculator class.
In order to use the MeanCalculator, the following NuGet package must be added to a WPF project.
Infragistics.WPF.Math.Calculators
For more information on setting up the NuGet feed and adding NuGet packages, you can take a look at the following documentation: NuGet Feeds.
The MeanCalculator uses ItemsSource property for data binding and ValueMemberPath property for data mapping. Any object that meets the following requirements can be bound to this property:
The data model must implement IEnumerable interface (e.g. List, Collection, Queue, Stack)
The data model must contain items that have at least one numeric data column for calculating the mean value.
An example of object that meets above criteria is presented in the following code snippet:
In Visual Basic:
Imports System.Collections.Generic '... Public Class DataPointList Inherits List(Of DataPoint) Public Sub New(dataValues As IEnumerable(Of Double)) For Each value As Double In dataValues Me.Add(New DataPoint() With { Key .Value = value }) Next End Sub End Class Public Class DataPoint Public Property Value() As Double Get Return _value End Get Set _value = Value End Set End Property Private _value As Double End Class
In C#:
using System.Collections.Generic; //... public class DataPointList : List<DataPoint> { public DataPointList(IEnumerable<double> dataValues) { foreach (double value in dataValues) { this.Add(new DataPoint { Value = value}); } } } public class DataPoint { public double Value { get; set; } }
This example demonstrates how to calculate mean value for a set of numbers using the MeanCalculator. The MeanCalculator is a non-visual element and it should be defined in resources section on application, page, control level, or in code-behind, the same way as you would define a data source or a variable. Refer also to the Value Overlay topic for examples on how to integrate the MeanCalculator with the xamDataChart™ control.
In Visual Basic:
Imports Infragistics.Math.Calculators '... Dim data As New DataPointList(New List(Of Double)() From { 5.0, 1.0, 2.0, 3.0, 4.0 }) Dim calculator As New MeanCalculator() calculator.ValueMemberPath = "Value" calculator.ItemsSource = data Dim mean As Double = calculator.Value ' mean equals 3
In C#:
using Infragistics.Math.Calculators; //... DataPointList data = new DataPointList(new List<double> { 5.0, 1.0, 2.0, 3.0, 4.0 }); MeanCalculator calculator = new MeanCalculator(); calculator.ValueMemberPath = "Value"; calculator.ItemsSource = data; double mean = calculator.Value; // mean equals 3