MC.test
calculates a permutation distribution of test statistics from a Welcht-test. It compares this distribution to an initial test statistic calculated using non-permuted data, to derive an empirical P-value.
MC.test(Y,X, perm = 1000, alternative = "not.equal", paired = FALSE, print = TRUE)
Returns a list with the following items:
t-statistic calculated from non-permuted (original)data.
The number of times a Monte Carlo derived test statistic was more extreme than the initial observed test statistic.
Empirical P-value
The alternative hypothesis
Response data.
Categorical explanatory variable.
Number of iterations.
Logical: Are sample paired?
Alternative hypothesis. One of three options: "less","greater"
, or "not.equal"
. These provide lower-tail, upper-tail, and two-tailed tests.
Logical: automatically print a pretty summary of results (default).
Ken Aho, thanks to Vince Buonaccorsi who found an error under paired = TRUE
.
The method follows the description of Manly (1998) for a two-sample test. Upper and lower tailed tests are performed by finding the portion of the distribution greater than or equal to the observed t test statistic (upper-tailed) or less than or equal to the observed test statistic (lower-tailed). A two tailed test is performed by multiplying the portion of the null distribution greater than or equal to the absolute value of the observed test statistic and less than or equal to the absolute value of the observed test statistic times minus one. Results from the test will be similar to oneway_test
from the library coin
because it is based on an equivalent test statistic. As with t.test
, pairing is assumed to occur within levels of X. That is, the responses Y = 11 and Y = 2 occur in the same pair (block) below.
Y <- c(11,12,13,2,3,4)
X <- c(1,1,1,2,2,2)
Manly, B. F. J. (1997) Randomization and Monte Carlo Methods in Biology, 2nd edition. Chapman and Hall, London.
Y<-c(runif(100,1,3),runif(100,1.2,3.2))
X<-factor(c(rep(1,100),rep(2,100)))
MC.test(Y,X,alternative="less")
Run the code above in your browser using DataLab