ogk.pairwise:

Usage Arguments Examples

Usage

1
ogk.pairwise(X, n.iter = 1, sigmamu = taulc, v = gkcov, beta = 0.9, ...)

Arguments

X
n.iter
sigmamu
v
beta
...

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
##---- 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, n.iter = 1, sigmamu = taulc, v = gkcov, beta = 0.9, 
    ...) 
{
    data.name <- deparse(substitute(X))
    X <- as.matrix(X)
    n <- dim(X)[1]
    p <- dim(X)[2]
    Z <- X
    U <- diag(p)
    A <- list()
    for (iter in 1:n.iter) {
        d <- apply(Z, 2, sigmamu, ...)
        Z <- sweep(Z, 2, d, "/")
        for (i in 1:(p - 1)) {
            for (j in (i + 1):p) {
                U[j, i] <- U[i, j] <- v(Z[, i], Z[, j], ...)
            }
        }
        E <- eigen(U, symmetric = TRUE)$vectors
        A[[iter]] <- d * E
        Z <- Z %*% E
    }
    sqrt.gamma <- apply(Z, 2, sigmamu, mu.too = TRUE)
    center <- sqrt.gamma[1, ]
    sqrt.gamma <- sqrt.gamma[2, ]
    Z <- sweep(Z, 2, center)
    Z <- sweep(Z, 2, sqrt.gamma, "/")
    distances <- rowSums(Z^2)
    covmat <- diag(sqrt.gamma^2)
    for (iter in seq(n.iter, 1, -1)) {
        covmat <- A[[iter]] %*% covmat %*% t(A[[iter]])
        center <- A[[iter]] %*% center
    }
    center <- as.vector(center)
    weights <- hard.rejection(distances, p, beta = beta, ...)
    sweights <- sum(weights)
    wcenter <- colSums(sweep(X, 1, weights, "*"))/sweights
    Z <- sweep(X, 2, wcenter)
    Z <- sweep(Z, 1, sqrt(weights), "*")
    wcovmat <- (t(Z) %*% Z)/sweights
    list(center = center, covmat = covmat, wcenter = wcenter, 
        wcovmat = wcovmat, distances = distances, sigmamu = deparse(substitute(sigmamu)), 
        v = deparse(substitute(v)), data.name = data.name, data = X)
  }

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