chenJanTest {PMCMRplus} | R Documentation |
Performs Chen and Jan nonparametric test for contrasting increasing (decreasing) dose levels of a treatment in a randomized block design.
chenJanTest(y, ...) ## Default S3 method: chenJanTest( y, groups, blocks, alternative = c("greater", "less"), p.adjust.method = c("single-step", "SD1", p.adjust.methods), ... )
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 |
blocks |
a vector or factor object giving the block for the
corresponding elements of |
alternative |
the alternative hypothesis. Defaults to |
p.adjust.method |
method for adjusting p values
(see |
... |
further arguments to be passed to or from methods. |
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}: θ_0 = θ_1 = … = θ_m, & \mathrm{A}_{m} = θ_0 ≤ θ_1 ≤ … θ_m, θ_0 < θ_m \\ \mathrm{H}_{m-1}: θ_0 = θ_1 = … = θ_{m-1}, & \mathrm{A}_{m-1} = θ_0 ≤ θ_1 ≤ … θ_{m-1}, θ_0 < θ_{m-1} \\ \vdots & \vdots \\ \mathrm{H}_{1}: θ_0 = θ_1, & \mathrm{A}_{1} = θ_0 < θ_1\\ \end{array}
Let Y_{ij1}, Y_{ij2}, …, Y_{ijn_{ij}} (i = 1, 2, …, b, j = 0, 1, …, k ~ \mathrm{and} ~ n_{ij} ≥q 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} = ∑_{u=0}^{j-1} ∑_{s=1}^{n_{ij}} ∑_{r=1}^{n_{iu}} I(Y_{ijs} - Y_{iur}), \qquad i = 1, 2, …, b, ~ j = 1, 2, …, 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} = ∑_{s=0}^j n_{is} \qquad i = 1, 2, …, b, ~ j = 1, 2, …, k,
and
T_j = ∑_{i=1}^b T_{ij} \qquad j = 1, 2, …, k.
The mean and variance of T_j are
μ(T_j) = ∑_{i=1}^b n_{ij} ~ N_{ij-1} / 2 \qquad \mathrm{and}
σ(T_j) = ∑_{i=1}^b n_{ij} ~ N_{ij-1} ≤ft[ ≤ft(N_{ij} + 1\right) - ∑_{u=1}^{g_i} ≤ft(t_u^3 - t_u \right) / ≤ft\{N_{ij} ≤ft(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 - μ(T_j)}{σ(T_j)}
If p.adjust.method = "single-step"
than the p-values
are calculated with the probability function of the multivariate
normal distribution with Σ = 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 α-error inflation.
A list with class "PMCMR"
containing the following components:
a character string indicating what type of test was performed.
a character string giving the name(s) of the data.
lower-triangle matrix of the estimated quantiles of the pairwise test statistics.
lower-triangle matrix of the p-values for the pairwise tests.
a character string describing the alternative hypothesis.
a character string describing the method for p-value adjustment.
a data frame of the input data.
a string that denotes the test distribution.
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.
## 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"))