m2way:

Usage Arguments Examples

Usage

1
m2way(J, K, x, est = hd, alpha = 0.05, nboot = 600, SEED = TRUE, grp = NA, pr = TRUE, ...)

Arguments

J
K
x
est
alpha
nboot
SEED
grp
pr
...

Examples

 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
##---- 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, alpha = 0.05, nboot = 600, SEED = TRUE, 
    grp = NA, pr = TRUE, ...) 
{
    JK <- J * K
    if (is.data.frame(x)) 
        x = as.matrix(x)
    xcen <- list()
    if (is.matrix(x)) 
        x <- listm(x)
    if (!is.list(x)) 
        stop("Data must be stored in list mode or a matrix.")
    if (!is.na(grp[1])) {
        yy <- x
        for (j in 1:length(grp)) x[[j]] <- yy[[grp[j]]]
    }
    for (j in 1:JK) {
        temp <- x[[j]]
        temp <- temp[!is.na(temp)]
        x[[j]] <- temp
    }
    xx <- list()
    mloc <- NA
    for (i in 1:JK) {
        xx[[i]] <- x[[i]]
        mloc[i] <- est(xx[[i]], ...)
        xcen[[i]] <- xx[[i]] - mloc[i]
    }
    x <- xx
    mat <- matrix(mloc, nrow = J, ncol = K, byrow = T)
    leva <- apply(mat, 1, mean)
    levb <- apply(mat, 2, mean)
    gm <- mean(levb)
    testa <- sum((leva - mean(leva))^2)
    testb <- sum((levb - mean(levb))^2)
    testab <- NA
    tempab <- matrix(NA, nrow = J, ncol = K)
    for (j in 1:J) {
        for (k in 1:K) {
            tempab[j, k] <- mat[j, k] - leva[j] - levb[k] + gm
        }
    }
    testab <- sum(tempab^2)
    bvec <- matrix(NA, nrow = JK, ncol = nboot)
    if (SEED) 
        set.seed(2)
    if (pr) 
        print("Taking bootstrap samples. Please wait.")
    for (j in 1:JK) {
        if (pr) 
            print(paste("Working on group ", j))
        data <- matrix(sample(xcen[[j]], size = length(xcen[[j]]) * 
            nboot, replace = TRUE), nrow = nboot)
        bvec[j, ] <- apply(data, 1, est, ...)
    }
    boota <- NA
    bootb <- NA
    bootab <- NA
    for (i in 1:nboot) {
        mat <- matrix(bvec[, i], nrow = J, ncol = K, byrow = T)
        leva <- apply(mat, 1, mean)
        levb <- apply(mat, 2, mean)
        gm <- mean(mat)
        boota[i] <- sum((leva - mean(leva))^2)
        bootb[i] <- sum((levb - mean(levb))^2)
        for (j in 1:J) {
            for (k in 1:K) {
                tempab[j, k] <- mat[j, k] - leva[j] - levb[k] + 
                  gm
            }
        }
        bootab[i] <- sum(tempab^2)
    }
    pvala <- 1 - sum(testa >= boota)/nboot
    pvalb <- 1 - sum(testb >= bootb)/nboot
    pvalab <- 1 - sum(testab >= bootab)/nboot
    list(p.value.A = pvala, p.value.B = pvalb, p.value.AB = pvalab, 
        test.A = testa, test.B = testb, test.AB = testab, est.loc = matrix(mloc, 
            nrow = J, ncol = K, byrow = T))
  }

musto101/wilcox_R documentation built on May 23, 2019, 10:52 a.m.