1 |
J |
|
K |
|
L |
|
data |
|
tr |
|
grp |
|
alpha |
|
p |
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 | ##---- 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, L, data, tr = 0.2, grp = c(1:p), alpha = 0.05,
p = J * K * L)
{
if (is.data.frame(data))
data = as.matrix(data)
if (is.list(data))
data = bwwna(J, K, L, data)
if (is.matrix(data))
data = bwwmatna(J, K, L, data)
if (!is.list(data))
stop("The data are not stored in list mode or a matrix")
if (p != length(data)) {
print("The total number of groups, based on the specified levels, is")
print(p)
print("The number of groups in data is")
print(length(data))
print("Warning: These two values are not equal")
}
tmeans <- 0
h <- 0
v <- 0
for (i in 1:p) {
tmeans[i] <- mean(data[[grp[i]]], tr)
h[i] <- length(data[[grp[i]]]) - 2 * floor(tr * length(data[[grp[i]]]))
}
v = bwwcovm(J, K, L, data, tr = tr)
ij <- matrix(c(rep(1, J)), 1, J)
ik <- matrix(c(rep(1, K)), 1, K)
il <- matrix(c(rep(1, L)), 1, L)
jm1 <- J - 1
cj <- diag(1, jm1, J)
cj <- diag(1, jm1, J)
for (i in 1:jm1) cj[i, i + 1] <- 0 - 1
km1 <- K - 1
ck <- diag(1, km1, K)
for (i in 1:km1) ck[i, i + 1] <- 0 - 1
lm1 <- L - 1
cl <- diag(1, lm1, L)
for (i in 1:lm1) cl[i, i + 1] <- 0 - 1
cmat <- kron(cj, kron(ik, il))
Qa = bwwtrim.sub(cmat, tmeans, v, h, p)
Qa.siglevel <- 1 - pf(Qa, J - 1, 999)
cmat <- kron(ij, kron(ck, il))
Qb = bwwtrim.sub(cmat, tmeans, v, h, p)
Qb.siglevel <- 1 - pf(Qb, K - 1, 999)
cmat <- kron(ij, kron(ik, cl))
Qc <- bwwtrim.sub(cmat, tmeans, v, h, p)
Qc.siglevel <- 1 - pf(Qc, L - 1, 999)
cmat <- kron(cj, kron(ck, il))
Qab <- bwwtrim.sub(cmat, tmeans, v, h, p)
Qab.siglevel <- 1 - pf(Qab, (J - 1) * (K - 1), 999)
cmat <- kron(cj, kron(ik, cl))
Qac <- bwwtrim.sub(cmat, tmeans, v, h, p)
Qac.siglevel <- 1 - pf(Qac, (J - 1) * (L - 1), 999)
cmat <- kron(ij, kron(ck, cl))
Qbc <- bwwtrim.sub(cmat, tmeans, v, h, p)
Qbc.siglevel <- 1 - pf(Qbc, (K - 1) * (L - 1), 999)
cmat <- kron(cj, kron(ck, cl))
Qabc <- bwwtrim.sub(cmat, tmeans, v, h, p)
Qabc.siglevel <- 1 - pf(Qabc, (J - 1) * (K - 1) * (L - 1),
999)
list(Qa = Qa, Qa.p.value = Qa.siglevel, Qb = Qb, Qb.p.value = Qb.siglevel,
Qc = Qc, Qc.p.value = Qc.siglevel, Qab = Qab, Qab.p.value = Qab.siglevel,
Qac = Qac, Qac.p.value = Qac.siglevel, Qbc = Qbc, Qbc.p.value = Qbc.siglevel,
Qabc = Qabc, Qabc.p.value = Qabc.siglevel)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.