Learn R Programming

PMCMRplus (version 1.9.3)

spearmanTest: Testing against Ordered Alternatives (Spearman Test)

Description

Performs a Spearman type test for testing against ordered alternatives.

Usage

spearmanTest(x, ...)

# S3 method for default spearmanTest(x, g, alternative = c("two.sided", "greater", "less"), ...)

# S3 method for formula spearmanTest( formula, data, subset, na.action, alternative = c("two.sided", "greater", "less"), ... )

Arguments

x

a numeric vector of data values, or a list of numeric data vectors.

further arguments to be passed to or from methods.

g

a vector or factor object giving the group for the corresponding elements of "x". Ignored with a warning if "x" is a list.

alternative

the alternative hypothesis. Defaults to "two.sided".

formula

a formula of the form response ~ group where response gives the data values and group a vector or factor of the corresponding groups.

data

an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(formula).

subset

an optional vector specifying a subset of observations to be used.

na.action

a function which indicates what should happen when the data contain NAs. Defaults to getOption("na.action").

Value

A list with class "htest" containing the following components:

method

a character string indicating what type of test was performed.

data.name

a character string giving the name(s) of the data.

statistic

the estimated quantile of the test statistic.

p.value

the p-value for the test.

parameter

the parameters of the test statistic, if any.

alternative

a character string describing the alternative hypothesis.

estimates

the estimates, if any.

null.value

the estimate under the null hypothesis, if any.

Details

A one factorial design for dose finding comprises an ordered factor, .e. treatment with increasing treatment levels. The basic idea is to correlate the ranks \(R_{ij}\) with the increasing order number \(1 \le i \le k\) of the treatment levels (Kloke and McKean 2015). More precisely, \(R_{ij}\) is correlated with the expected mid-value ranks under the assumption of strictly increasing median responses. Let the expected mid-value rank of the first group denote \(E_1 = \left(n_1 + 1\right)/2\). The following expected mid-value ranks are \(E_j = n_{j-1} + \left(n_j + 1 \right)/2\) for \(2 \le j \le k\). The corresponding number of tied values for the \(i\)th group is \(n_i\). # The sum of squared residuals is \(D^2 = \sum_{i=1}^k \sum_{j=1}^{n_i} \left(R_{ij} - E_i \right)^2\). Consequently, Spearman's rank correlation coefficient can be calculated as:

$$ r_\mathrm{S} = \frac{6 D^2} {\left(N^3 - N\right)- C}, $$

with $$ C = 1/2 - \sum_{c=1}^r \left(t_c^3 - t_c\right) + 1/2 - \sum_{i=1}^k \left(n_i^3 - n_i \right) $$ and \(t_c\) the number of ties of the \(c\)th group of ties. Spearman's rank correlation coefficient can be tested for significance with a \(t\)-test. For a one-tailed test the null hypothesis of \(r_\mathrm{S} \le 0\) is rejected and the alternative \(r_\mathrm{S} > 0\) is accepted if

$$ r_\mathrm{S} \sqrt{\frac{\left(n-2\right)}{\left(1 - r_\mathrm{S}\right)}} > t_{v,1-\alpha}, $$

with \(v = n - 2\) degree of freedom.

References

Kloke, J., McKean, J. W. (2015) Nonparametric statistical methods using R. Boca Raton, FL: Chapman & Hall/CRC.

See Also

kruskalTest and shirleyWilliamsTest of the package PMCMRplus, kruskal.test of the library stats.

Examples

Run this code
# NOT RUN {
## Example from Sachs (1997, p. 402)
x <- c(106, 114, 116, 127, 145,
       110, 125, 143, 148, 151,
       136, 139, 149, 160, 174)
g <- gl(3,5)
levels(g) <- c("A", "B", "C")

## Chacko's test
chackoTest(x, g)

## Cuzick's test
cuzickTest(x, g)

## Johnson-Mehrotra test
johnsonTest(x, g)

## Jonckheere-Terpstra test
jonckheereTest(x, g)

## Le's test
leTest(x, g)

## Spearman type test
spearmanTest(x, g)

## Murakami's BWS trend test
bwsTrendTest(x, g)

## Fligner-Wolfe test
flignerWolfeTest(x, g)

## Shan-Young-Kang test
shanTest(x, g)

# }

Run the code above in your browser using DataLab