chenJanTest: Chen and Jan Many-to-One Comparisons Test

View source: R/chenJanTest.R

chenJanTestR Documentation

Chen and Jan Many-to-One Comparisons Test

Description

Performs Chen and Jan nonparametric test for contrasting increasing (decreasing) dose levels of a treatment in a randomized block design.

Usage

chenJanTest(y, ...)

## Default S3 method:
chenJanTest(
  y,
  groups,
  blocks,
  alternative = c("greater", "less"),
  p.adjust.method = c("single-step", "SD1", p.adjust.methods),
  ...
)

Arguments

y

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

groups

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

blocks

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

alternative

the alternative hypothesis. Defaults to greater.

p.adjust.method

method for adjusting p values (see p.adjust)

...

further arguments to be passed to or from methods.

Details

Chen's test is a non-parametric step-down trend test for testing several treatment levels with a zero control. Let there be k groups including the control and let the zero dose level be indicated with i = 0 and the highest dose level with i = m, then the following m = k - 1 hypotheses are tested:

\begin{array}{ll} \mathrm{H}_{m}: \theta_0 = \theta_1 = \ldots = \theta_m, & \mathrm{A}_{m} = \theta_0 \le \theta_1 \le \ldots \theta_m, \theta_0 < \theta_m \\ \mathrm{H}_{m-1}: \theta_0 = \theta_1 = \ldots = \theta_{m-1}, & \mathrm{A}_{m-1} = \theta_0 \le \theta_1 \le \ldots \theta_{m-1}, \theta_0 < \theta_{m-1} \\ \vdots & \vdots \\ \mathrm{H}_{1}: \theta_0 = \theta_1, & \mathrm{A}_{1} = \theta_0 < \theta_1\\ \end{array}

Let Y_{ij1}, Y_{ij2}, \ldots, Y_{ijn_{ij}} (i = 1, 2, \dots, b, j = 0, 1, \ldots, k ~ \mathrm{and} ~ n_{ij} \geq 1) be a i.i.d. random variable of at least ordinal scale. Further,the zero dose control is indicated with j = 0.

The Mann-Whittney statistic is

T_{ij} = \sum_{u=0}^{j-1} \sum_{s=1}^{n_{ij}} \sum_{r=1}^{n_{iu}} I(Y_{ijs} - Y_{iur}), \qquad i = 1, 2, \ldots, b, ~ j = 1, 2, \ldots, k,

where where the indicator function returns I(a) = 1, ~ \mathrm{if}~ a > 0, 0.5 ~ \mathrm{if} a = 0 otherwise 0.

Let

N_{ij} = \sum_{s=0}^j n_{is} \qquad i = 1, 2, \ldots, b, ~ j = 1, 2, \ldots, k,

and

T_j = \sum_{i=1}^b T_{ij} \qquad j = 1, 2, \ldots, k.

The mean and variance of T_j are

\mu(T_j) = \sum_{i=1}^b n_{ij} ~ N_{ij-1} / 2 \qquad \mathrm{and}

\sigma(T_j) = \sum_{i=1}^b n_{ij} ~ N_{ij-1} \left[ \left(N_{ij} + 1\right) - \sum_{u=1}^{g_i} \left(t_u^3 - t_u \right) / \left\{N_{ij} \left(N_{ij} - 1\right) \right\} \right]/ 2,

with g_i the number of ties in the ith block and t_u the size of the tied group u.

The test statistic T_j^* is asymptotically multivariate normal distributed.

T_j^* = \frac{T_j - \mu(T_j)}{\sigma(T_j)}

If p.adjust.method = "single-step" than the p-values are calculated with the probability function of the multivariate normal distribution with \Sigma = I_k. Otherwise the standard normal distribution is used to calculate p-values and any method as available by p.adjust or by the step-down procedure as proposed by Chen (1999), if p.adjust.method = "SD1" can be used to account for \alpha-error inflation.

Value

A list with class "PMCMR" 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

lower-triangle matrix of the estimated quantiles of the pairwise test statistics.

p.value

lower-triangle matrix of the p-values for the pairwise tests.

alternative

a character string describing the alternative hypothesis.

p.adjust.method

a character string describing the method for p-value adjustment.

model

a data frame of the input data.

dist

a string that denotes the test distribution.

References

Chen, Y.I., Jan, S.L., 2002. Nonparametric Identification of the Minimum Effective Dose for Randomized Block Designs. Commun Stat-Simul Comput 31, 301–312.

See Also

Normal pmvnorm

Examples

## Example from Chen and Jan (2002, p. 306)
## MED is at dose level 2 (0.5 ppm SO2)
y <- c(0.2, 6.2, 0.3, 0.3, 4.9, 1.8, 3.9, 2, 0.3, 2.5, 5.4, 2.3, 12.7,
-0.2, 2.1, 6, 1.8, 3.9, 1.1, 3.8, 2.5, 1.3, -0.8, 13.1, 1.1,
12.8, 18.2, 3.4, 13.5, 4.4, 6.1, 2.8, 4, 10.6, 9, 4.2, 6.7, 35,
9, 12.9, 2, 7.1, 1.5, 10.6)
groups <- gl(4,11, labels = c("0", "0.25", "0.5", "1.0"))
blocks <- structure(rep(1:11, 4), class = "factor",
levels = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"))

summary(chenJanTest(y, groups, blocks, alternative = "greater"))
summary(chenJanTest(y, groups, blocks, alternative = "greater", p.adjust = "SD1"))


PMCMRplus documentation built on Nov. 27, 2023, 1:08 a.m.