concmv:

Usage Arguments Examples

Usage

1
concmv(n = 100, csteps = 5, gam = 0.4, outliers = TRUE, start = 2)

Arguments

n
csteps
gam
outliers
start

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
##---- 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 (n = 100, csteps = 5, gam = 0.4, outliers = TRUE, start = 2) 
{
    p <- 2
    x <- matrix(rnorm(n * p), ncol = p, nrow = n)
    A <- cbind(c(1, 0.4), c(0.4, 1))
    B <- cbind(c(0.5, 0), c(0, 0.5))
    if (outliers == T) {
        val <- floor(gam * n)
        x[(val + 1):n, ] <- x[(val + 1):n, ] %*% A
        x[1:val, ] <- x[1:val, ] %*% B
        x[1:val, 1] <- x[1:val, 1] + 0
        x[1:val, 2] <- x[1:val, 2] + 6
    }
    else {
        x <- x %*% A
    }
    if (start == 1) {
        covs <- var(x)
        mns <- apply(x, 2, mean)
    }
    if (start == 2) {
        covv <- diag(p)
        med <- apply(x, 2, median)
        md2 <- mahalanobis(x, center = med, covv)
        medd2 <- median(md2)
        mns <- apply(x[md2 <= medd2, ], 2, mean)
        covs <- var(x[md2 <= medd2, ])
    }
    if (start >= 2) {
        tem <- apply(x, 2, mad)^2
        covv <- diag(tem)
        med <- apply(x, 2, median)
        md2 <- mahalanobis(x, center = med, covv)
        medd2 <- median(md2)
        mns <- apply(x[md2 <= medd2, ], 2, mean)
        covs <- var(x[md2 <= medd2, ])
    }
    for (i in 1:csteps) {
        md2 <- mahalanobis(x, mns, covs)
        medd2 <- median(md2)
        mns <- apply(x[md2 <= medd2, ], 2, mean)
        covs <- var(x[md2 <= medd2, ])
        plot(x[, 1], x[, 2])
        points(x[md2 <= medd2, 1], x[md2 <= medd2, 2], pch = 15)
        identify(x[, 1], x[, 2])
    }
  }

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