Browse Source

Statistics: mark Percentile class as obsolete

pull/112/head
Christoph Ruegg 13 years ago
parent
commit
17937ea88d
  1. 1
      src/Numerics/Statistics/Percentile.cs
  2. 12
      src/UnitTests/StatisticsTests/PercentileTests.cs

1
src/Numerics/Statistics/Percentile.cs

@ -66,6 +66,7 @@ namespace MathNet.Numerics.Statistics
/// <summary>
/// Class to calculate percentiles.
/// </summary>
[Obsolete("Use Statistics.Quantile or .QuantileFunc or one of the custom variants instead. Scheduled for removal in v3.0.")]
public class Percentile
{
/// <summary>

12
src/UnitTests/StatisticsTests/PercentileTests.cs

@ -55,6 +55,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
Method = PercentileMethod.Nist
};
Assert.AreEqual(95.19807, percentile.Compute(.9));
Assert.AreEqual(95.19807, Data.QuantileCustom(.9, QuantileDefinition.Nist));
}
/// <summary>
@ -68,6 +69,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
Method = PercentileMethod.Excel
};
Assert.AreEqual(95.19568, percentile.Compute(.9));
Assert.AreEqual(95.19568, Data.QuantileCustom(.9, QuantileDefinition.Excel));
}
/// <summary>
@ -81,6 +83,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
Method = PercentileMethod.Nearest
};
Assert.AreEqual(95.1959, percentile.Compute(.9));
Assert.AreEqual(95.1959, Data.QuantileCustom(.9, QuantileDefinition.Nearest));
}
/// <summary>
@ -94,11 +97,17 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
{
Method = PercentileMethod.Interpolation
};
var values = new[] {.25, .5, .75};
var percentiles = percentile.Compute(values);
Assert.AreEqual(1.75, percentiles[0]);
Assert.AreEqual(3.0, percentiles[1]);
Assert.AreEqual(4.25, percentiles[2]);
var q = data.QuantileCustomFunc(QuantileDefinition.R5);
Assert.AreEqual(1.75, q(0.25));
Assert.AreEqual(3.0, q(0.5));
Assert.AreEqual(4.25, q(0.75));
}
/// <summary>
@ -110,6 +119,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
var data = new double[] {};
var percentile = new Percentile(data);
Assert.IsTrue(double.IsNaN(percentile.Compute(0)));
Assert.IsTrue(double.IsNaN(data.Quantile(0)));
}
/// <summary>
@ -121,6 +131,8 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
var percentile = new Percentile(Data);
Assert.IsTrue(double.IsNaN(percentile.Compute(-0.1)));
Assert.IsTrue(double.IsNaN(percentile.Compute(1.1)));
Assert.IsTrue(double.IsNaN(Data.Quantile(-0.1)));
Assert.IsTrue(double.IsNaN(Data.Quantile(1.1)));
}
}
}

Loading…
Cancel
Save