Version

Infragistics Median Calculator

This topic introduces the MedianCalculator which is part of the Infragistics Math Calculators™ library and explains, with code examples, how to use it to calculate median for a set of numbers.

Overview

The topic is organized as follows:

Introduction

Median is a mathematical calculation used to determine the “midpoint” of the data set and is not as sensitive to outliers as the mean calculation. In other words, it is less affected by a few very high or very low values in the data set. Half of the values in the set of data fall above the median and half fall below it. Median is one the measures of central tendency where other calculations include Mode and Mean (refer to the Infragistics Mean Calculator topic).

Median Formula

Median is computed by sorting a set of numbers and returning the middle number if there is an odd number of data points in the set. If there is an even number of data points in the set, the median is the average of the two middle data points when they are sorted (either in ascending or descending order).

IG Math Median Calculators 01.png

Figure 1 – Formula for Median Calculation

Legend
IG Math Median Calculators 02.png
  • Represents the median of a data set

IG Math Median Calculators 03.png
  • Represents a variable at the i index of a sorted data set

IG Math Median Calculators 04.png
  • Represents a variable at the middle index of a sorted data set

IG Math Median Calculators 05.png
  • Represents the total count of numbers in a data set

Median Calculator Properties

This section provides a list of properties of the MedianCalculator class.

Property Name Property Type Description

ItemsSource

Gets or sets the source of data items for the calculator.

ValueMemberPath

string

Gets or sets the Value member path of a data item. This property must be mapped to a name of numeric property of a data item.

Value

double

Gets the value of median of a data items bound to the ItemsSource property of the calculator.

Requirements

NuGet Package Requirements

In order to use the MedianCalculator, 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.

Data Requirements

The MedianCalculator 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 Median 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; }
}

Example

This example demonstrates how to calculate Median value for a set of numbers using the MedianCalculator. The MedianCalculator 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 MedianCalculator with the xamDataChart™ control.

Note
Note:

The following example assumes that you added all required assemblies in your project.

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 MedianCalculator()
calculator.ValueMemberPath = "Value"
calculator.ItemsSource = data
Dim median As Double = calculator.Value ' median 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 });
MedianCalculator calculator = new MedianCalculator();
calculator.ValueMemberPath = "Value";
calculator.ItemsSource = data;
double median = calculator.Value; // median equals 3