**45.6****
****Wilcoxon Signed-Rank Test** (.NET, C#, CSharp, VB, Visual Basic, F#)

The Wilcoxon signed-rank test is a
non-parametric statistical hypothesis test for comparing the means between
two paired samples, or repeated measurements on a single sample. It can
be used as an alternative to **TwoSamplePairedTTest**
when the population cannot be assumed to be normally distributed.

Class **WilcoxonSignedRankTest**
tests if two paired sets of observed values differ from each other in
a significant way. The null hypothesis is that the distribution *x - y* is symmetric about 0.

**Creating Wilcoxon Signed-Rank
Objects**

A **WilcoxonSignedRankTest**
instance is constructed from paired vectors of sample data.

Code Example – C# Wilcoxon signed-rank test

var a = new DoubleVector( 78, 24, 64, 45, 64, 52, 30, 50, 64, 50,

78, 22, 84, 40, 90, 72 );

var b = new DoubleVector( 78, 24, 62, 48, 68, 56, 25, 44, 56, 40,

68, 36, 68, 20, 58, 32 );

double alpha = 0.05;

var type = HypothesisType.TwoSided;

bool exactPValue = false;

var test =

new WilcoxonSignedRankTest( a, b, alpha, type, exactPValue );

Code Example – VB Wilcoxon signed-rank test

**TODO**

Note that paired observations where either value is
missing, or where the difference between values is zero, are ignored.
In the example above, a normal approximation is used to compute p-value.
For *,* the sampling distribution of the
test statistic converges to a normal distribution. For smaller sample
sizes, an exact p-value can be calculated by enumerating all possible
combinations of the test statistic given *n*.

Code Example – C# Wilcoxon signed-rank test

var x = new DoubleVector( 1.83, 0.50, 1.62, 2.48, 1.68, 1.88, 1.55,

3.06, 1.30 );

var y = new DoubleVector( 0.878, 0.647, 0.598, 2.050, 1.060, 1.290,

1.060, 3.140, 1.290 );

alpha = 0.01;

exactPValue = true;

test =

new WilcoxonSignedRankTest( x, y, alpha, type, exactPValue );

Code Example – VB Wilcoxon signed-rank test

**TODO**

An **InvalidArgumentException**
is raised if the given data contains zero valid pairs (valid pairs are
non-NaN and unequal), or if an exact p-value is specified for .