Scheffe:

Usage Arguments Examples

Usage

1
Scheffe(x, con = 0, alpha = 0.05, WARN = TRUE)

Arguments

x
con
alpha
WARN

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
85
86
87
88
89
90
91
92
93
##---- 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, con = 0, alpha = 0.05, WARN = TRUE) 
{
    if (WARN) 
        print("WARNING: Suggest using lincon instead")
    if (is.data.frame(x)) 
        x = as.matrix(x)
    if (is.matrix(x)) 
        x <- listm(x)
    if (!is.list(x)) 
        stop("Data must be stored in a matrix or in list mode.")
    con <- as.matrix(con)
    J <- length(x)
    n = NA
    xbar <- NA
    for (j in 1:J) {
        xx <- !is.na(x[[j]])
        val <- x[[j]]
        x[[j]] <- val[xx]
        n[j] = length(x[[j]])
        xbar[j] <- mean(x[[j]])
    }
    N = sum(n)
    df2 = N - J
    AOV = anova1(x)
    if (sum(con^2) == 0) {
        CC <- (J^2 - J)/2
        df1 = J - 1
        psihat <- matrix(0, CC, 6)
        dimnames(psihat) <- list(NULL, c("Group", "Group", "psihat", 
            "ci.lower", "ci.upper", "p.value"))
        test <- matrix(NA, CC, 5)
        dimnames(test) <- list(NULL, c("Group", "Group", "test", 
            "crit", "se"))
        jcom <- 0
        for (j in 1:J) {
            for (k in 1:J) {
                if (j < k) {
                  jcom <- jcom + 1
                  test[jcom, 3] <- abs(xbar[j] - xbar[k])/sqrt((J - 
                    1) * AOV$MSWG * (1/n[j] + 1/n[k]))
                  sejk <- sqrt((CC - 1) * AOV$MSWG * (1/n[j] + 
                    1/n[k]))
                  test[jcom, 5] <- sejk
                  psihat[jcom, 1] <- j
                  psihat[jcom, 2] <- k
                  test[jcom, 1] <- j
                  test[jcom, 2] <- k
                  psihat[jcom, 3] <- (xbar[j] - xbar[k])
                  psihat[jcom, 6] <- 1 - pf(test[jcom, 3], df1, 
                    df2)
                  crit = sqrt(qf(1 - alpha, df1, df2))
                  test[jcom, 4] <- crit
                  psihat[jcom, 4] <- (xbar[j] - xbar[k]) - crit * 
                    sejk
                  psihat[jcom, 5] <- (xbar[j] - xbar[k]) + crit * 
                    sejk
                }
            }
        }
    }
    if (sum(con^2) > 0) {
        if (nrow(con) != length(x)) {
            stop("The number of groups does not match the number of contrast coefficients.")
        }
        psihat <- matrix(0, ncol(con), 5)
        dimnames(psihat) <- list(NULL, c("con.num", "psihat", 
            "ci.lower", "ci.upper", "p.value"))
        test <- matrix(0, ncol(con), 4)
        dimnames(test) <- list(NULL, c("con.num", "test", "crit", 
            "se"))
        df1 <- nrow(con) - 1
        df2 = N - nrow(con)
        crit = sqrt(qf(1 - alpha, df1, df2))
        for (d in 1:ncol(con)) {
            psihat[d, 1] <- d
            psihat[d, 2] <- sum(con[, d] * xbar)
            sejk <- sqrt(df1 * AOV$MSWG * sum(con[, d]^2/n))
            test[d, 1] <- d
            test[d, 2] <- sum(con[, d] * xbar)/sejk
            test[d, 3] <- crit
            test[d, 4] <- sejk
            psihat[d, 3] <- psihat[d, 2] - crit * sejk
            psihat[d, 4] <- psihat[d, 2] + crit * sejk
            psihat[d, 5] <- (1 - pf(abs(test[d, 2]), df1, df2))
        }
    }
    list(n = n, test = test, psihat = psihat)
  }

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