1 |
x1 |
|
y1 |
|
x2 |
|
y2 |
|
est |
|
tr |
|
pts |
|
fr1 |
|
fr2 |
|
nboot |
|
alpha |
|
plotit |
|
SEED |
|
PRO |
|
... |
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | ##---- 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 (x1, y1, x2, y2, est = tmean, tr = 0.2, pts = NA, fr1 = 1,
fr2 = 1, nboot = 600, alpha = 0.05, plotit = TRUE, SEED = TRUE,
PRO = FALSE, ...)
{
stop("USE ancGLOB")
gv1 <- vector("list")
if (is.na(pts[1])) {
isub <- c(1:5)
test <- c(1:5)
xorder <- order(x1)
y1 <- y1[xorder]
x1 <- x1[xorder]
xorder <- order(x2)
y2 <- y2[xorder]
x2 <- x2[xorder]
n1 <- 1
n2 <- 1
vecn <- 1
for (i in 1:length(x1)) n1[i] <- length(y1[near(x1, x1[i],
fr1)])
for (i in 1:length(x1)) n2[i] <- length(y2[near(x2, x1[i],
fr2)])
for (i in 1:length(x1)) vecn[i] <- min(n1[i], n2[i])
sub <- c(1:length(x1))
isub[1] <- min(sub[vecn >= 12])
isub[5] <- max(sub[vecn >= 12])
isub[3] <- floor((isub[1] + isub[5])/2)
isub[2] <- floor((isub[1] + isub[3])/2)
isub[4] <- floor((isub[3] + isub[5])/2)
for (i in 1:5) {
j <- i + 5
temp1 <- y1[near(x1, x1[isub[i]], fr1)]
temp2 <- y2[near(x2, x1[isub[i]], fr2)]
temp1 <- temp1[!is.na(temp1)]
temp2 <- temp2[!is.na(temp2)]
gv1[[i]] <- temp1
gv1[[j]] <- temp2
}
loc <- NA
if (SEED)
set.seed(2)
bvec <- matrix(NA, nrow = nboot, ncol = 5)
for (j in 1:5) {
k <- j + 5
loc[j] <- est(gv1[[j]]) - est(gv1[[k]])
xx <- matrix(sample(gv1[[j]], size = length(gv1[[j]]) *
nboot, replace = TRUE), nrow = nboot)
yy <- matrix(sample(gv1[[k]], size = length(gv1[[k]]) *
nboot, replace = TRUE), nrow = nboot)
bvec[, j] <- apply(xx, 1, FUN = est, ...) - apply(yy,
1, FUN = est, ...)
}
nullv <- rep(0, 5)
if (!PRO) {
mvec <- apply(bvec, 2, FUN = mean)
m1 <- var(t(t(bvec) - mvec + loc))
temp <- mahalanobis(rbind(bvec, nullv), loc, m1)
}
if (PRO) {
temp <- pdis(rbind(bvec, nullv))
}
sig.level <- sum(temp[nboot + 1] < temp[1:nboot])/nboot
}
if (!is.na(pts[1])) {
npt <- length(pts)
n1 <- 1
n2 <- 1
vecn <- 1
mat <- matrix(NA, nrow = 2 * length(pts), ncol = 3)
for (i in 1:length(pts)) {
n1[i] <- length(y1[near(x1, pts[i], fr1)])
n2[i] <- length(y2[near(x2, pts[i], fr2)])
}
gv <- vector("list", 2 * length(pts))
for (i in 1:length(pts)) {
j <- i + npt
temp1 <- y1[near(x1, pts[i], fr1)]
temp2 <- y2[near(x2, pts[i], fr2)]
temp1 <- temp1[!is.na(temp1)]
temp2 <- temp2[!is.na(temp2)]
mat[i, 1] <- pts[i]
if (length(temp1) <= 10)
print(paste("Warning, there are", length(temp1),
" points corresponding to the design point X=",
pts[i]))
if (length(temp2) <= 10)
print(paste("Warning, there are", length(temp2),
" points corresponding to the design point X=",
pts[i]))
mat[i, 2] <- length(temp1)
mat[i, 3] <- length(temp2)
gv1[[i]] <- temp1
gv1[[j]] <- temp2
}
loc <- NA
if (SEED)
set.seed(2)
bvec <- matrix(NA, nrow = nboot, ncol = npt)
for (j in 1:npt) {
k <- j + npt
loc[j] <- est(gv1[[j]]) - est(gv1[[k]])
xx <- matrix(sample(gv1[[j]], size = length(gv1[[j]]) *
nboot, replace = TRUE), nrow = nboot)
yy <- matrix(sample(gv1[[k]], size = length(gv1[[k]]) *
nboot, replace = TRUE), nrow = nboot)
bvec[, j] <- apply(xx, 1, FUN = est, ...) - apply(yy,
1, FUN = est, ...)
}
nullv <- rep(0, npt)
if (!PRO) {
mvec <- apply(bvec, 2, FUN = mean)
m1 <- var(t(t(bvec) - mvec + loc))
temp <- mahalanobis(rbind(bvec, nullv), loc, m1)
}
if (PRO)
temp <- pdis(rbind(bvec, nullv))
sig.level <- sum(temp[nboot + 1] < temp[1:nboot])/nboot
}
if (plotit)
runmean2g(x1, y1, x2, y2, fr = fr1, est = est, ...)
list(p.value = sig.level)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.