このトピックは、 Infragistics Math Calculators™ ライブラリの一部である MeanCalculator を紹介し、コード例を示して、数値セットの平均を計算するために使用する方法を説明します。
Mean は数字セットの「一般的な」値または「平均」値を決定するために使用される算術計算です。平均は代表値のひとつで、その他はモードと中央値です (「Infragistics Median Calculator」トピックを参照)。
平均値は、データ セットの数字の合計をセットの数字の総数で割って計算されます。
図 1 - 平均計算式
このセクションは、 MeanCalculator クラスのプロパティのリストを提供します。
MeanCalculator を使用するためには、次の NuGet パッケージ参照を WPF プロジェクトに追加する必要があります。
Infragistics.WPF.Math.Calculators
NuGet フィードのセットアップと NuGet パッケージの追加の詳細については、NuGet フィード ドキュメントを参照してください。
MeanCalculator は、データバインド用 ItemsSource プロパティおよびデータ マッピング用 ValueMemberPath プロパティを使用します。次の要件に合致するオブジェクトはすべてこのプロパティにバインドできます。
データ モデルは IEnumerable インターフェイス (たとえば リスト、 コレクション、 キュー、 スタック) を実装しなければなりません。
データ モデルは、平均値を計算するために 1 つ以上の数値データ列のある項目を含める必要があります。
上記の条件を満たすオブジェクトの例が次のコード例に示されています。
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
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; } }
この例は、MeanCalculator を使用する数値のセット用に平均値を計算する方法を示します。MeanCalculator は非視覚的要素であり、データ ソースまたは変数を定義する時と同じやり方で、アプリケーション、ページ、コントロールレベル上のリソースセクション、またはコードビハインドで定義してください。MeanCalculator を xamDataChart コントロールと統合する方法の例については、 値オーバーレイのトピックを参照してください。
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 ' 3 に等しいという意味です
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; // 3 に等しいという意味です