1 |
x |
|
y |
|
nboot |
|
DF |
|
eop |
|
est |
|
alpha |
|
cop |
|
op |
|
MM |
|
SEED |
|
pr |
|
fast |
|
... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (x, y, nboot = 100, DF = TRUE, eop = 1, est = skipcov,
alpha = 0.05, cop = 3, op = 1, MM = FALSE, SEED = TRUE, pr = FALSE,
fast = FALSE, ...)
{
if (SEED)
set.seed(2)
if (is.null(dim(x)))
stop("x should be a matrix or data frame with ncol>1")
if (is.null(dim(y)))
stop("y should be a matrix or data frame with ncol>1")
if (ncol(x) == 1 || ncol(y) == 1)
stop("Only multivariate data are allowed")
n1 <- nrow(x)
n2 <- nrow(y)
adalpha <- NA
if (DF) {
if (n1 == n2 && alpha == 0.05) {
p1 <- ncol(x)
if (p1 == 2) {
if (n1 >= 20)
adalpha <- 1.36/n1 + 0.05
}
if (p1 == 3) {
if (n1 >= 20)
adalpha <- 1.44/n + 0.05
}
if (p1 == 4) {
if (n1 >= 40)
adalpha <- 2.47/n1 + 0.05
}
if (p1 == 5) {
if (n1 >= 40)
adalpha <- 3.43/n + 0.05
}
if (p1 == 6) {
if (n1 >= 60)
adalpha <- 4.01/n1 + 0.05
}
}
}
val <- NA
for (j in 1:nboot) {
data1 <- sample(n1, size = n1, replace = T)
data2 <- sample(n2, size = n2, replace = T)
if (!DF) {
val[j] <- rgvar(as.matrix(x[data1, ]), est = est,
...) - rgvar(as.matrix(y[data2, ]), est = est,
...)
}
if (DF) {
val[j] <- if (!fast) {
rgvar(as.matrix(x[data1, ]), est = skipcov, op = op,
outpro.cop = cop, MM = MM, ...) - rgvar(as.matrix(y[data2,
]), est = skipcov, op = op, outpro.cop = cop,
MM = MM, ...)
}
if (fast) {
rgvar(as.matrix(x[data1, ]), est = skipcov.for,
op = op, outpro.cop = cop, MM = MM, ...) -
rgvar(as.matrix(y[data2, ]), est = skipcov.for,
op = op, outpro.cop = cop, MM = MM, ...)
}
if (pr)
print(c(j, val[j]))
}
}
p.value <- sum(val < 0)/nboot
p.value <- 2 * min(p.value, 1 - p.value)
est1 = rgvar(x, est = est)
est2 = rgvar(y, est = est)
list(p.value = p.value, adjusted.crit.level = adalpha, ratio.of.estimates = est1/est2,
n1 = n1, n2 = n2)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.