1 |
J |
|
K |
|
x |
|
est |
|
JK |
|
grp |
|
nboot |
|
SEED |
|
na.rm |
|
... |
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 | ##---- 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 (J, K, x, est = hd, JK = J * K, grp = c(1:JK), nboot = 599,
SEED = TRUE, na.rm = TRUE, ...)
{
if (is.matrix(x)) {
if (ncol(x) != JK)
print("WARNING: number of groups is not equal to JK")
}
if (is.list(x)) {
if (length(x) != JK)
print("WARNING: number of groups is not equal to JK")
}
if (is.data.frame(x)) {
if (ncol(x) != JK)
print("WARNING: number of groups is not equal to JK")
}
if (SEED)
set.seed(2)
if (is.data.frame(x) || is.matrix(x)) {
y <- list()
ik = 0
il = c(1:K) - K
for (j in 1:J) {
il = il + K
zz = x[, il]
if (na.rm)
zz = elimna(zz)
for (k in 1:K) {
ik = ik + 1
y[[ik]] = zz[, k]
}
}
x <- y
}
data <- list()
for (j in 1:length(x)) {
data[[j]] <- x[[grp[j]]]
}
x <- data
con = con2way(J, K)
estA = psihat(x, est, con = con$conA, ...)
estB = psihat(x, est, con = con$conB, ...)
estAB = psihat(x, est, con = con$conAB, ...)
set.seed(2)
nvec <- NA
jp <- 1 - K
for (j in 1:J) {
jp <- jp + K
nvec[j] <- length(x[[j]])
}
blist <- list()
testmatA <- matrix(NA, ncol = ncol(con$conA), nrow = nboot)
testmatB <- matrix(NA, ncol = ncol(con$conB), nrow = nboot)
testmatAB <- matrix(NA, ncol = ncol(con$conAB), nrow = nboot)
for (iboot in 1:nboot) {
iv <- 0
for (j in 1:J) {
temp <- sample(nvec[j], replace = T)
for (k in 1:K) {
iv <- iv + 1
tempx <- x[[iv]]
blist[[iv]] <- tempx[temp]
}
}
testmatA[iboot, ] <- psihat(blist, est, con = con$conA,
...)
testmatB[iboot, ] <- psihat(blist, est, con = con$conB,
...)
testmatAB[iboot, ] <- psihat(blist, est, con = con$conAB,
...)
}
pbA = NA
pbB = NA
pbAB = NA
for (j in 1:ncol(con$conA)) pbA[j] = mean(testmatA[, j] <
0) + 0.5 * mean(testmatA[, j] == 0)
for (j in 1:ncol(con$conB)) pbB[j] = mean(testmatB[, j] <
0) + 0.5 * mean(testmatB[, j] == 0)
for (j in 1:ncol(con$conAB)) pbAB[j] = mean(testmatAB[, j] <
0) + 0.5 * mean(testmatAB[, j] == 0)
for (j in 1:ncol(con$conA)) pbA[j] = 2 * min(c(pbA[j], 1 -
pbA[j]))
for (j in 1:ncol(con$conB)) pbB[j] = 2 * min(c(pbB[j], 1 -
pbB[j]))
for (j in 1:ncol(con$conAB)) pbAB[j] = 2 * min(c(pbAB[j],
1 - pbAB[j]))
p.valueA = pbA
p.valueB = pbB
p.valueAB = pbAB
pbA = cbind(estA, p.valueA)
pbB = cbind(estB, p.valueB)
pbAB = cbind(estAB, p.valueAB)
list(FacA = pbA, FacB = pbB, p.FacAB = pbAB, conA = con$conA,
conB = con$conB, conAB = con$conAB)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.