shirleyWilliamsTest {PMCMRplus} | R Documentation |
Performs Shirley's nonparametric equivalent of William's test for contrasting increasing dose levels of a treatment.
shirleyWilliamsTest(x, ...) ## Default S3 method: shirleyWilliamsTest( x, g, alternative = c("two.sided", "greater", "less"), method = c("look-up", "boot"), nperm = 10000, ... ) ## S3 method for class 'formula' shirleyWilliamsTest( formula, data, subset, na.action, alternative = c("two.sided", "greater", "less"), method = c("look-up", "boot"), nperm = 10000, ... )
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 |
alternative |
the alternative hypothesis. Defaults to |
method |
a character string specifying the test statistic to use.
Defaults to |
nperm |
number of permutations for the assymptotic permutation test.
Defaults to |
formula |
a formula of the form |
data |
an optional matrix or data frame (or similar: see
|
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 |
The Shirley-William 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}
The procedure starts from the highest dose level (m) to the the lowest dose level (1) and stops at the first non-significant test. The consequent lowest effect dose is the treatment level of the previous test number. This function has included the modifications as recommended by Williams (1986).
If method = "look-up"
is selected, the function does not return p-values. Instead the critical t-values
as given in the tables of Williams (1972) for α = 0.05 (one-sided)
are looked up according to the degree of freedoms (v = ∞) and the order number of the
dose level (i) and (potentially) modified according to the given extrapolation
coefficient β.
Non tabulated values are linearly interpolated with the function
approx
.
For the comparison of the first dose level (i = 1) with the control, the critical
z-value from the standard normal distribution is used (Normal
).
If method = "boot"
, the p-values are estimated through an assymptotic
boot-strap method. The p-values for H_1
are calculated from the t distribution with infinite degree of freedom.
Either a list with class "osrt"
or a list with class "PMCMR"
.
a character string indicating what type of test was performed.
a character string giving the name(s) of the data.
the estimated statistic(s)
critical R-values for α = 0.05.
a character string describing the alternative hypothesis.
the parameter(s) of the test distribution.
a string that denotes the test distribution.
There are print and summary methods available.
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.
For method = "look-up"
, only tests on the level of α = 0.05
can be performed for alternative hypotheses less or greater.
For method = "boot"
only the alternative "two.sided"
can be calculated.
One may increase the number of permutations to e.g. nperm = 10000
in order to get more precise p-values. However, this will be on the expense of
computational time.
Shirley, E., (1977) Nonparametric Equivalent of Williams Test for Contrasting Increasing Dose Levels of a Treatment, Biometrics 33, 386–389.
Williams, D. A. (1986) Note on Shirley's nonparametric test for comparing several dose levels with a zero-dose control, Biometrics 42, 183–186.
## Example from Shirley (1977) ## Reaction times of mice to stimuli to their tails. y <- c(2.4, 3, 3, 2.2, 2.2, 2.2, 2.2, 2.8, 2, 3, 2.8, 2.2, 3.8, 9.4, 8.4, 3, 3.2, 4.4, 3.2, 7.4, 9.8, 3.2, 5.8, 7.8, 2.6, 2.2, 6.2, 9.4, 7.8, 3.4, 7, 9.8, 9.4, 8.8, 8.8, 3.4, 9, 8.4, 2.4, 7.8) g <- gl(4, 10) ## Not run: ## two.sided test summary(shirleyWilliamsTest(y ~ g, method = "boot", alternative = "two.sided")) ## End(Not run) ## one-sided test using look-up table shirleyWilliamsTest(y ~ g, alternative = "greater")